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.




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2