Redukcja redundancji danych
Poprzedni pracownik Administracji Małych Przedsiębiorstw stworzył wstępną wersję bazy danych. Informacje o lokalizacji są używane w całej bazie danych – dla pożyczkobiorców, banków i projektów. Każda z odpowiadających im tabel zawiera kolumny city, state i zip_code, co prowadzi do powielania danych. Twoim zadaniem jest znormalizowanie tych danych lokalizacyjnych. Wykorzystasz swoją wiedzę o normalizacji danych w praktyce, tworząc tabelę place, która skonsoliduje informacje o lokalizacji.
To ćwiczenie jest częścią kursu
Tworzenie baz danych w PostgreSQL
Instrukcje do ćwiczenia
- Utwórz tabelę
place, w którejzip_codebędzie pięcioznakowym kluczem (PRIMARY KEYtypuCHAR),citybędzie kolumną tekstową o długości do 50 znaków, astatebędzie kolumną dwuznakową. - Usuń kolumny
city,stateizip_codez definicji tabeliborrower, kasując odpowiadający im kod SQL. - Dodaj do tabeli
borrowerkolumnę o nazwieplace_id(klucz obcy), która odwołuje się do kolumnyzip_codetabeliplace.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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
___ ___(___) ___ ___(___)
);