Set of solved exercises in Normalization / Normalization Solved Examples / How to find candidate keys, and primary keys in database? / Sets of examples to find the keys of a tables / Process of Key finding in a database - Examples
Question:
Consider a relation R(A, B, C, D, E) with FD's AB → C, CD → E, C → A, C → D, D → B.
Determine all the keys of
relation R. Do not list superkeys that are not a candidate key.
Solution:
Key 1:
From above points, we would know
that the attributes AB together can identify all the other attributes of R uniquely.
Hence, AB is one of the keys.
Key 2:
From AB, we can obtain the rest
of the attributes. (See the discussion in Key 1 above). Hence, C is one of the
keys.
Key 3:
From AB, we can obtain the rest
of the attributes. (See the discussion in Key 1 above). Hence AD is one of the
keys.
The keys are AB, AD, and C.
Go back to Normalization - Solved Exercise page.
Hello Admin, Why can't CD be a key as well? We know that , with reflexivity rule, CD -> E: CDE, and with C ->AD, and D->B. Isn't CD be a key?
ReplyDeleteHi Sherman, CD is a super key because we found that C is a key. CD is not a candidate key.
DeleteCandidate key is a minimal super key for which no proper subset is a key. Proper subset for CD is {C} and {D}. But already C is a key. Hence, CD cannot be a key (candidate).