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:

  • Primary Rule
  • 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.

    Reflexive Rule :

    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.