It is given that for a relation R all the attributes of the relation appear in some of the candidate keys. It is also given that there is only one compound candidate key which exists for a relation, all the other candidate keys are simple candidate keys. What can be said about the normal form of R?

In my opinion, since all the attributes are part of some candidate attribute, it is surely in 3NF. But I am not sure if we can extend our reasoning to claim that R in also in BCNF(as claimed by the solution).

Can anyone please help me out why R can be said to be in BCNF normal form?

Thanks in advance!


If you bring the functional dependencies of R in a canonical form, you can have only dependencies in which the right part is constituted only by a single attribute, which is prime, so we are sure that the relation is in 3NF. More, we can divide those dependencies into three sets:

  1. The dependencies where the LHS is a single attribute candidate key;

  2. Those where the LHS is the (only) compound candidate key;

  3. Those where the LHS is a strict subset of the compound candidate key.

The first two kinds of dependencies are compatible with the BCNF, while the third one is not.

It is easy to show that the last set is empty. In fact, if there were a dependency X -> A, with X a strict subset of the compound candidate key, since A is a candidate key, that is determines all the other attributes, then also X determines all the other attributes, and so it is a candidate key. But this is a contradiction with the hypothesis, so no dependency X -> A where is X is not a superkey can exists, and the BCNF is surely satisfied.


Your Answer

