Lecture 3 Flashcards
1
Q
What are the symptoms of poor design?
A
Redundacy and anomalies
2
Q
When is something considered poor design when splitting a relation?
A
If the initial set R cannot be recovered from S and T
3
Q
If you want to put a relationship in BCNF, when do you have to change something?
A
If attributes in R determined by something that isn’t a (super)key, then B is determined that is not necessarily unique
thus:
- avoidable reduncacy
- decomposition of R advised
4
Q
When is R in BCNF?
A
For each non-trivial FD a –> b of R:
left-hand side A is a (super)key of R
5
Q
What is a lossless join?
A
All relations are in BCNF, all data in original relation R represented faithfully by decomposition
6
Q
What is the BCNF Decomposition algorithm?
A
- Check whether R is in BCNF, if so return
- If they exist let on be X -> Y use Algorithm 3.7 to compute X+. Choose R1 = X+ as one relation schema and let R2 have attributes X and those attributes of R that are not in X+.
- Use Algorithm to compute the sets of FD’s for R1 and R2, let these be S1 and S2 respectively.
- Recursively decompose R1 and R2 using this algorithm. Return the union of the results of these decompositions.