กรณีวิเคราะห์ฐานข้อมูล 5dbb3930289f1d7b0008f5197d2b54a3d8ed4c95060dba3e84499dbdc42d6a24: เมื่อปรับปรุงฐานข้อมูล ควรคำนึงถึงความถูกต้อง ความปลอดภัย และความสอดคล้องของ บริษัทจัดการโครงการต้องการจัดเก็บข้อมูลพนักงาน โครงการ และการมอบหมายงาน พนักงานหนึ่งคนสามารถทำงานในโครงการหลายโครงการได้ และโครงการหนึ่งมีพนักงานหลายคน ตารางที่ต้องสร้างเป็นอะไรบ้าง?
กสองตาราง: Employees กับ Projects โดยเพิ่ม EmployeeID ในตาราง Projects
ขสี่ตาราง: Employees, Projects, Assignments, ProjectAssignments
คสามตาราง: Employees, Projects, EmployeeProjects (Junction Table)
งตารางเดียว: EmployeeProjects ที่มีข้อมูลทั้งหมด
เฉลยอธิบาย
ความสัมพันธ์ Many-to-Many ต้องใช้ Junction Table (ตารางกลาง) เพื่อแยกความสัมพันธ์ออก ในกรณีนี้ EmployeeProjects เป็นตารางกลางที่มี Foreign Keys อ้างอิงถึง EmployeeID และ ProjectID ตัวเลือก A เพิ่มเติมเกินความจำเป็น (Assignments ไม่จำเป็น) ตัวเลือก B ไม่สามารถจัดการ Many-to-Many ได้ ตัวเลือก D ผิดเพราะจะเกิด Redundancy