Lecture 4 Flashcards
1
Q
What is Heath’s Theorem?
A
If relation R has a set of attributes X (union) Y (union) Z and functional dependency Y –> Z then R == (pi).(X (union) Y) (R) (bowtie) (pi).(Y(union) Z) (R)
2
Q
How to do the Chase test?
A
- Write in table, with a.1 etc. to indicate the unknown bits
- Apply FD’s
- Continue until one row has all the “true” values
3
Q
What is a problem with the BCNF-decomposition?
A
It does not preserve all FD’s
4
Q
How to show dependency preservation?
A
- Project FD F onto R (already done by BCNF)
- Take F’ = (union) F.i
- Notice that by construction F => F’
- For each FD f in F
- 1 compute closure of LHS of f under F’
- 2 if RHS of f in that closure FD f implied by F’
- If that holds true for all f in F then F’ => F, and thus DP
5
Q
What does LHS mean?
A
Left hand side
6
Q
What does RHS mean?
A
Right hand side
7
Q
What is the algorithm for 3NF?
A
- Find minimal basis for FD’s F
- For each functional dependency x –> A in G, use XA as the schema of the relations in the decomposiion
3/ If non of the relations schemas from Step 2 is a superkey for R add another relation whose schema is a key for R
8
Q
How to find a 3NF violation in the FD’s?
A
Any FD where the LHS is not a superkey violates 3NF