Reducerea redundanței datelor
Un fost angajat al Administrației pentru Afaceri Mici a dezvoltat o versiune inițială a bazei de date. Informațiile despre locație sunt utilizate în întreaga bază de date pentru împrumutați, bănci și proiecte. Fiecare dintre tabelele corespunzătoare acestor entități folosește coloanele city, state și zip_code, ceea ce generează date redundante. Responsabilitatea ta este să normalizezi aceste date de locație. Vei avea ocazia să îți pui în practică cunoștințele de normalizare a datelor, creând un tabel place pentru a consolida informațiile de locație.
Acest exercițiu face parte din cursul
Crearea bazelor de date PostgreSQL
Instrucțiuni pentru exercițiu
- Creează tabelul
placecuzip_codecaPRIMARY KEYde tip text cu exact cinci caractere,cityca tip text cu până la 50 de caractere șistateca o coloană de două caractere. - Elimină coloanele
city,stateșizip_codedin definiția tabeluluiborrowerprin ștergerea codului SQL care le definește. - Adaugă o coloană numită
place_id(cheie externă) în tabelulborrower, care face referire la coloanazip_codedin tabelulplace.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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
___ ___(___) ___ ___(___)
);