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]
Definition
A relation on schema decomposes losslessly onto schemas and if , that is is the natural join of its projections onto the smaller schemas. A pair is a lossless-join decomposition of or said to have a lossless join with respect to a set of functional dependencies if any relation that satisfies decomposes losslessly onto and .[3]
Decompositions into more than two schemas can be defined in the same way.[4]
Criteria
A decomposition has a lossless join with respect to if and only if the closure of includes or . In other words, one of the following must hold:[4]
Criteria for multiple sub-schemas
Example
- 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 and we have a functional dependency . In other words, we have proven that .[5][6]
References
- ↑ Pohler, K (2015). "Lossless-Join Decomposition: applications in quantitative computing metrics". International Journal of Applied Computer Science 21 (4): 190–212.
- ↑ Elmasri, Ramez (2016). Fundamentals of database systems (Seventh ed.). Hoboken, NJ: Pearson. p. 461. ISBN 978-0133970777.
- ↑ Maier, David (1983). The theory of relational databases. Computer Science Press. pp. 101. ISBN 0-914894-42-0. http://web.cecs.pdx.edu/~maier/TheoryBook/MAIER/C06.pdf. Retrieved 16 August 2024.
- ↑ 4.0 4.1 Ullman, Jeffrey D. (1988). Principles of Database and Knowledge-base Systems (1 ed.). Computer Science Press. p. 397. ISBN 0-88175188-X. http://www.lsv.fr/~goubault/BD/ullman-principles-of-database-and-knowledge-base-systems-volume-1.pdf. Retrieved 16 August 2024.
- ↑ "Lossless-Join Decomposition". http://www.cs.sfu.ca/CourseCentral/354/zaiane/material/notes/Chapter7/node7.html.
- ↑ "www.data-e-education.com - Lossless Join Decomposition". http://www.data-e-education.com/E121_Lossless_Join_Decomposition.html.
