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

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