Forth Normal Form (4 NF)

กฎการเป็น 4NF

  • เป็น 3NF
  • ห้ามมี Nontrivial Multivalued Dependency มากกว่า 1 ชุด

Nontrival Multivalued Dependency เมื่อ relation มีการบอกว่า

X ->> Y
ค่า X หนึ่งค่า กำหนด Y หลายค่า (X multidetermine Y)

X ->> Z
ค่า X หนึ่งค่า กำหนด Z หลายค่า (X multidetermine Z)

และ Y กับ​ Z เป็นอิสระต่อกัน

หากเอาไปเขียนใน ER จะแสดงเป็นรูปของ Multivalued Attribute (Weak Entity Type)

ตัวอย่าง

Employee(Emp_id, Proj_no, Dep_id)

โดยทุกตัวเป็น Key ทั้งหมด และ Emp_id ->> Proj_no และ Emp_id ->> Dep_id และ Proj_no กับ Dep_id เป็นอิสระต่อกัน

จึงบอกได้ว่า ไม่เป็น 4NF

การแก้ไข

จะต้องแตกตาราง Employee มาเป็น 2 Schema

Emp_Proj(Emp_id, Proj_no)
Emp_Dep(Emp_id, Dep_id)

ทำให้ตารางน้ีไม่มี Nontrival Multivalued Dependency แล้ว (มี Trivial Multivalued Dependency แทน)