Correct Answer - Option 2 : 4
The correct answer is “option 2”.
CONCEPT:
A set of attributes that uniquely identify tuples in a table is called the Candidate key.
It is a super key with no repeated attributes.
A table can have multiple candidate keys but only one primary key.
The primary key can be selected from the candidate keys.
Candidate keys may have multiple attributes.
A functional dependency is a relationship or dependency that exists between two attributes.
Closure means the complete set of all possible attributes that can be functionally derived from the functional dependencies.
Closure of C is denoted by C+.
EXPLANATION
According to the given dependencies,
CH → G
A → BC
B → CFH
E → A
F → EG
Since D is not part of any functional dependency so it can be a candidate key or maybe part of a candidate key.
To find more candidate keys add A, B, C, D, E, G, and H to D & find its closure:
(AD)+ = {ABCDEFGH}
(BD)+ = {ABCDEFGH}
(CD)+ = {CD}
(ED)+ = {ABCDEFGH}
(FD)+ = {ABCDEFGH}
(GD)+ = {GD}
(HD)+ = {HD}
Since AD, BD, ED and FD gives all attributes, so they are candidate keys.
Hence, the correct answer is “option 2”.