0

R(A,B,C) where {AB -> C , C -> A}. The candidate keys are {A,B} and {C,B}. This is in 3NF but not BCNF because of {C->A} . Now it seems like this can't even be split into a lossless BCNF, let alone a dependency preserving one. Is there some way to prove it? Is there some result that says that if the result of the 3NF algorithm does not give you a BCNF decomposition, then a further BCNF decomposition is not possible?

Edit: I have since figured out that every schema can be split into a lossless BCNF one. It is preserving dependency that is uncertain. Here the lossless decomposition would be R(B,C), R(C,A)

1 Answer 1

1

As you have discovered, the decomposition of R in the two relations R1(B, C) and R2(C, A) is a lossless decomposition (and both relations are in BCNF). On the other hand, the dependency AB -> C is not preserved by this decomposition.

Note that it is not difficult to convince yourself that, in this particular case, a decomposition of R cannot maintain all the three attributes together, since we have C -> A, and by joining the decomposed relations the dependency AB -> C cannot be obtained in any way.

This example simply shows that there are cases in which every possible algorithm to decompose a relation in BCNF can produce the loss of one or more dependencies.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.