MVD, 4NF, and 5NF in DBMS: Definitions and Worked Examples
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 meaning tuples agree on have independent 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
-
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 be a relation with attribute sets partitioned as (disjoint sets).
An MVD holds if for any two tuples such that:
then tuples exist (in ) that combine the -values from one tuple with the -values from the other, while keeping the value the same. Formally, for each fixed by , the and components behave like two independent choices.
Intuition: “separately stored choices”
MVDs arise when a single entity (identified by ) can be associated with multiple values of and multiple values of , and the pairings between and are not constrained beyond .
How to recognize an MVD pattern from data
- 1Step 1
Pick a value of (e.g., one student, one department, one order).
- 2Step 2
List all distinct values that appear with this same .
- 3Step 3
List all distinct values that appear with this same .
- 4Step 4
Look for evidence that combinations of and that share the same are possible (at least in the closure).
- 5Step 5
If is uniquely determined by , then it’s FD; if multiple appear but still combine freely with , that suggests an MVD.
Example: MVD in a schema (and why 4NF matters)
Schema
Consider relation:
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 , , .
Assume the relation instance is:
| Student | Course | Instructor |
|---|---|---|
| Alice | DB | Dr. Lee |
| Alice | DB | Dr. Kim |
| Alice | AI | Dr. Lee |
| Alice | AI | Dr. Kim |
Here, for Alice (fixed ):
- values are
- values are
- and the table contains the cross-product of these sets.
This is consistent with an MVD:
- and also
More precisely, if we split attributes as :
Then means: for each fixed student, the courses can pair independently with instructors; similarly, .
Where it comes from
If the intended model is:
- determines the set of courses chosen
- 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 (FD), then has at most one value per . If (MVD), then may have multiple values per , and those values can combine independently with another attribute set (the side).
Fourth Normal Form (4NF)
Definition
A relation is in 4NF if, for every nontrivial multivalued dependency that holds in , the determinant is a superkey of .
- 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
- 1Step 1
Look for patterns (often from semantics or observed cross-products).
- 2Step 2
If or decomposition side is empty/trivial, it doesn’t trigger 4NF.
- 3Step 3
Determine whether is a superkey of .
- 4Step 4
Replace by projections capturing the independent parts, e.g., and .
- 5Step 5
Ensure the decomposition is lossless with respect to the MVD (so no information is lost).
4NF with the running example
For , suppose we believe:
- and is not a superkey of (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:
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 is in 5NF if every nontrivial join dependency that holds in is implied by the keys of (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 ().
- 5NF addresses redundancy caused by multi-part (3+ way) join structure (join dependencies).
Common edge cases and clarifications
Knowledge Check
In a relation , what does the multivalued dependency capture?