4NF (Fourth Normal Form) is a normalization level that deals with multivalued dependencies (MVDs). A relation is in 4NF if it is already in BCNF and has no non‑trivial multivalued dependencies except those implied by candidate keys.

4NF is used when a table stores multiple independent sets of values for a single key, which can cause redundancy even if the table is in BCNF.

What Is a Multivalued Dependency?

A multivalued dependency XYX \twoheadrightarrow Y means that for a given value of XX, there are multiple independent values of YY.

Example:
In a TEACHING table:

  • Course_ID, Professor_Name, Textbook

If a course can have multiple professors and multiple textbooks, and these two lists are independent of each other, there are multivalued dependencies:

  • Course_ID \twoheadrightarrow Professor_Name

  • Course_ID \twoheadrightarrow Textbook

Problems in Non‑4NF Tables

Without 4NF, inserting, updating, or deleting records becomes messy:

  • To add a new professor for a course, you must repeat all combinations with existing textbooks.

  • To add a new textbook, you must repeat all combinations with existing professors.

  • This creates lot of redundant rows and anomalies.

How to Achieve 4NF

To bring a table into 4NF:

  1. Identify multivalued dependencies that are not caused by a key.

  2. Decompose the table so that each MVD is isolated in its own table.

Using the TEACHING example:

  • Original table (BCNF but not 4NF):

    Course_IDProfessor_NameTextbook
    C101Dr. ABook1
    C101Dr. ABook2
    C101Dr. BBook1
    C101Dr. BBook2
    Here, for each course, every professor is paired with every textbook—redundancy due to MVDs.

  1. Split into:

    • COURSE_TEXT(Course_ID, Textbook)

    • COURSE_PROF(Course_ID, Professor_Name)

Now each table has only one multivalued attribute per key, and the design is in 4NF.

Why 4NF Matters?

  • It removes redundancy caused by independent multiple values (like multiple professors and multiple textbooks for the same course).

  • It improves data integrity and makes inserts and deletes more straightforward.

  • 4NF is used in advanced database designs where such multi‑valued relationships are common.

Summary

4NF in DBMS requires that a table in BCNF must not have non‑trivial multivalued dependencies except those implied by candidate keys. By splitting tables that store multiple independent sets of values, 4NF eliminates extra redundancy and improves the cleanliness of the schema. For beginners, 4NF shows how to handle situations where a single entity is associated with several independent repeating lists.