เมื่อออกแบบฐานข้อมูลสำหรับร้านหนังสือ ตาราง 'หนังสือ' มี 1000 รายการ และตาราง 'ผู้เขียน' มี 500 รายการ โดยหนังสือ 1 เล่มสามารถมีผู้เขียนได้หลายคน และผู้เขียน 1 คนสามารถเขียนหนังสือได้หลายเล่ม ควรออกแบบความสัมพันธ์ระหว่างตารางทั้งสองอย่างไรจึงจะเหมาะสมที่สุด

สร้างตารางเชื่อม 'หนังสือ_ผู้เขียน' ที่มีคีย์นอกอ้างอิงทั้งรหัสหนังสือและรหัสผู้เขียน เพื่อรองรับความสัมพันธ์แบบ Many-to-Many
เพิ่มคอลัมน์รหัสผู้เขียนในตาราง 'หนังสือ' โดยใช้คอลัมน์เดียวเก็บรหัสผู้เขียนหลายคนคั่นด้วยเครื่องหมายจุลภาค
เพิ่มคอลัมน์รหัสหนังสือในตาราง 'ผู้เขียน' โดยอนุญาตให้มีแถวซ้ำกันสำหรับผู้เขียนที่มีหนังสือหลายเล่ม
รวมตาราง 'หนังสือ' และ 'ผู้เขียน' เข้าเป็นตารางเดียว โดยเก็บข้อมูลหนังสือและผู้เขียนไว้ในแถวเดียวกันเพื่อลดจำนวนตาราง

เฉลยอธิบาย

ความสัมพันธ์แบบ Many-to-Many (กลุ่มต่อกลุ่ม) ระหว่างหนังสือและผู้เขียน จำเป็นต้องสร้างตารางเชื่อม (Junction Table) เช่น 'หนังสือ_ผู้เขียน' ที่มีคีย์นอก (Foreign Key) อ้างอิงรหัสหนังสือและรหัสผู้เขียน วิธีนี้เป็นมาตรฐานการออกแบบฐานข้อมูลเชิงสัมพันธ์ที่ถูกต้อง ส่วนตัวเลือก B ละเมิดหลัก First Normal Form (1NF) ตัวเลือก C ทำให้เกิดข้อมูลซ้ำซ้อน และตัวเลือก D ทำให้ข้อมูลขาด Normalization และยากต่อการจัดการ

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

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