Lossless-Join Decomposition

In computer science the concept of a Lossless-Join Decomposition is central in removing redundancy safely from databases while preserving the original data.

Lossless-join Decomposition

Can also be called Nonadditive. If you decompose a relation R into relations R_1 and R_2 you will guarantee a Lossless-Join if R_1R_2 = R.

Let R be a relation schema.

Let F be a set of functional dependencies on R.

Let R_1 and R_2 form a decomposition of R.

The decomposition is a lossless-join decomposition of R if at least one of the following functional dependencies are in F+(where F+ stands for the closure for every attribute in F):[1]

  • R_1 ∩ R_2R_1 - R_2
  • R_1 ∩ R_2R_2 - R_1
↑Jump back a section

Example

  • Let R = (A, B, C, D) be the relation schema, with A, B, C and D attributes.
  • Let F = \{ A \rightarrow BC \} be the set of functional dependencies.
  • Decomposition into R_1 = (A, B, C) and R_2 = (A, D) is lossless under F because R_1 \cap R_2 = (A) and A \rightarrow BC so R_1 \cap R_2 \rightarrow R_1 - R_2.
↑Jump back a section

Normal Forms

Decomposition into BCNF or 3NF must always be lossless.

↑Jump back a section

References

  1. ^ "Lossless Join Decomposition". University at Buffalo (Jan Chomicki). Retrieved 2012-02-08. 
↑Jump back a section

Read in another language

This page is available in 1 language

Last modified on 2 May 2013, at 16:56