Relational-Database-Design-BCNF

Lossless-join Decomposition

  • For the case of a decomposition of into and is lossless join if and only if at least one of the following dependencies is in :


Dependency Preservation

  • Let the schema is decomposed into .
  • Let be the subset of dependencies that only includes attributes in for ,
  • The decomposition is dependency preserving, if
  • If the decomposition is not dependency preserving, then checking updates for violation of functional dependencies may require computing joins, which is expensive.

Example:


can be decomposed in two different ways

    • Lossless-join decomposition
      • Dependency preserving
    • Lossless-join decomposition
      • Not dependency preserving (cannot check without computing )

BCNF