Insight: D appears only on left-hand sides so it must sit in every candidate key, B appears only on right-hand sides so it can never sit in one — then only three combinations remain to close.
Exam route: {A,D}+, {C,D}+ and {E,D}+ all equal R and each is minimal, so the keys are AD, CD, ED — option A.
Learning route:
Step 1 — the trigger. Every option ends with "the only candidate keys", so the task is exhaustive enumeration plus a minimality proof, not one convenient closure.
Step 2 — classify by appearance in F={A→BC,CD→E,E→A}.
A: left in A→BC, right in E→A — both sides.
B: right only — never in a candidate key. (Whenever A is known, B comes free from A→BC, and every key here eventually reaches A, directly or through CD→E→A; so deleting B from a key would leave the closure intact, and a key containing B could not be minimal.)
C: left in CD→E, right in A→BC — both sides.
D: left only — must be in every candidate key.
E: left in E→A, right in CD→E — both sides.
Step 3 — every candidate key is {D} together with a subset of {A,C,E}. Test the three single additions.
{A,D}: A→BC gives {A,B,C,D}; now CD→E fires and adds E, giving all of R. Check minimality: A+={A,B,C} stops there because CD→E needs D, and D+={D}. Both proper subsets fail, so AD is a candidate key.
{C,D}: CD→E gives {C,D,E}; E→A gives {A,C,D,E}; A→BC completes R. Minimality: C+={C}, D+={D}. So CD is a candidate key.
{D,E}: E→A gives {A,D,E}; A→BC gives all of R. Minimality: E+={A,B,C,E} — it never acquires D — and D+={D}. So ED is a candidate key.
Any two- or three-element addition is a proper superset of one of these three, so none is minimal.
Step 4 — the candidate keys are exactly AD, CD, ED. Option A.
Second pass by back-substitution: option B claims only AD and ED, but we just computed CD+=R with both proper subsets failing, so a genuine third key is missing and B is incomplete. Options C and D both include A: A+={A,B,C}, missing D and E, so A is not a key at all; option C also includes E, whose closure {A,B,C,E} is missing D. Only option A survives both checks.
The tempting wrong path: compute E+, watch E→A→BC fill in three attributes, glance at {A,B,C,E} and declare E a key because "it reached almost everything". That produces option C, and its trimmed twin option D. The break is the single line where the closure is compared with R: D is absent, and D is precisely the attribute nothing in F can produce.
Generalisation: an attribute that never appears on a right-hand side must be physically present in every key — never let a closure "almost" cover the relation.
Verification: AD, CD and ED each close to all of R and each loses that property when either attribute is removed; A, E, C alone and every set containing B all fail. Three keys, matching option A exactly.