Aan de slagGa gratis aan de slag

Het snowflake-schema uitbreiden

Het bedrijf overweegt uit te breiden buiten boekwinkels in Canada en de VS. Ze willen vooral uitbreiden naar een nieuw continent. Ter voorbereiding besluit je dat er een continent-veld nodig is bij het opslaan van de adressen van winkels.

Gelukkig heb je in dit scenario een snowflake-schema. Zoals we in de video bespraken, is het snowflake-schema meestal sneller uit te breiden terwijl de dataconsistentie behouden blijft. Naast dim_country_sf is er een tabel dim_continent_sf geladen. Deze bevat het enige momenteel benodigde continent, North America, en een primaire sleutel. In deze oefening breid je dim_country_sf uit zodat het verwijst naar dim_continent_sf.

Deze oefening maakt deel uit van de cursus

Databaseontwerp

Cursus bekijken

Oefeninstructies

  • Voeg een kolom continent_id toe aan dim_country_sf met als standaardwaarde 1. Let op dat NOT NULL DEFAULT(1) afdwingt dat de waarde niet null mag zijn en standaard op 1 wordt gezet.
  • Maak van die nieuwe kolom een foreign-keyverwijzing naar de continent_id van dim_continent_sf.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- Add a continent_id column with default value of 1
ALTER TABLE ___
ADD ___ int NOT NULL DEFAULT(1);

-- Add the foreign key constraint
ALTER TABLE ___ ADD CONSTRAINT country_continent
   FOREIGN KEY (___) REFERENCES ___(___);
   
-- Output updated table
SELECT * FROM dim_country_sf;
Code bewerken en uitvoeren