# Candidates Key for Normalization

Question 1 : Find all the possible candidate keys

Relation (A, B, C, D, E)

• Below are the functional dependencies
• A –> C
• C –> D
• D –> B
• E –> F
• Calculating Closure
• Items which are not present in right side of Functional dependencies i.e A and E we will start with that, if A and E if not enough to find all the elements of the relation then we will add new attributes to find candidate keys, if A and E by them self can find all the attributes of the relation then we can say that we have only 1 candidate key
• (AE)+ = AECDBF
• So AE is the only candidate key for this relation

Question 2 : Find all the possible candidate keys

Relation (A, B , C , D, E, F, G, H)

• Functional Dependencies
• CH –> G
• A –> BC
• B –> CFH
• E –> A
• F –> EG

Calculating Closure

• Items which are not present in right side of Functional dependencies is D, we will find D close and see if it is a candidate key, if not then we will keep adding one element at a time from the left side of functional dependencies to create candidate keys
• (D)+ = D –> D Closure Not a candidate key
• (DA)+ = DABCFHEG –> DA Closure is a candidate key
• (DB)+ = DBCFHGEA –> DB Closure is a candidate key
• (DC)+ = DC –> DC Closure not a candidate key
• (DE)+ = DEA –> Since DA is already a candidate key hence DE closure is a candidate key
• (DF)+ = DFEG –> Since DE is already a candidate key hence DF closure is a candidate key
• So all the candidate keys are
• DA, DB, DE, DF
• Calculating prime and not prime attributes
• Prime Attributes : If a attribute is a part of any of the candidate key it is a prime attribute in above example : ABDEF are the prime attributes and CGH are non prime attributes
• So you want to put the relation in 2NF it would be like
• R1(A, B, D, E, F)
• R2(B ,C ,H ,G) SInce B –>CFH and CH–> G

• By Definition you are part of any of the candidates key then you are a prime-attribute, other attributes which are not part of prime-attribute in a relation you call it a non prime attribute

Reference :