Functional Dependency
Context: FIT2094_MOC · : each value fixes exactly one value · the determinant–dependent relationship · classified into full/partial/transitive for Normalisation
Quick Revision
- 🎯 Objective: : each value fixes exactly one value ➔ the determinant–dependent relationship.
- 📦 Core Components: directional ➔ composite determinant ➔ full/partial/transitive/total.
- ⚡ Key Constraint: partial/transitive FDs signal redundancy that Normalisation removes.
📝 Core
1. The Dependency
- Definition âž” iff each value has exactly one value; is the determinant.
- Directional âž” but not the reverse.
- Composite âž” (needs both).
2. FDs Define Keys
- Super key âž” determines every attribute.
- Candidate key âž” a minimal such determinant.
- FIT1058 link âž” an FD is a function on attribute values.
3. Four Kinds (drive Normalisation)
- Full âž” depends on all of a composite key (2NF requires).
- Partial âž” depends on part of the key (2NF removes).
- Transitive ➔ non-key → non-key (3NF removes).
- Total (mutual) âž” and (both candidate keys).
⚖️ Core Decision Matrix
| Dependency | Determinant | Removed at |
|---|---|---|
| full | whole composite key | (2NF requires) |
| partial | part of key | 2NF |
| transitive | non-key | 3NF |
| total (mutual) | both candidate keys | — |
When It Flips: keys are special FDs — a super key determines the whole tuple. "Bad" FDs (non-key determined by part of a key, or by another non-key) signal the redundancy Normalisation removes.
📊 Exam Execution Trace
Manual Execution Trace
Classifying ASSIGNMENT FDs, key :
| Step / State | FD | Kind |
|---|---|---|
| 0 (Init) | — | — |
| 1 | full | |
| 2 | partial | |
| 3 | transitive |
⚠️ Common Mistakes
- đź’ˇ FDs hold for ALL valid data, not one instance âž” is a business rule over every allowed row, not a coincidence in current data.
đź§ Active Recall
Define a functional dependency and explain why it is directional.
- Hint: Single-valued mapping.
Answer
- Short answer: iff each value has exactly one value; but not reverse.
- Why: Composite âž” needs both.
Distinguish full, partial, and transitive dependency.
- Hint: Whole key / part / non-key.
Answer
- Short answer: Full = whole composite key; partial = part of key; transitive = non-key → non-key.
- Why: 2NF/3NF âž” 2NF removes partial, 3NF removes transitive dependencies.