Armstrong’s Axioms in DBMS

Armstrong’s Axioms are a set of rules of axioms. It was developed by William W.Armstrong in 1974. Armstrong’s Axioms are used to infer all the functional dependencies on a relational database.

Armstrong’s Axioms are sound in generating only functional dependencies in the closure of a set of functional dependencies (denoted as F+) when applied to that set (denoted as F).Armstrong's Axioms
Armstrong’s Axioms has mainly two different sets of rules:
1. Primary Rule
2. Secondary Rule

Primary Rule:

  • Reflexive Rule
  • Augmentation Rule
  • Transitive Rule

Reflexive Rule :

If Y ⊆ X then X -> Y if Y is a subset of the attribute of X.
If X -> Y then XZ -> YZ for a pair of tuple t1 and t2.
If t1[X] = t2[X] then it implies that
∴ t1[Y] = t2[Y]
on the other hand,
If t1[XZ] = t2[XZ] then it implies that
∴ t1[YZ] = t2[YZ] then
∴ t1[XZ] = t2[YZ]

Transitive Rule :

If X -> Y and Y -> Z
then If X -> Z

Secondary Rule:

  • Decomposition Rule
  • Union Rule
  • Pseudo Transitive Rule

Decomposition Rule :

If X -> YZ
then X -> Y and X -> Z

Union Rule :

If X -> Y and X -> Z
then X -> YZ

Pseudo Transitive Rule :

If X -> YZ and Y -> W
then X -> WZ

Armstrong relation:

Given a set of functional dependencies F, an Armstrong relation is a relation which satisfies all the functional dependencies in the closure F+ and only those dependencies. Unfortunately, the minimum-size Armstrong relation for a given set of dependencies can have a size which is an exponential function of the number of attributes in the dependencies.