Consider the schema and the set of functional dependencies:
Use the 3NF decomposition algorithm to generate a 3NF decomposition of , and show your work. This means:
a. A list of all candidate keys
b. A canonical cover for
c. The steps of the algorithm, with explanation
d. The final decomposition
a. A list of all candidate keys
Candidate keys that I can come up with:-
TODO: Can we prove that these are the only candidate keys?
b. A canonical cover for
Set
is extraneous in the right hand side of
is extraneous in the right hand side of . This is because can be inferred from , and Transitivity rule.
is extraneous in . This is because can be inferred from and applying Augmentation rule followed by Decomposition rule.
Since I cannot find any more extraneous attributes, the canonical cover of is:-
c. The steps of the algorithm, with explanation
Define
Define
We see that none of the schemas contains a candidate key. Thus we define as:
Then we delete since .
Thus our result is
d. The final decomposition