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?

  1. A.

    {BC → A, BC → E, A → F, C → D, A → G}

  2. B.

    {BC → A, B → E, A → F, F → G, C → D}

  3. C.

    {BC → A, BC → E, A → F, F → G, C → D}

  4. D.

    {BC → A, BC → E, A → F, C → D}

Attempted by 75 students.

Show answer & explanation

Correct answer: C

image.png

Goal: compute a minimal cover for F = {BCD → A, BC → E, A → F, F → G, C → D, A → G}.

  1. Step 1 — Ensure right-hand sides are single attributes: all given dependencies already have single attributes on the right.

  2. 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.

  3. 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.

Explore the full course: Btsc Lab Assistant

Loading lesson…