Normalization Theory
Lossless-Join Decomposition
I think this stuff is actually super useful in databases to prevent redundancy. But itβs actually a little hard to wrap my head around.
Dependency-preserving means that no info into the FD is lost when you split. An example which is not dependency preserving:
When you merge back, you should get the original info
I have no idea wtf is going on, but I basically when you do the lossless-join decomposition, you need to check that the intersection of these two relations form a key.
Lossless-Join Decomposition
A decomposition of is a lossless-join decomposition if, for any instance of , the natural join of and has no spurious tuples.
Theorem
A decomposition of is a lossless-join decomposition if and only if the common attributes of and form a superkey for either schema, that is, either or is a logical consequence of the integrity constraints.