Canonical Cover (also known as Minimal Cover) is the simplified version of a set of Functional Dependencies (FDs) such that it is equivalent to the original set but contains:
š In simple words, Canonical Cover is the smallest and most optimized set of FDs that represents the same information as the original set.
Canonical Cover (also called Minimal Cover) is the simplified and optimized set of Functional Dependencies (FDs) which is equivalent to the original set but contains no redundancy.
š It represents the same information as the original FD set but in the most compact form.
A Canonical Cover Fc of a set of functional dependencies F satisfies:
š This means Canonical Cover preserves all dependencies but removes unnecessary parts.
Canonical Cover plays a very important role in database design and optimization.
If any functional dependency has multiple attributes on RHS, split it into separate FDs.
Example:
A ā BC becomes:
š This step ensures uniform structure.
Learn more about Extraneous Attribute
An attribute is extraneous if it can be removed without affecting the closure.
Check in LHS:
If (A,B) ā C and A alone can determine C, then B is extraneous.
Check in RHS:
If A ā BC and A ā B already exists, then C might be extraneous.
š Remove such attributes carefully.
Learn more about Redundant Functional Dependency
A functional dependency is redundant if it can be derived from other dependencies.
Example:
If A ā B and B ā C, then A ā C is redundant.
š Remove such dependencies to simplify the set.
Given FD Set:
No extra attributes in LHS here.
A ā C is redundant because:
A ā B and B ā C ā A ā C (Transitivity)
Given:
In AB ā C, attribute B is extraneous because A alone determines C.
So, AB ā C becomes A ā C
| Concept | Meaning |
|---|---|
| Canonical Cover | Smallest equivalent FD set |
| Goal | Remove redundancy |
| Steps | Split ā Remove Extraneous ā Remove Redundant |
| Use | Normalization & GATE |