databasedatabase-normalization

Normalization 3NF and BCNF


I have relation R on (A, B, C, D) and functional dependencies

The candidate keys are CDA and CDB.

Third normal form says that there cannot be a functional dependency between non-prime attributes. A non-prime attribute is an attribute that doesn't occur in one of the candidate keys.

Does that imply that this relation is in 3NF, since both A and B, that depend on each other, are part of one of the candidate keys?

If so, since BCNF says that every determinant must be a candidate key, does A and B not being candidate keys in this case violate BCNF?


Solution

  • If the three FDs you have given are supposed to be a canonical cover of the FDs satisfied by R then you are right to conclude that CDA and CDB must be candidate keys. (You didn't state the FDs are canonical and if not then there are other ways to satisfy the same dependencies but I guess the intent of the question is that the candidate keys must be inferred only from what you are given.)

    If CDA and CDB are in fact the candidate keys of R then you are right that R satisfies 3NF but not BCNF.