Consider the following relation R(A, and set of functional dependencies.
Consider the following relation R(A, B, C, D, E, F, G) and set of functional dependencies.
F = {BCD → A, BC → E, A → F, F → G, C → D, A → G}
Which of the following is the minimal cover of F?
- A.
{BC → A, BC → E, A → F, C → D, A → G}
- B.
{BC → A, B → E, A → F, F → G, C → D}
- C.
{BC → A, BC → E, A → F, F → G, C → D}
- D.
{BC → A, BC → E, A → F, C → D}
Attempted by 75 students.
Show answer & explanation
Correct answer: C

Goal: compute a minimal cover for F = {BCD → A, BC → E, A → F, F → G, C → D, A → G}.
Step 1 — Ensure right-hand sides are single attributes: all given dependencies already have single attributes on the right.
Step 2 — Minimize left-hand sides: consider BCD → A. Test if any attribute is extraneous.
Compute BC+ using the original set:
BC gives E by BC → E.
C gives D by C → D, so BC+ also contains D.
With B, C, D available, BCD → A gives A, so BC+ contains A.
Since BC+ contains A, D is extraneous in BCD → A and we can replace BCD → A with BC → A.
Step 3 — Remove redundant dependencies: check if any dependency can be derived from the others.
A → G is implied by A → F and F → G (transitivity), so A → G is redundant and can be removed.
Final minimal cover:
BC → A
BC → E
A → F
F → G
C → D
This set is equivalent to the original dependencies and contains no extraneous attributes or redundant dependencies, so it is the minimal cover.