บ้านพักของบริษัทหนึ่งต้องบันทึกข้อมูลแขก ห้องพัก และการจอง หากห้องจำนวนมากอาจถูกจองหลายครั้ง และแขกหนึ่งคนสามารถจองห้องได้หลายครั้ง ตารางการจองควรมี Primary Key เป็นอะไร
กGuestID
ขGuestID + RoomID (Composite Key)
คRoomID
งBookingID (สร้างเป็น Surrogate Key)
เฉลยอธิบาย
ตารางการจองควรมี Primary Key เป็น BookingID ที่เป็น Surrogate Key (เลขประจำตัวเพิ่มขึ้นอัตโนมัติ) เพราะการจองครั้งหนึ่งเป็นเหตุการณ์เฉพาะที่มี DateTime เฉพาะ และแขกคนเดียวสามารถจองห้องเดียวกันได้หลายครั้ง (วันต่างกัน) ตัวเลือก A และ B ไม่ใช่ Unique ตัวเลือก D (Composite Key) อาจไม่ได้ผลเพราะแขกคนเดียวสามารถจองห้องเดียวกันได้หลายครั้ง