Normalizing 3NF and BCNF

If I have the following ratio R = (A, B, C, D)

And functional dependencies:

  • A → B, B → A, CDB → A, CDA → B

Candidate keys are CDA and CDB .

The third normal form says that there can be no functional relationship between attributes without primacy. A non-prime attribute is an attribute that does not appear in one of the candidate keys. Then this means that this relation is already 3NF, since both A and B, which depend on each other, are part of one of the candidate keys, am I right?

If so, I have another question about BCNF. BCNF says that each determinant must be a candidate key. In this case, A and B are not candidate keys, so this violates BCNF, or am I missing something here?

Thank.

+3


source to share


1 answer


If the three FDs you specify must be the canonical coverage of the FD satisfied by R, then you are correct to conclude that CDA and CDB must be candidate keys. (You did not indicate that FDs are canonical, and if not, then there are other ways to satisfy the same dependencies, but I assume the purpose of the question is that candidate keys should only be inferred from what you are given .)



If CDA and CDB are actually R candidate keys, then you are correct that R satisfies 3NF, but not BCNF.

+4


source







All Articles