พิจารณาตาราง Order ที่มีคอลัมน์ดังนี้: OrderID (PK), ProductID, ProductName, ProductCategory, CustomerID, CustomerName, OrderDate, Quantity ตารางนี้มีปัญหาด้าน Normalization ใดบ้าง

ตารางนี้ละเมิดเฉพาะ 1NF เพราะมีข้อมูลหลายประเภทในตารางเดียวกัน
ตารางนี้ไม่มีปัญหาใดๆ เพราะมี Primary Key ครบถ้วน
ตารางนี้ละเมิด 3NF เท่านั้น เพราะมี Transitive Dependency ระหว่าง ProductName และ ProductCategory
ตารางนี้ละเมิด 2NF เพราะ ProductName และ ProductCategory ขึ้นอยู่กับ ProductID ไม่ใช่ OrderID และ CustomerName ขึ้นอยู่กับ CustomerID ไม่ใช่ OrderID

เฉลยอธิบาย

ตารางนี้ละเมิด 2NF เนื่องจาก ProductName และ ProductCategory ขึ้นอยู่กับ ProductID (ไม่ใช่ OrderID ที่เป็น Primary Key) และ CustomerName ขึ้นอยู่กับ CustomerID (ไม่ใช่ OrderID) ซึ่งเรียกว่า Partial Dependency การแก้ไขคือแยกออกเป็นตาราง Product (ProductID, ProductName, ProductCategory) และตาราง Customer (CustomerID, CustomerName) แล้วใช้ Foreign Key แทน ตัวเลือก A ผิดเพราะมีปัญหาชัดเจน ตัวเลือก C ผิดเพราะ 1NF ยังคงครบถ้วน ตัวเลือก D ผิดเพราะปัญหาหลักคือ Partial Dependency ซึ่งเป็นปัญหา 2NF

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

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