Lossless join decomposition
This article may need to be rewritten to comply with Wikipedia's quality standards. (July 2014)
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.
Can also be called nonadditive.
If is split into and , for this decomposition to be lossless (i.e., ) then at least one of the two following criteria should be met.
Check 1: Verify join explicitly
Check 2: Via functional dependencies
Let be a relation schema.
Let F be a set of functional dependencies on .
Let and form a decomposition of .
The decomposition is a lossless-join decomposition of if at least one of the following functional dependencies are in F+ (where F+ stands for the closure for every attribute or attribute sets in F):
- 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 .
- Pohler, K (2015). "Lossless-Join Decomposition: applications in quantitative computing metrics". International Journal of Applied Computer Science. 21 (4): 190–212.
- "Lossless Join Property". Stackoverflow.com. Retrieved 2016-02-07.
- "Lossless Join Decomposition" (PDF). University at Buffalo. Jan Chomicki. Retrieved 2012-02-08.
- "Lossless-Join Decomposition". Cs.sfu.ca. Retrieved 2016-02-07.
- "Archived copy". Archived from the original on 2014-02-21. Retrieved 2014-02-12.CS1 maint: archived copy as title (link)