Rule of Inference in DBMS
When working with relational databases, understanding how Functional Dependencies (FDs) behave is essential for maintaining data integrity and designing efficient database schemas. One of the most important concepts used to reason about functional dependencies is the Inference Rules, commonly known as Armstrong’s Axioms.
Inference rules allow database designers to derive new functional dependencies from existing ones. They are especially important when performing normalization, finding attribute closures, and analyzing the structure of relational schemas.
In this tutorial, we will explore the six commonly used inference rules for functional dependencies with simple explanations, examples, and proofs.
Table of Contents

What Are Inference Rules?
Inference rules are logical rules that allow us to derive new functional dependencies from a given set of functional dependencies.
For example, if we know that A → B and B → C, we can infer that A → C. This conclusion is obtained using the Transitive Rule.
The fundamental inference rules are based on Armstrong’s Axioms. The three basic Armstrong’s Axioms are:
- Reflexivity
- Augmentation
- Transitivity
Other commonly used rules, such as Union, Decomposition, and Pseudo-Transitivity, can be derived from these fundamental axioms.
Complete Advance AI Topics: Click Here
SQL Tutorial: Click Here
Six Types of Inference Rules
| Rule | Notation | Purpose |
|---|---|---|
| Reflexive Rule | X → Y | Used when Y is a subset of X |
| Augmentation Rule | If X → Y, then XZ → YZ | Adds the same attributes to both sides |
| Transitive Rule | If X → Y and Y → Z, then X → Z | Derives dependencies through another attribute set |
| Union Rule | If X → Y and X → Z, then X → YZ | Combines two dependencies |
| Decomposition Rule | If X → YZ, then X → Y and X → Z | Splits a dependency into individual dependencies |
| Pseudo-Transitive Rule | If X → Y and YZ → W, then XZ → W | Combines dependencies with additional attributes |
1. Reflexive Rule (IR1)
The Reflexive Rule states that if attribute set Y is a subset of attribute set X, then X functionally determines Y.
Rule:
If Y ⊆ X, then X → Y
This rule is called reflexive because the dependency follows directly from the attributes already present in X.
Example
Suppose:
X = {A, B, C, D, E}
Y = {A, B, C}
Since Y is a subset of X, we can conclude:
ABCDE → ABC
Therefore, the functional dependency is valid according to the Reflexive Rule.
2. Augmentation Rule (IR2)
The Augmentation Rule allows us to add the same set of attributes to both sides of an existing functional dependency.
Rule:
If X → Y, then XZ → YZ
Here, Z can be any set of attributes.
Example
Consider a relation:
R(A, B, C, D)
If:
A → B
Then, by adding C to both sides:
AC → BC
Similarly, we could add D:
AD → BD
The Augmentation Rule is useful when analyzing dependencies involving additional attributes.
3. Transitive Rule (IR3)
The Transitive Rule works similarly to the transitive property used in mathematics.
If one attribute set determines a second attribute set, and the second determines a third, then the first attribute set determines the third.
Rule:
If X → Y and Y → Z, then X → Z
Example
Suppose:
A → B
and
B → C
Therefore:
A → C
This is one of the most important rules used when deriving functional dependencies.
4. Union Rule (IR4)
The Union Rule combines two functional dependencies that have the same determinant into a single dependency.
Rule:
If X → Y and X → Z, then X → YZ
Example
Suppose:
A → B
and
A → C
Using the Union Rule:
A → BC
Proof
- X → Y (Given)
- X → Z (Given)
- XY → YZ (Using Augmentation on X → Z)
- X → XY (Using Augmentation/Reflexivity)
- X → YZ (Using Transitivity)
Thus, we can combine the two dependencies into X → YZ.
5. Decomposition Rule (IR5)
The Decomposition Rule is essentially the reverse of the Union Rule. If an attribute set determines a combined set of attributes, it also determines each individual attribute set.
Rule:
If X → YZ, then X → Y and X → Z
Example
Suppose:
A → BC
Using the Decomposition Rule, we can derive:
A → B
and:
A → C
Proof
- X → YZ (Given)
- YZ → Y (By Reflexive Rule)
- X → Y (By Transitive Rule)
Similarly:
- X → YZ (Given)
- YZ → Z (By Reflexive Rule)
- X → Z (By Transitive Rule)
Therefore, X → YZ can be decomposed into X → Y and X → Z.
YT:- DecodeIT
6. Pseudo-Transitive Rule (IR6)
The Pseudo-Transitive Rule is useful when two functional dependencies contain overlapping attribute sets.
Rule:
If X → Y and YZ → W, then XZ → W
Example
Suppose:
A → B
and:
BC → D
By applying the Pseudo-Transitive Rule:
AC → D
Proof
- X → Y (Given)
- YZ → W (Given)
- XZ → YZ (Using Augmentation on X → Y)
- XZ → W (Using Transitive Rule)
Therefore:
XZ → W
Armstrong’s Axioms vs Derived Inference Rules
It is important to understand that not all six rules are basic Armstrong’s Axioms. Armstrong’s original axioms consist of three fundamental rules:
- Reflexivity
- Augmentation
- Transitivity
The Union, Decomposition, and Pseudo-Transitivity rules can be derived from these basic axioms.
| Category | Rules |
|---|---|
| Basic Armstrong’s Axioms | Reflexivity, Augmentation, Transitivity |
| Derived Rules | Union, Decomposition, Pseudo-Transitivity |
Why Are Inference Rules Important?
Inference rules are an important part of relational database theory because they help determine whether a functional dependency can be logically derived from a given set of dependencies.
They are particularly useful for:
- Understanding functional dependencies
- Finding attribute closures
- Identifying candidate keys
- Checking dependency preservation
- Performing database normalization
- Reducing data redundancy
- Designing efficient relational schemas
Conclusion
Inference rules provide a systematic way to derive functional dependencies from existing dependencies. The three fundamental Armstrong’s Axioms are Reflexivity, Augmentation, and Transitivity, while Union, Decomposition, and Pseudo-Transitivity are commonly derived from them.
Understanding these six rules makes it easier to analyze functional dependencies and solve important DBMS problems involving normalization, candidate keys, attribute closure, and database schema design.
By practicing these rules with different functional dependencies, you can develop a strong foundation in relational database theory and database normalization.
Keywords
Rule of inference in DBMS, inference rules in DBMS, Armstrong’s axioms, functional dependency, functional dependency inference rules, reflexive rule, augmentation rule, transitive rule, union rule, decomposition rule, pseudo transitive rule, DBMS normalization, database normalization, relational database, Armstrong axioms in DBMS Rule of inference in DBMS, inference rules in DBMS, Armstrong’s axioms, functional dependency, functional dependency inference rules, reflexive rule, augmentation rule, transitive rule, union rule, decomposition rule, pseudo transitive rule, DBMS normalization, database normalization, relational database, Armstrong axioms in DBMS, functional dependencies in DBMS, normalization in DBMS, database design, DBMS tutorial