Jerry's Blog

Recording what I learned everyday

View on GitHub


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.

The Chase Test for Lossless Join

  1. The natural join is associative and commutative.
  2. Any tuple t in R is surely in π_S1(R) ⨝ π_S2(R) ⨝ … ⨝ π_Sk(R).
  3. π_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