Introduction
When working with database rules called functional dependencies, it can get confusing if there are many overlapping or redundant rules. We need a simpler, cleaner set of rules that mean the same thing but are easier to use.
Imagine you have a long list of instructions to assemble a piece of furniture. Some instructions repeat the same steps or include unnecessary details. Creating a canonical cover is like rewriting the instructions to be shorter and clearer without missing any important steps.
┌───────────────────────────────┐
│ Original Functional Dependencies│
├───────────────┬───────────────┤
│ Remove │ Remove │
│ Extraneous │ Redundant │
│ Attributes │ Dependencies │
├───────────────┴───────────────┤
│ Combine dependencies with same │
│ left side into one │
├───────────────────────────────┤
│ Canonical Cover │
└───────────────────────────────┘