10 September 2019
Database(9) -- Design Theory
by Jerry Zhang
Decomposition:
Recovering Information from a Decomposition
If we do get R back, then we say the decomposition has a lossless join.
- If we decompose a relation according to Algorithm 3.20, then the original relation can be recovered exactly by the natural join.
The Chase Test for Lossless Join
- The natural join is associative and commutative.
- Any tuple t in R is surely in π_S1(R) ⨝ π_S2(R) ⨝ … ⨝ π_Sk(R).
- π_S1(R) ⨝ π_S2(R) ⨝ … ⨝ π_Sk(R) = R when the FD’s in F hold for R if and only if every tuple in the join is also in R.
A | B | C | D |
---|---|---|---|
a | b1 | c1 | d |
a | b2 | c | d2 |
a3 | b | c | d |
Dependency Preservation
We sometimes need to make a tradeoff between preserving dependencies and BNCF.
tags: Database