Ridurre la ridondanza dei dati
Un ex dipendente della Small Business Administration ha sviluppato una versione iniziale del database. Le informazioni sulla posizione sono utilizzate in tutto il database per richiedenti, banche e progetti. Ciascuna delle tabelle corrispondenti a queste entità utilizza le colonne city, state e zip_code, creando dati ridondanti. Sta a te normalizzare questi dati di localizzazione. Avrai l'opportunità di mettere in pratica le tue conoscenze di normalizzazione creando una tabella place per accorpare i dati di localizzazione.
Questo esercizio fa parte del corso
Creare database PostgreSQL
Istruzioni dell'esercizio
- Crea la tabella
placeconzip_codecomePRIMARY KEYdi cinque caratteri,citycome tipo testuale con fino a 50 caratteri estatecome colonna di due caratteri. - Rimuovi le colonne
city,stateezip_codedalla definizione della tabellaborrowereliminando il codice SQL che definisce le colonne. - Aggiungi una colonna chiamata
place_id(chiave esterna) alla tabellaborrowerche fa riferimento alla colonnazip_codedella tabellaplace.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- Create the place table
___ ___ ___ (
-- Define zip_code column
___ ___(___) ___ KEY,
-- Define city column
___ ___(___) NOT NULL,
-- Define state column
___ ___(___) NOT NULL
);
CREATE TABLE borrower (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
approved BOOLEAN DEFAULT NULL,
-- Remove zip_code column (defined below)
zip_code CHAR(5) NOT NULL,
-- Remove city column (defined below)
city VARCHAR(50) NOT NULL,
-- Remove state column (defined below)
state CHAR(2) NOT NULL,
-- Add column referencing place table
___ ___(___) ___ ___(___)
);