Aan de slagGa gratis aan de slag

Dataduplicatie verminderen

Een voormalig medewerker van de Small Business Administration heeft een eerste versie van de database ontwikkeld. Locatie-informatie wordt in de hele database gebruikt voor leners, banken en projecten. In elk van de bijbehorende tabellen voor deze entiteiten komen de kolommen city, state en zip_code terug, wat leidt tot redundante data. Jij bent verantwoordelijk voor het normaliseren van deze locatiegegevens. Je gaat je kennis van normalisatie toepassen door een place-tabel te maken om locatiegegevens te consolideren.

Deze oefening maakt deel uit van de cursus

PostgreSQL-databases maken

Cursus bekijken

Oefeninstructies

  • Maak de place-tabel met zip_code als vijf-teken PRIMARY KEY, city als een teksttype met maximaal 50 tekens, en state als een kolom van twee tekens.
  • Verwijder de kolommen city, state en zip_code uit de definitie van de tabel borrower door de SQL-code die de kolommen definieert te verwijderen.
  • Voeg een kolom place_id (een vreemde sleutel) toe aan de tabel borrower die verwijst naar de kolom zip_code van de tabel place.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- 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
  ___ ___(___) ___ ___(___)
);
Code bewerken en uitvoeren