Jump to content

Lossless join decomposition

From Wikipedia, the free encyclopedia
(Redirected from Lossless-Join Decomposition)

In database design, a lossless join decomposition is a decomposition of a relation into relations such that a natural join of the two smaller relations yields back the original relation. This is central in removing redundancy safely from databases while preserving the original data.[1] Lossless join can also be called non-additive.[2]

Criteria

[edit]

Let and be a decomposition of a relation .

The decomposition is lossless if and only if the natural join of and results in the original relation (i.e., ).[3]

Equivalently, the decomposition is lossless if and only if one of the sub-relations (i.e. or ) is a subset of the closure of their intersection.[4] In other words, the decomposition of is lossless if either or is true.

Criteria for multiple sub-relations

[edit]

Multiple sub-relations have a lossless join if there is some way in which we can repeatedly perform lossless joins until all the relations have been joined into a single relation. Once we have a new sub-relation made from a lossless join, we are not allowed to use any of its isolated sub-relations to join with any of the other relations. For example, if we can do a lossless join on a pair of relations to form a new relation , we use this new relation (rather than or ) to form a lossless join with another relation (which may already be joined (e.g., )).

Examples

[edit]
  • Let be the relation schema, with attributes A, B, C and D.
  • Let be the set of functional dependencies.
  • Decomposition into and is lossless under F because . A is a superkey in , meaning we have a functional dependency .  In other words, now we have proven that .

[5][6]

References

[edit]
  1. ^ Pohler, K (2015). "Lossless-Join Decomposition: applications in quantitative computing metrics". International Journal of Applied Computer Science. 21 (4): 190–212.
  2. ^ Elmasri, Ramez (2016). Fundamentals of database systems (Seventh ed.). Hoboken, NJ: Pearson. p. 461. ISBN 978-0133970777.
  3. ^ Yannakakis, Mihalis (1980-09-01). "Algorithms for acyclic database schemes". Proceedings of the Seventh International Conference on Very Large Data Bases. 7 (published 1981-01-01): 82–94. doi:10.5555/1286831.1286840. Retrieved 2024-06-25 – via ACM.{{cite journal}}: CS1 maint: date and year (link) CS1 maint: ignored DOI errors (link)
  4. ^ "Lossless Join Decomposition" (PDF). University at Buffalo. Jan Chomicki. Retrieved 2012-02-08.
  5. ^ "Lossless-Join Decomposition". Cs.sfu.ca. Retrieved 2016-02-07.
  6. ^ "www.data-e-education.com - Lossless Join Decomposition". Archived from the original on 2014-02-21. Retrieved 2014-02-12.