# Is there a dependency preserving, lossless BCNF decomposition for this relational schema?

• 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)

• 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.

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2