Consider a relation R(A, B, C, D, E, F) with the following functional…
Consider a relation R(A, B, C, D, E, F) with the following functional dependencies:
FDs = { A → C, BD → F, EF → A, D → B }
What is the minimum number of relations required to convert it into 3NF with lossless and dependency-preserving decomposition?
Answer: 4 — Step 1: Find Minimal Cover Given FDs: A→C, BD→F, EF→A, D→B Check BD→F: Compute D⁺: D → B (from D→B), so D⁺ = {D, B}. Then BD→F: since D⁺ already includes B, B…
Attempted by 16 students.
Show answer & explanation
Correct answer: 4
Step 1: Find Minimal Cover
Given FDs: A→C, BD→F, EF→A, D→B
Check BD→F:
Compute D⁺: D → B (from D→B), so D⁺ = {D, B}. Then BD→F: since D⁺ already includes B, B is extraneous in BD→F.
Thus, BD→F reduces to D → F.
Minimal cover becomes:
A → C
D → B
D → F
EF → A
Note: D → B and D → F can be combined into D → BF, but this is optional for synthesis.
Step 2: 3NF Synthesis (create relation for each FD)
From A→C → R1(A, C)
From D→BF → R2(D, B, F)
From EF→A → R3(E, F, A)
Step 3: Ensure a key appears in at least one relation
Find a key of R: Compute closure of DE.
D⁺ = {D, B, F} (from D→B, D→F), so DE⁺ = {D, E, B, F, A, C} = all attributes.
Thus, DE is a key.
No relation contains both D and E.
So add R4(D, E) to ensure lossless join and key presence.
Step 4: Verify dependency preservation
Check if all original FDs are preserved in the decomposition:
A→C: preserved in R1
BD→F: B and D are in R2, F is in R2 → preserved
EF→A: E and F in R3, A in R3 → preserved
D→B: D and B in R2 → preserved
All FDs are preserved.
Final Answer: Minimum number of relations = 4
Relations:
R1(A, C)
R2(D, B, F)
R3(E, F, A)
R4(D, E)