ลูกค้าหนึ่งคนสั่งเมนูได้หลายรายการ และเมนูหนึ่งรายการถูกสั่งโดยลูกค้าได้หลายคน ควรออกแบบความสัมพันธ์นี้อย่างไร?
กเก็บรหัสของอีกฝ่ายเป็นข้อความคั่นด้วยจุลภาคในคอลัมน์เดียวของแต่ละแถว
ขคัดลอกข้อมูลเต็มของทั้งสองฝ่ายมาเก็บซ้ำในทุกแถวที่เกิดความสัมพันธ์
คสร้างตารางเชื่อมที่เก็บคีย์นอกของทั้งสองฝ่ายและข้อมูลของความสัมพันธ์
งเพิ่มรายการของอีกฝ่ายเป็นหลายคอลัมน์ซ้ำกันในตารางหลักตารางใดตารางหนึ่ง
เฉลยอธิบาย
ความสัมพันธ์หลายต่อหลายแทนด้วยตารางที่สามซึ่งแบ่งเป็นสองความสัมพันธ์หนึ่งต่อหลาย ดังนั้นคำตอบที่เหมาะที่สุดคือ “สร้างตารางเชื่อมที่เก็บคีย์นอกของทั้งสองฝ่ายและข้อมูลของความสัมพันธ์” ส่วนตัวลวงที่ใกล้เคียงที่สุดไม่ผ่านเพราะ คอลัมน์ซ้ำมีจำนวนไม่แน่นอนและไม่สร้างความสัมพันธ์เชิงสัมพันธ์ที่เหมาะสม