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

การเพิ่ม foreign key

การอ้างอิง foreign key เป็นสิ่งสำคัญทั้งใน snowflake schema และ star schema เมื่อสร้าง schema เหล่านี้ การกำหนด foreign key ให้ถูกต้องถือเป็นเรื่องสำคัญมาก เพราะ foreign key ทำหน้าที่เชื่อมตาราง dimension เข้ากับตาราง fact นอกจากนี้ยังบังคับใช้ความสัมพันธ์แบบ one-to-many ด้วย เนื่องจาก foreign key สามารถปรากฏได้มากกว่าหนึ่งครั้งในตาราง ในขณะที่ primary key ปรากฏได้เพียงครั้งเดียวเท่านั้น

ตาราง fact_booksales มี foreign key สามตัว ได้แก่ book_id, time_id และ store_id ในแบบฝึกหัดนี้ ตารางทั้งสี่ที่ประกอบกันเป็น star schema ด้านล่างได้ถูกโหลดเข้ามาแล้ว แต่ยังต้องเพิ่ม foreign key ให้ครบ

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

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

ดูคอร์ส

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

  • ในข้อกำหนด (constraint) ชื่อ sales_book ให้กำหนด book_id เป็น foreign key
  • ในข้อกำหนด (constraint) ชื่อ sales_time ให้กำหนด time_id เป็น foreign key
  • ในข้อกำหนด (constraint) ชื่อ sales_store ให้กำหนด store_id เป็น foreign key

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

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

-- Add the book_id foreign key
ALTER TABLE ___ ADD CONSTRAINT sales_book
    FOREIGN KEY (___) REFERENCES ___ (___);
    
-- Add the time_id foreign key
ALTER TABLE ___ ___ ___ ___
    ___ ___ (___) REFERENCES ___ (___);
    
-- Add the store_id foreign key
___ ___ ___ ___ ___ ___
    ___ ___ (___) ___ ___ (___);
แก้ไขและรันโค้ด