เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ขยาย Snowflake Schema

บริษัทกำลังพิจารณาขยายธุรกิจร้านหนังสือออกไปนอกเหนือจากแคนาดาและสหรัฐอเมริกา โดยเฉพาะอย่างยิ่ง ต้องการขยายไปยังทวีปใหม่ เพื่อเตรียมพร้อมสำหรับสิ่งนี้ คุณจึงตัดสินใจว่าควรเพิ่มฟิลด์ continent สำหรับเก็บที่อยู่ของร้านค้า

โชคดีที่ในสถานการณ์นี้มี snowflake schema อยู่แล้ว ดังที่ได้กล่าวถึงในวิดีโอ snowflake schema ช่วยให้ขยายโครงสร้างได้รวดเร็วกว่า พร้อมทั้งรักษาความสอดคล้องของข้อมูล นอกจาก dim_country_sf แล้ว ยังมีตารางชื่อ dim_continent_sf ที่โหลดมาให้ด้วย ตารางนี้บรรจุข้อมูลทวีปที่จำเป็นในตอนนี้ คือ North America พร้อม primary key ในแบบฝึกหัดนี้ คุณจะต้องขยายตาราง dim_country_sf ให้อ้างอิงไปยัง dim_continent_sf

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การออกแบบฐานข้อมูล

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่มคอลัมน์ continent_id ลงในตาราง dim_country_sf โดยกำหนดค่าเริ่มต้นเป็น 1 โปรดทราบว่า NOT NULL DEFAULT(1) จะป้องกันไม่ให้ค่าเป็น null และกำหนดค่าเริ่มต้นให้เป็น 1
  • กำหนดให้คอลัมน์ใหม่นั้นเป็น foreign key ที่อ้างอิงไปยัง continent_id ของ dim_continent_sf

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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;
แก้ไขและรันโค้ด