บ้านพักของบริษัทหนึ่งต้องบันทึกข้อมูลแขก ห้องพัก และการจอง หากห้องจำนวนมากอาจถูกจองหลายครั้ง และแขกหนึ่งคนสามารถจองห้องได้หลายครั้ง ตารางการจองควรมี Primary Key เป็นอะไร

GuestID
GuestID + RoomID (Composite Key)
RoomID
BookingID (สร้างเป็น Surrogate Key)

เฉลยอธิบาย

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

ข้อสอบอื่นในวิชาความรู้ความสามารถในการวิเคราะห์ ออกแบบ ฐานข้อมูล

ดูข้อสอบวิชานี้ทั้งหมด →