ตารางพนักงานมีข้อมูล EmployeeID Name Department DepartmentPhone ข้อมูลนี้ไม่อยู่ใน 3NF เพราะเหตุใด และควรจัดการอย่างไร

เพราะจำนวนพนักงานเยอะเกินไป ต้องแบ่งเป็นหลายตาราง
เพราะต้องเก็บข้อมูล Name ให้แยกเป็น FirstName และ LastName ในแอตทริบิวต์ต่างหาก
เพราะ DepartmentPhone ขึ้นต่อ Department ไม่ใช่ EmployeeID โดยตรง ควรแยก Department ออกเป็นตารางอย่างอิสระ
เพราะตารางนี้อยู่ใน 1NF เท่านั้น ต้องแปลงมาเป็น 3NF ทั้งหมด

เฉลยอธิบาย

ตารางนี้มีปัญหา Transitive Dependency: EmployeeID → Department → DepartmentPhone หมายความว่า DepartmentPhone ขึ้นต่อ Department ไม่ใช่ EmployeeID โดยตรง เพื่อให้เป็น 3NF ควรแยก Department ออกเป็นตารางอย่างอิสระ โดยตาราง Department มี DepartmentID, DepartmentName, DepartmentPhone และตาราง Employee มี EmployeeID, Name, DepartmentID เป็น Foreign Key ตัวเลือก A, B, D ไม่ใช่เหตุผลหลัก

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

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