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.[1]
Lossless-join Decomposition
Can also be called Nonadditive.[citation needed] If you decompose a relation into relations you will have a Lossless-Join if a natural join of the two smaller relations yields back the original relation, i .e.;
.
If is split into and , for this decomposition to be lossless then at least one of the two following criteria should be met.
Check 1: Verify join explicitly
Projecting on and , and joining back, results in the relation you started with.[2]
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):[3]
Example
- Let be the relation schema, with A, B, C and D attributes.
- 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 .
References
- ↑ Pohler, K (2015). "Lossless-Join Decomposition: applications in quantitative computing metrics". International Journal of Applied Computer Science 21 (4): 190–212.
- ↑ "Lossless Join Property". https://stackoverflow.com/questions/5771810/lossless-join-property.
- ↑ "Lossless Join Decomposition". University at Buffalo (Jan Chomicki). http://www.cse.buffalo.edu/~chomicki/560/handout-design.pdf. Retrieved 2012-02-08.
- ↑ "Lossless-Join Decomposition". http://www.cs.sfu.ca/CourseCentral/354/zaiane/material/notes/Chapter7/node7.html.
- ↑ "Archived copy". http://www.data-e-education.com/E121_Lossless_Join_Decomposition.html.