เมื่อเปรียบเทียบ BCNF (Boyce-Codd Normal Form) กับ 3NF ข้อใดอธิบายความแตกต่างได้ถูกต้องที่สุด

BCNF ใช้ได้เฉพาะกับตารางที่มีคอลัมน์มากกว่า 5 คอลัมน์เท่านั้น
BCNF กำหนดว่าทุก Functional Dependency X→Y ที่ไม่ Trivial นั้น X ต้องเป็น Superkey เสมอ ซึ่งเข้มงวดกว่า 3NF ที่ยอมรับให้ Y เป็น Prime Attribute ได้
BCNF เหมือนกับ 3NF ทุกประการ แต่เพิ่มเงื่อนไขว่าห้ามมี NULL ในคอลัมน์ใดๆ
3NF เข้มงวดกว่า BCNF เพราะ 3NF ไม่ยอมรับ Transitive Dependency ใดๆ เลย

เฉลยอธิบาย

BCNF เป็นการพัฒนาต่อจาก 3NF กำหนดว่าสำหรับทุก Functional Dependency ที่ไม่ Trivial (X→Y) X ต้องเป็น Superkey ต่างจาก 3NF ที่ยอมให้ Y เป็น Prime Attribute (ส่วนหนึ่งของ Candidate Key) ได้ จึงทำให้ BCNF เข้มงวดกว่า 3NF แต่อาจสูญเสีย Dependency Preservation ตัวเลือก A ผิดทั้งหมด ตัวเลือก C สลับกัน ตัวเลือก D ไม่เกี่ยวกับจำนวนคอลัมน์

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

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