擴充 snowflake 綱要
公司正在考慮把業務擴大到加拿大與美國以外的地區,特別是擴展到新的洲別。為了事先準備,你決定在儲存門市地址時需要一個 continent 欄位。
所幸在本情境中你採用的是 snowflake 綱要。就像影片所說,snowflake 綱要在維持資料一致性的同時,通常更容易擴充。除了 dim_country_sf 外,還已載入一個名為 dim_continent_sf 的資料表。它包含目前唯一需要的洲別 North America,以及一個主鍵。在本練習中,你需要擴充 dim_country_sf,讓它參照 dim_continent_sf。
本練習屬於課程
資料庫設計
練習說明
- 在
dim_country_sf中新增continent_id欄位,預設值為 1。注意,NOT NULL DEFAULT(1)會限制值不可為 null,並將其預設為1。 - 將這個新欄位設為參照
dim_continent_sf的continent_id的外鍵。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- 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;