In relational database theory, Inference Rules are formal rules that allow us to derive new functional dependencies from a given set. These rules are used to:

  • Prove whether a particular functional dependency logically follows from a given set.

  • Compute attribute closure.

  • Verify dependency preservation and key candidates.

The most important inference rules are the three Armstrong’s Axioms and several derived rules built on top of them.

Basic Inference Rules

1. Reflexivity Rule

If YXY \subseteq X, then XYX \to Y.

  • Any set of attributes functionally determines its subsets.

  • These are trivial dependencies.

Example:
If X={A,B,C}X = \{A, B, C\} and Y={A,B}Y = \{A, B\}, then {A,B,C}{A,B}\{A, B, C\} \to \{A, B\}.

2. Augmentation Rule

If XYX \to Y, then XZYZXZ \to YZ for any attribute set ZZ.

  • Adding the same attributes to both sides of an FD does not change its validity.

Example:
If ABA \to B, then {A,C}{B,C}\{A, C\} \to \{B, C\}.

3. Transitivity Rule

If XYX \to Y and YZY \to Z, then XZX \to Z.

  • Dependencies can be chained.

Example:
If ABA \to B and BCB \to C, then ACA \to C.

Derived Inference Rules

Using the three basic rules, several useful derived rules can be obtained:

4. Union Rule

If XYX \to Y and XZX \to Z, then XYZX \to YZ.

Example:
If ABA \to B and ACA \to C, then ABCA \to BC.

5. Decomposition Rule

If XYZX \to YZ, then XYX \to Y and XZX \to Z.

Example:
If ABCA \to BC, then ABA \to B and ACA \to C.

6. Pseudotransitivity Rule

If XYX \to Y and YZWYZ \to W, then XZWXZ \to W.

This rule extends transitivity to cases where an extra attribute appears in the determinant of the second FD.

How Inference Rules Help in Design

  • They allow systematic derivation of implied functional dependencies from a given set.

  • They support attribute closure computation and key discovery.

  • They provide a formal framework for checking whether a dependency holds and for building minimal covers.

Summary

Inference Rules in DBMS are formal rules (like Reflexivity, Augmentation, Transitivity, Union, Decomposition, and Pseudotransitivity) that allow us to derive new functional dependencies from a given set. These rules form the logical foundation for dependency analysis, closure computation, and normalization in relational database design.