บริษัทพัฒนาแอปประเมินผลงานพนักงาน พนักงานหนึ่งคนสามารถประเมินพนักงานอื่นได้ และพนักงานหนึ่งคนสามารถถูกประเมินได้จากหลายคน ควรออกแบบตาราง Evaluation อย่างไร

Evaluation (EvaluationID PK, EvaluatorID FK อ้างอิง Employee, EvaluateeID FK อ้างอิง Employee, Score, Comments, EvalDate)
Evaluation (EvaluationID PK, EmployeeID FK, Score, Comments, EvalDate)
Employee (EmployeeID PK, Name, EvaluatorList, EvaluateeList)
Evaluation (EvaluationID PK, EvaluatorName, EvaluateeName, Score)

เฉลยอธิบาย

ความสัมพันธ์นี้เป็น Self-Referencing Many-to-Many บนตาราง Employee เดียวกัน ตาราง Evaluation ต้องมี FK สองตัว (EvaluatorID และ EvaluateeID) ที่อ้างอิงไปยัง Employee.EmployeeID ทั้งคู่ ตัวเลือก B มี FK เดียวไม่สามารถแยกบทบาทผู้ประเมินและผู้ถูกประเมิน ตัวเลือก C ละเมิด 1NF ตัวเลือก D เก็บชื่อแทน FK ทำให้ข้อมูลไม่สมบูรณ์

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

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