Inference Rules for Functional Dependencies
Inference Rules for Functional Dependencies
📌 Basic Idea
- Let F be a set of functional dependencies (FDs) defined on a relation schema.
- Many additional FDs are not explicitly given, but can be derived (inferred) from F.
👉 These are called:
- Inferred / Implied Functional Dependencies
Key Definitions
🔹 Implied Functional Dependency
An FD X → Y is implied by F if:
It holds in every valid relation that satisfies all dependencies in F.
🔹 Closure of F (F⁺)
-
F⁺ (F plus) = set of:
- All given FDs in F
- All FDs that can be inferred from F
👉 Important:
- We don’t list all FDs explicitly
- Instead, we use rules to derive them
📌 Example
Given:
👉 We can infer:
✔ This is an implied FD
⚙️ Armstrong’s Inference Rules
These are basic rules used to derive new FDs from existing ones.
🔹 IR1: Reflexivity Rule
📌 Rule:
If Y ⊆ X, then:
💡 Meaning:
- A set of attributes always determines its subset
✔ Example:
🔹 IR2: Augmentation Rule
📌 Rule:
If:
Then:
💡 Meaning:
- Adding the same attribute(s) to both sides keeps the dependency valid
✔ Example:
🔹 IR3: Transitivity Rule
📌 Rule:
If:
Then:
💡 Meaning:
- Dependencies can be chained
✔ Example:
🧩 Additional Derived Examples
From:
👉 We can infer:
Notation
- Writing:
means:
X → Y is logically implied by F
🎯 Why Inference Rules Matter
- Help find hidden dependencies
-
Used in:
- Database design
- Normalization
- Checking redundancy
Summary
“Inference rules are used to derive new functional dependencies from a given set, helping us understand all constraints (closure F⁺) that hold in a database schema.”
Comments
Post a Comment