What is the difference between 4NF and 5NF?

Answer

4NF (Fourth Normal Form) requires a table to be in BCNF and have no non-trivial multi-valued dependencies. A multi-valued dependency X →→ Y exists when X determines a set of Y values independently of other attributes. Example: if Employee can have multiple skills and multiple languages independently, storing them in one table creates spurious combinations. Fix: separate into EmployeeSkill and EmployeeLanguage. 5NF (Fifth Normal Form / PJNF) addresses join dependencies — a table is in 5NF if every join dependency is implied by candidate keys. A violation means a table cannot be reconstructed from its projections without spurious rows. 4NF and 5NF violations are rare in practice and complex to identify — most designs stop at BCNF or 3NF.