Schema: R(A,B,C,D,E,F,G,H,I,J) and functional dependencies FD = { A->DE, IJ->H, I->A, J->FG, G->BC }
Question: Is relation in BCNF?
Answer: It's not because A is not superkey.
I'm aware under which conditions relation is in BCNF, but what confuses me all the time is superkey. Could anyone explain why in the answer A is not superkey? And why not pick, for example, IJ or I as a superkey? k
The definition of BCNF requires that no non-trivial functional dependency of a relational
Rhas a determinant (left hand side) which is a superkey. A superkey being an attribute or set of attributes that determines all the attributes of the relation. So, if at least a dependency has a determinant which is not a superkey, the relation is not in BCNF.In this example we could start from any dependency. Let’s start from
A → DE. We can check ifAis a superkey by calculating its closure and see if it contains all the attributes:No other attribute can be added, so
Ais not a superkey ofR, and the relation is not in BCNF.Similarly we could see that
I,J, andGare not superkeys.Actually this relation has a unique candidate key,
IJ, fact that can be checked by calculating its closureIJ+. This means that each superkey must containIJ.