A minimal cover is a simplified and reduced version of the given set of functional dependencies.
Since it is a reduced version, it is also called as Irreducible set.
It is also called as Canonical Cover.
A minimal cover of a set of functional dependencies (FD) E is a minimal set of dependencies F that is equivalent to E.
The formal definition is: A set of FD F to be minimal if it satisfies the following conditions −
Every dependency in F has a single attribute for its right-hand side.
We cannot replace any dependency X->A in F with a dependency Y->A, where Y is a proper subset of X, and still have a set of dependencies that is equivalent to F.
We cannot remove any dependency from F and still have a set of dependencies that are equivalent to F.
Canonical cover is called minimal cover which is called the minimum set of FDs. A set of FD FC is called canonical cover of F if each FD in FC is a −
- Simple FD.
- Left reduced FD.
- Non-redundant FD.
Steps to find minimal cover:
1. Split FD's from RHS only
Example: if it given as A->BC then split it as A->B and A-C
2. Find redundant FD's and delete them
Example: if it is given as A->B , B-C, A->C then the FD A->C is redundant because it is derived from other two FD's so delete it. Final FD's are A->B , B-C
3. Find the extraneous (redundant) attributes and delete them. It is present in LHS
AB->C, either A or B or none can be extraneous.
If A closure contains B then B is extraneous and it can be removed.
If B closure contains A then A is extraneous and it can be removed.
Example 1
Minimize {A->C, AC->D, E->H, E->AD}
Step 1: {A->C, AC->D, E->H, E->A, E->D}
Step 2: {A->C, AC->D, E->H, E->A}
Here Redundant FD : {E->D}
Step 3: {AC->D}
{A}+ = {A,C}
Therefore C is extraneous and is removed.
{A->D}
Minimal Cover = {A->C, A->D, E->H, E->A}
Example 2
Minimize {AB->C, D->E, AB->E, E->C}
Step 1: {AB->C, D->E, AB->E, E->C}
Step 2: {D->E, AB->E, E->C}
Here Redundant FD = {AB->C}
Step 3: {AB->E}
{A}+ = {A}
{B}+ = {B}
There is no extraneous attribute.
Therefore, Minimal cover = {D->E, AB->E, E->C}
0 comments :
Post a Comment
Note: only a member of this blog may post a comment.