# 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 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.