Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz tabelę place, w której zip_code będzie pięcioznakowym kluczem (PRIMARY KEY typu CHAR), city będzie kolumną tekstową o długości do 50 znaków, a state będzie kolumną dwuznakową.
  • Usuń kolumny city, state i zip_code z definicji tabeli borrower, kasując odpowiadający im kod SQL.
  • Dodaj do tabeli borrower kolumnę o nazwie place_id (klucz obcy), która odwołuje się do kolumny zip_code tabeli place.

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
  ___ ___(___) ___ ___(___)
);
Edytuj i uruchom kod