Question:

Let \(R(A,B,C,D,E)\) be a relational schema with functional dependency set \(F = \{A \rightarrow BC,\ CD \rightarrow E,\ E \rightarrow A\}\).
Which of the following statements is correct?

Show Hint

Find which attribute never appears on the right side of any FD, that attribute must be in every candidate key. Then pair it with each other attribute and check whether the closure covers all of \(R\).
Updated On: Jul 22, 2026
  • \(AD\), \(ED\) and \(CD\) are the only candidate keys of \(R\).
  • \(AD\) and \(ED\) are the only candidate keys of \(R\).
  • \(A\), \(E\) and \(CD\) are the only candidate keys of \(R\).
  • \(A\) and \(CD\) are the only candidate keys of \(R\).
Show Solution
collegedunia
Verified By Collegedunia

The Correct Option is A

Solution and Explanation

Step 1: Recall what a candidate key is.
A candidate key is a minimal set of attributes whose closure under the given functional dependencies (FDs) covers every attribute of the relation. Minimal means no proper subset of it also covers every attribute.

Step 2: Test single attributes first.
We are given \(F = \{A \rightarrow BC,\ CD \rightarrow E,\ E \rightarrow A\}\) on \(R(A,B,C,D,E)\).
\(A^{+}\): start with \(\{A\}\). Since \(A \rightarrow BC\), add \(B, C\), giving \(\{A,B,C\}\). No other FD's left side is now fully present, so \(A^{+} = \{A,B,C\} \neq R\). \(A\) alone is not a key.
\(E^{+}\): start with \(\{E\}\). Since \(E \rightarrow A\), add \(A\), giving \(\{A,E\}\). Now \(A \rightarrow BC\) applies, add \(B, C\), giving \(\{A,B,C,E\}\). \(D\) is still missing and nothing produces it, so \(E^{+} \neq R\). \(E\) alone is not a key.
\(C^{+} = \{C\}\) and \(D^{+} = \{D\}\): neither \(C\) nor \(D\) alone starts any FD, so their closures never grow. Neither is a key.

Step 3: Test the pair \(CD\).
\(CD^{+}\): start with \(\{C,D\}\). Since \(CD \rightarrow E\), add \(E\), giving \(\{C,D,E\}\). Since \(E \rightarrow A\), add \(A\), giving \(\{A,C,D,E\}\). Since \(A \rightarrow BC\), add \(B\) (C is already there), giving \(\{A,B,C,D,E\} = R\). So \(CD\) is a superkey, and since neither \(C\) nor \(D\) alone works, \(CD\) is minimal, hence a candidate key.

Step 4: Test the pair \(AD\).
\(AD^{+}\): start with \(\{A,D\}\). Since \(A \rightarrow BC\), add \(B, C\), giving \(\{A,B,C,D\}\). Now both \(C\) and \(D\) are present, so \(CD \rightarrow E\) applies, add \(E\), giving \(\{A,B,C,D,E\} = R\). So \(AD\) is a superkey. \(A\) alone reaches only \(\{A,B,C\}\) and \(D\) alone reaches only \(\{D\}\), so \(AD\) is minimal, hence a candidate key.

Step 5: Test the pair \(ED\).
\(ED^{+}\): start with \(\{D,E\}\). Since \(E \rightarrow A\), add \(A\), giving \(\{A,D,E\}\). Since \(A \rightarrow BC\), add \(B, C\), giving \(\{A,B,C,D,E\} = R\). So \(ED\) is a superkey, and since \(E\) alone and \(D\) alone both fail, \(ED\) is minimal, hence a candidate key.

Step 6: Rule out the other options.
Option (B) leaves out \(CD\), which we just proved is also a valid candidate key, so it is incomplete.
Option (C) claims \(A\) and \(E\) are keys on their own, but their closures never reach \(D\), so neither is really a key.
Option (D) keeps only \(A\) and \(CD\), but \(A\) fails as shown, and it also misses \(ED\) entirely.

Final Answer:
The complete, minimal set of candidate keys of \(R\) is \(AD\), \(ED\) and \(CD\). \[ \boxed{\text{Option (A)}} \]
Was this answer helpful?
0
0

Top GATE DA Data Science and Artificial Intelligence Questions

View More Questions

Top GATE DA Database Management Systems Questions

View More Questions