บริษัทขายโอนทะเบียนรถยนต์มีลูกค้า พนักงาน และเอกสารการขาย กรณีวิเคราะห์ออกแบบ หากลูกค้าหนึ่งคนสามารถกำหนดให้พนักงานหลายคนดำเนินการได้ และพนักงานหนึ่งคนสามารถดำเนินการให้ลูกค้าหลายคนได้ ความสัมพันธ์นี้ควรออกแบบอย่างไร
กใส่ EmployeeID ในตาราง Customers โดยตั้งค่า UNIQUE
ขใส่ CustomerID ในตาราง Employees โดยใช้ One-to-Many
คสร้างตารางแยกสำหรับแต่ละลูกค้า โดยระบุพนักงานที่ดำเนินการ
งสร้างตาราง Assignments เป็นตารางกลาง (Junction Table) เชื่อมระหว่าง Customers และ Employees โดยมี Many-to-Many ความสัมพันธ์
เฉลยอธิบาย
ความสัมพันธ์ Many-to-Many ที่ลูกค้าหนึ่งคนสามารถสัมพันธ์กับพนักงานหลายคน และพนักงานหนึ่งคนสามารถสัมพันธ์กับลูกค้าหลายคน ต้องใช้ตารางกลาง (Junction Table) เช่น Assignments โดยเก็บ CustomerID และ EmployeeID รวมถึงข้อมูลเพิ่มเติม ตัวเลือก B, C ผิดเพราะจะไม่สามารถแสดง Many-to-Many ได้อย่างถูกต้อง ตัวเลือก D ผิดเพราะไม่มีประสิทธิภาพและเกิด Redundancy