Canonical Class Notes
Canonical Class Notes
Example: Given F {AB -> C, C -> AB, B -> C, ABC -> AC, A -> C, AC -> B} for
R(A,B,C), find the minimal cover.
Solution:
FD will become {AB->C, C->A, C->B, B->C, ABC->A, ABC->C, A->C, AC->B}
In the above FD set ABC->A, ABC->C are trivial FDs and hence can be
discarded.
The revised FD set will be {AB->C, C->A, C->B, B->C, A->C, AC->B}
In the above FD set, it can be seen that AB->C and B->C => B alone can determine
C.
{AB->C, C->A, C->B, B->C, A->C, AC->B} => {B->C, C->A, C->B, B->C, A->C,
A->B}
{C->A, C->B, B->C, A->C, A->B}. This is the FD set at the end of step 2.
Consider C->A, To check if this is redundant, take attribute closure for C without
considering FD C->A.
B+ = B => Closure not attained => Cannot discard => B->C cannot be removed
A+ = ABC => Closure attained => Can discard => A->C can be removed
Now the FD set will be {C->A, B->C, A->B}. Check for A->B
A+ = A => Closure not attained => Cannot discard => A->B cannot be removed
The final refined FD set F’ = {C->A, B->C, A->B}. This is the minimal cover set.
Solve: