0 · Recall Warm-up
Answer from memory first. Answers are in the Answer Vault at the bottom.
- How do you test whether F and G are equivalent? from Lesson 4.2.4
- What does decomposition (an Armstrong-derived rule) allow? from Lesson 4.2.2
- R(A, B, C, D, E), F = {A → B, B → C, CD → E}: what is the only key? from Lesson 4.2.3
1 · The Hook
F = {A → BC, B → C, A → B, AB → C} contains the same information as just {A → B, B → C}. Extra FDs and extra attributes make checking slower and, in the 3NF algorithm, create unnecessary tables. The minimal cover is the stripped-down equivalent version. GATE asks for it directly, or as "how many FDs remain".
2 · Predict First
In F = {A → BC, B → C, A → B, AB → C}, which FDs are redundant?
Make a guess in your head. The answer opens Section 3.
3 · Core Concept
Predict First — the answer
A → C (from A → BC) follows from A → B and B → C. AB → C follows from B → C. The duplicate A → B is redundant. What remains: {A → B, B → C}.
Minimal (canonical) cover
A set G is a minimal cover of F if:
- G ≡ F;
- every right side in G is a single attribute;
- no left side has an extraneous attribute (removing any attribute from a left side would change the meaning);
- no FD in G is redundant (removing it would change the meaning).
Algorithm (do the steps in this order)
- Split right sides: X → ABC becomes X → A, X → B, X → C.
- Remove extraneous left-side attributes: for each FD XB → A, if A ∈ X⁺ (closure under the current set), then B is extraneous: replace XB → A by X → A.
- Remove redundant FDs: for each FD X → A, compute X⁺ using all other FDs; if A ∈ X⁺, delete X → A.
Then (optional, for the 3NF algorithm) group FDs with the same left side: X → A, X → B → X → AB. Some books call that grouped form the canonical cover.
Doing step 3 before step 2 can leave a redundant FD behind. The minimal cover is not unique: different orders of checking can give different (equivalent) answers.
Worked example
F = {ABCD → E, E → D, A → B, AC → D}.
- Right sides are single already.
- Extraneous attributes:
- ABCD → E: A → B, so B is extraneous (A⁺ contains B): ACD → E. AC⁺ = ACBD ⊇ D, so D is extraneous: AC → E. Can A or C go? A⁺ = AB, C⁺ = C: no.
- AC → D: A⁺ = AB, C⁺ = C: no extraneous attribute.
- Redundant FDs in {AC → E, E → D, A → B, AC → D}:
- AC → D: without it, AC⁺ = ACEBD ⊇ D: redundant, delete.
- AC → E: without it, AC⁺ = ACB: keep. E → D, A → B: keep.
Minimal cover: {AC → E, E → D, A → B}.
Non-uniqueness example
F = {A → BC, B → AC, C → AB}. One minimal cover: {A → B, B → C, C → A}. Another: {A → C, C → B, B → A}. Both have 3 FDs. (Every attribute determines the others, so any cycle works.)
4 · Visual
Minimal cover pipeline
F --split RHS--> single-attribute RHS --drop extraneous LHS attrs--> smaller LHS --drop redundant FDs--> minimal cover
X->AB X->A, X->B XB->A becomes X->A X->A gone if X+ (without it) has A
Order matters: LHS first, redundancy last.
5 · Worked Examples
Example 1 Easy
Find a minimal cover of {A → BC, B → C}.
Solution
Split: A → B, A → C, B → C. No left side has two attributes. A → C is redundant (A⁺ without it = ABC). {A → B, B → C}.
Example 2 Medium
Find a minimal cover of {A → B, AB → C, D → AC, D → E}.
Solution
Split: A → B, AB → C, D → A, D → C, D → E. Extraneous: in AB → C, the closure A⁺ under the current set is ABC (A → B, then AB → C), which contains C, so B is extraneous: A → C. Redundant: D → C (D → A → C). Result: {A → B, A → C, D → A, D → E} (4 FDs).
Example 3 GATE
How many FDs are in a minimal cover of {AB → CD, A → E, E → C}?
Solution
Split: AB → C, AB → D, A → E, E → C. Extraneous in AB → C: A⁺ = AEC ⊇ C → becomes A → C. AB → D: A⁺ = AEC, B⁺ = B: keep. Redundant: A → C (A → E → C): delete. Result {AB → D, A → E, E → C}: 3 FDs.
6 · GATE Traps
- Remove extraneous left-side attributes before removing redundant FDs.
- Use the current FD set (including the FD itself) when testing an extraneous attribute; use all other FDs when testing redundancy.
- Minimal covers are not unique, but all have the same closure.
- Right sides must be single attributes in a minimal cover.
7 · Memory Hook
"Split, Shrink, Shed." Split right sides, shrink left sides, shed redundant FDs.
8 · Connect the Dots
Chapter 4.2 is complete: FDs, axioms, closures, keys, equivalence, minimal covers. Next: the Chapters 4.1–4.2 Lock-in, then Chapter 4.3: how to split a table safely: lossless joins and dependency preservation.
9 · Self-Test
GATE format. Try every question before opening the vault.
Q1 · NAT · 2 mark(s) — Minimal cover
How many FDs are in a minimal cover of {A → B, B → C, A → C, AB → C}?
Numerical answer: ________
Q2 · MCQ · 2 mark(s) — Minimal cover
A minimal cover of {AB → C, A → B, B → C, A → C} is:
- (A) {A → B, B → C}
- (B) {AB → C, A → B}
- (C) {A → C, B → C}
- (D) {A → B, A → C, B → C}
Q3 · MCQ · 1 mark(s) — Order
In the minimal cover algorithm, extraneous left-side attributes are removed:
- (A) never
- (B) after removing redundant FDs
- (C) before removing redundant FDs
- (D) only if the right side has several attributes
Q4 · MSQ · 2 mark(s) — Properties
Which are true of minimal covers?
- (A) A set of FDs has exactly one minimal cover.
- (B) Every right side is a single attribute.
- (C) No FD in it is implied by the others.
- (D) A minimal cover is equivalent to the original set.
Q5 · NAT · 2 mark(s) — Minimal cover
How many FDs are in a minimal cover of {ABCD → E, E → D, A → B, AC → D}?
Numerical answer: ________
10 · Rule Card
- Minimal cover: equivalent; single-attribute right sides; no extraneous left attributes; no redundant FDs.
- Steps: split RHS → remove extraneous LHS attributes (A ∈ X⁺ under current set) → remove redundant FDs (A ∈ X⁺ under the others).
- Not unique; canonical cover groups same left sides.
11 · Concept Ledger
Unlocked in this lesson. From here on, these terms may be used.
minimal covercanonical coverextraneous attributeredundant FDminimal cover algorithm
12 · Answer Vault
Reveal answers when you’re ready
Recall Warm-up
- Check every FD of F under G's closures and every FD of G under F's closures.
- Splitting the right side: X → YZ gives X → Y and X → Z.
- AD.
Self-Test
Q1 Answer: 2 · 2 mark(s)
{A → B, B → C}.
Re-read: Lesson 4.2.5 — Minimal (canonical) cover
Q2 Answer: (A) · 2 mark(s)
AB → C reduces to B → C; A → C is redundant.
- (B) is wrong: B is extraneous in AB → C.
- (C) is wrong: Loses A → B.
- (D) is wrong: A → C is redundant.
Re-read: Lesson 4.2.5 — Minimal (canonical) cover
Q3 Answer: (C) · 1 mark(s)
Otherwise a redundant FD may be missed.
- (A) is wrong: It is step 2.
- (B) is wrong: Wrong order.
- (D) is wrong: Unrelated.
Re-read: Lesson 4.2.5 — Minimal (canonical) cover
Q4 Answer: (B) (C) (D) · 2 mark(s)
They are not unique.
- (A) is wrong: Several may exist.
Re-read: Lesson 4.2.5 — Minimal (canonical) cover
Q5 Answer: 3 · 2 mark(s)
{AC → E, E → D, A → B}.
Re-read: Lesson 4.2.5 — Minimal (canonical) cover