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.

Criteria

Can also be called nonadditive.
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 them back, results in the relation you started with.

Check 2: Via functional dependencies

Let be a relation schema.
Let 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 + :