ตารางพนักงานมีข้อมูล 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 ไม่ใช่เหตุผลหลัก