BCNF Decomposition
Given:
- A non-BCNF table definition.
- A set of FDs.
- Decompose the table to improve the schema.
Schema design via BCNF decomposition
The general idea:
for each relation R in the schema:
if R is not BCNF:
Find a FD that causes R to be non-BCNF.
Decompose(R, LHS(FD)) -> S, T
Replace R in the schema by S and T.
This is exactly what we did, starting with BadAlbum, and
ending with Artist, Album and Label.
|