MVD, 4NF, and 5NF in DBMS: Definitions and Worked Examples

MVD, 4NF, and 5NF in DBMS: Definitions and Worked Examples

Verified Sources
Sep 12, 2026

A multivalued dependency (MVD) is a constraint stronger than a functional dependency that captures “independent sets of values” for attributes related to the same determinant. In relational DBMS design, MVDs are central to Fourth Normal Form (4NF) and (more generally) to Fifth Normal Form (5NF).

Key notions

  • [Multivalued Dependency (MVD)]{def="A dependency XtwoheadrightarrowYX \\twoheadrightarrow Y meaning tuples agree on XX have independent YY choices"}
  • Fourth Normal Form (4NF)
  • Fifth Normal Form (5NF)
  • Join Dependency (JD)

Important limitation: I attempted to use required web research tools, but the web search service returned plan/usage errors. As a result, I cannot include the mandatory external citations for every major claim. If you can enable/upgrade web access, I will regenerate this section with full … citations.

Footnotes

  1. Source unavailable: web search tool returned a usage/plan error, so citations could not be retrieved. Please enable web access to regenerate with proper references.

Multivalued Dependencies & 4NF (conceptual walkthrough)

Defining MVD in a DBMS context

Let RR be a relation with attribute sets partitioned as R=XYZR = X \cup Y \cup Z (disjoint sets).
An MVD XYX \twoheadrightarrow Y holds if for any two tuples t1,t2Rt_1, t_2 \in R such that:

  • t1[X]=t2[X]t_1[X] = t_2[X]

then tuples exist (in RR) that combine the YY-values from one tuple with the ZZ-values from the other, while keeping the XX value the same. Formally, for each xx fixed by XX, the YY and ZZ components behave like two independent choices.

Intuition: “separately stored choices”

MVDs arise when a single entity (identified by XX) can be associated with multiple values of YY and multiple values of ZZ, and the pairings between YY and ZZ are not constrained beyond XX.

How to recognize an MVD pattern from data

  1. 1
    Step 1

    Pick a value of XX (e.g., one student, one department, one order).

  2. 2
    Step 2

    List all distinct YY values that appear with this same XX.

  3. 3
    Step 3

    List all distinct ZZ values that appear with this same XX.

  4. 4
    Step 4

    Look for evidence that combinations of YY and ZZ that share the same XX are possible (at least in the closure).

  5. 5
    Step 5

    If YY is uniquely determined by XX, then it’s FD; if multiple YY appear but still combine freely with ZZ, that suggests an MVD.

Example: MVD in a schema (and why 4NF matters)

Schema

Consider relation:

  • R(Student,Course,Instructor)R(\text{Student}, \text{Course}, \text{Instructor})

Interpretation:

  • Each student may take multiple courses.
  • Each course has a single instructor (or instructors might be modeled separately, but we’ll focus on the independence pattern).
  • Crucially, suppose the database semantics is:

For a given student, the set of courses and the set of instructors are independent choices; the relation records them but does not constrain which instructor goes with which course for the same student beyond the student identity.

Instance exhibiting an MVD

Let S=StudentS = \text{Student}, C=CourseC = \text{Course}, I=InstructorI = \text{Instructor}.

Assume the relation instance is:

StudentCourseInstructor
AliceDBDr. Lee
AliceDBDr. Kim
AliceAIDr. Lee
AliceAIDr. Kim

Here, for Alice (fixed StudentStudent):

  • CourseCourse values are {DB,AI}\{DB, AI\}
  • InstructorInstructor values are {Dr.Lee,Dr.Kim}\{Dr.\,Lee, Dr.\,Kim\}
  • and the table contains the cross-product of these sets.

This is consistent with an MVD:

  • StudentCourseStudent \twoheadrightarrow Course
  • and also StudentInstructorStudent \twoheadrightarrow Instructor

More precisely, if we split attributes as R(Student,Course,Instructor)R(Student, Course, Instructor):

  • X=StudentX = Student
  • Y=CourseY = Course
  • Z=InstructorZ = Instructor

Then StudentCourseStudent \twoheadrightarrow Course means: for each fixed student, the courses can pair independently with instructors; similarly, StudentInstructorStudent \twoheadrightarrow Instructor.

Where it comes from

If the intended model is:

  • StudentStudent determines the set of courses chosen
  • StudentStudent also determines the set of instructors involved
  • but the relation does not enforce a restriction tying a particular course to a particular instructor instance at the tuple level,

then the data should be representable without spurious coupling—this is exactly what MVDs capture.

MVD vs FD

If XYX \to Y (FD), then YY has at most one value per XX. If XYX \twoheadrightarrow Y (MVD), then YY may have multiple values per XX, and those values can combine independently with another attribute set (the ZZ side).

Fourth Normal Form (4NF)

Definition

A relation RR is in 4NF if, for every nontrivial multivalued dependency XYX \twoheadrightarrow Y that holds in RR, the determinant XX is a superkey of RR.

  • Superkey
  • Nontrivial MVD

Why 4NF exists

4NF removes redundant multivalued combinations that can cause update anomalies. If an MVD exists where the determinant is not a superkey, then the relation likely should be decomposed to separate independent value sets.

Using 4NF to detect when decomposition is needed

  1. 1
    Step 1

    Look for XYX \twoheadrightarrow Y patterns (often from semantics or observed cross-products).

  2. 2
    Step 2

    If YXY \subseteq X or decomposition side is empty/trivial, it doesn’t trigger 4NF.

  3. 3
    Step 3

    Determine whether XX is a superkey of RR.

  4. 4
    Step 4

    Replace RR by projections capturing the independent parts, e.g., R1(X,Y)R_1(X,Y) and R2(X,Z)R_2(X,Z).

  5. 5
    Step 5

    Ensure the decomposition is lossless with respect to the MVD (so no information is lost).

4NF with the running example

For R(Student,Course,Instructor)R(Student, Course, Instructor), suppose we believe:

  • StudentCourseStudent \twoheadrightarrow Course
  • StudentInstructorStudent \twoheadrightarrow Instructor
  • and StudentStudent is not a superkey of RR (many students exist, so Student alone doesn’t uniquely identify tuples).

Then the relation violates 4NF due to a nontrivial MVD whose determinant is not a superkey.

Typical 4NF decomposition

Decompose into:

  1. R1(Student,Course)R_1(Student, Course)
  2. R2(Student,Instructor)R_2(Student, Instructor)

This removes the artificial coupling between course and instructor pairs and allows independent updates.

Update anomalies from non-4NF

If a relation violates 4NF, inserting/updating one independent value set may require unintended changes to the other (or you may get inconsistent duplicates).

Fifth Normal Form (5NF / PJNF)

Where 4NF stops

Even if a relation is in 4NF (no problematic nontrivial MVDs), it can still suffer from join anomalies due to more complex constraints: not just MVDs, but join dependencies involving 3+ components.

5NF intuition

A relation in 5NF should not contain information that can only be reconstructed by joining multiple projections in a way that causes ambiguity/loss unless the join is implied by keys.

  • Projection
  • Lossless join
  • Project-Join Normal Form (PJNF)

Definition (conceptual)

A relation RR is in 5NF if every nontrivial join dependency that holds in RR is implied by the keys of RR (i.e., the decomposition is justified by key constraints, not by accidental structure).

From dependencies to normal forms

Functional constraints

FDs (1NF/2NF/3NF context)

FDs eliminate partial/transitive redundancy; focus is on single-value determination."

Independence constraints

MVDs (4NF)

Eliminate nontrivial MVDs where the determinant isn’t a superkey; decompose independent sets."

Complex reconstruction constraints

JDs (5NF)

Eliminate join dependencies not explained by keys; decompose to avoid join anomalies."

5NF example sketch (join dependency idea)

A classic pattern: a relation can be decomposed into several projections whose join recreates the original tuples, but no two-way (FD/MVD) constraint fully explains the structure. In such cases, only a higher-order join dependency reveals the true independence.

While an explicit full numeric instance requires careful setup, the key takeaway for DBMS design is:

  • 4NF addresses redundancy caused by multivalued independence (XtwoheadrightarrowYX \\twoheadrightarrow Y).
  • 5NF addresses redundancy caused by multi-part (3+ way) join structure (join dependencies).

Common edge cases and clarifications

Knowledge Check

Question 1 of 4
Q1Single choice

In a relation R(X,Y,Z)R(X, Y, Z), what does the multivalued dependency XYX \twoheadrightarrow Y capture?