Functional Dependencies: Determining Which FD Is Not Implied (R(A,B,C,D,E))

Functional Dependencies: Determining Which FD Is Not Implied (R(A,B,C,D,E))

Verified Sources
Sep 14, 2026

We are given a relation schema R(A,B,C,D,E)R(A,B,C,D,E) with the following functional dependencies (FDs):

  • ABA \to B
  • ACA \to C
  • CDECD \to E
  • BDB \to D
  • EAE \to A

We must determine which of the candidate FDs is not implied by the given set:

(i) CDACCD \to AC
(ii) BDCDBD \to CD
(iii) BCCDBC \to CD
(iv) ACBCAC \to BC

We will use attribute closure and Armstrong’s axioms to check implication.

Key idea

An FD XYX \to Y is implied iff YX+Y \subseteq X^+, where X+X^+ is the attribute closure of XX under the given FD set.

We will compute closures for the relevant left-hand sides: CD,BD,BC,ACCD, BD, BC, AC.

type="tip" title="Pro Tip" content="When you see a cycle like EAE \to A, combine it with any rules that produce AA to derive additional FDs (often yielding closures that grow quickly)."

Compute closures and test each candidate FD

  1. 1
    Step 1

    Start with {C,D}\{C,D\}. Use CDECD \to E to get EE. Then use EAE \to A to get AA. From ABA \to B and ACA \to C, obtain BB and confirm CC. Use BDB \to D to confirm DD. So CD+={C,D,E,A,B}CD^+ = \{C,D,E,A,B\}, which includes AA and CC.

  2. 2
    Step 2

    Since ACD+A \in CD^+ and CCD+C \in CD^+, we have CDACCD \to AC implied.

  3. 3
    Step 3

    Start with {B,D}\{B,D\}. From BDB \to D we get DD (already). Then D?D \to ? none directly, but use BB to ensure DD exists. More importantly, we need CC and EE and then CDCD. Derive AA: we can get EE only via CDECD \to E, but we can get CDCD if we first get CC. So we compute systematically: from BB we can get DD only; however EAE \to A is one-way. This means we must try a different route by deriving AA from EE—so we check whether AA (or CC) is implied by BDBD.

  4. 4
    Step 4

    Notice the only way to get EE is via CDECD \to E. The only way to get CC is via ACA \to C (since no rule gives CC from BB or DD alone). The only way to get AA is via EAE \to A. Therefore, unless BDBD can imply EE or CC, BDBD cannot imply CDCD. So BD+BD^+ cannot contain CC or EE.

  5. 5
    Step 5

    Since C otinBD+C \ otin BD^+, BDCDBD \to CD is not implied.

  6. 6
    Step 6

    Start with {B,C}\{B,C\}. From BDB \to D, infer DD. Now we have CC and DD, so CDECD \to E gives EE. Then EAE \to A gives AA. With ABA \to B and ACA \to C, we confirm BB and CC. Thus BC+={A,B,C,D,E}BC^+ = \{A,B,C,D,E\} includes DD and therefore implies CDCD.

  7. 7
    Step 7

    We have CBC+C \in BC^+ and DBC+D \in BC^+, hence CDBC+CD \subseteq BC^+ and BCCDBC \to CD is implied.

  8. 8
    Step 8

    Start with {A,C}\{A,C\}. From ABA \to B, infer BB. From BDB \to D, infer DD. Now CC and DD are present, so CDECD \to E gives EE. Finally EAE \to A confirms AA. Thus AC+={A,B,C,D,E}AC^+ = \{A,B,C,D,E\}, which contains BCBC.

  9. 9
    Step 9

    Since BAC+B \in AC^+ and CAC+C \in AC^+, ACBCAC \to BC is implied.

Detailed closure reasoning (clean derivations)

1) Candidate (i): CDACCD \to AC

From the given FD CDECD \to E,

  • (CD)+{C,D,E}(CD)^+ \supseteq \{C,D,E\} From EAE \to A,
  • (CD)+{C,D,E,A}(CD)^+ \supseteq \{C,D,E,A\} From ABA \to B and ACA \to C,
  • (CD)+{A,B,C,D,E}(CD)^+ \supseteq \{A,B,C,D,E\}

So AA and CC are in CD+CD^+, hence (i) is implied.


2) Candidate (ii): BDCDBD \to CD

Start with BDBD. What can we infer immediately?

  • From BDB \to D, we get DD (already). There is no rule of the form BCB \to C, nor DCD \to C, nor BAB \to A, nor DAD \to A.

To get CC we must use ACA \to C. To get AA we must use EAE \to A. To get EE we must use CDECD \to E — but that needs DD and CC already.

So there is no derivation chain that produces CC from BDBD alone. Therefore C(BD)+C \notin (BD)^+, hence CD(BD)+CD \nsubseteq (BD)^+.

So (ii) is not implied.


3) Candidate (iii): BCCDBC \to CD

From BDB \to D,

  • BCDBC \Rightarrow D

Now we have CC and DD, so:

  • CDECD \to E gives EE
  • EAE \to A gives AA So indeed CC and DD are both in (BC)+(BC)^+, hence (iii) is implied.

4) Candidate (iv): ACBCAC \to BC

From ABA \to B,

  • ACBAC \Rightarrow B

So BB and CC are already included on the right side:

  • therefore BC(AC)+BC \subseteq (AC)^+ Hence (iv) is implied.

Implication Check Results

Whether each candidate FD is implied by the given FD set.

Why the answer is (ii) BD → CD

FD Implication Workflow

Pick candidate

1

For XYX \to Y, compute X+X^+ using the FD set."

Run derivations

2

Repeatedly apply UVU \to V when UX+U \subseteq X^+."

Test inclusion

3

If YX+Y \subseteq X^+, then the FD is implied."

Conclude for all options

4

Exactly one option fails: (ii) BDCDBD \to CD."

Functional Dependency Mastery (Quick Checks)

1 / 3
Question · Term

FD implication test

Click to reveal
Answer · Definition

To check whether XYX \to Y is implied, compute X+X^+ and verify YX+Y \subseteq X^+.

Knowledge Check

Question 1 of 3
Q1Single choice

Which FD is NOT implied by {A→B, A→C, CD→E, B→D, E→A}?