Armstrong's axioms

Armstrong's axioms are a set of axioms (or, more precisely, inference rules) used to infer all the functional dependencies on a relational database.

They were developed by William W. Armstrong in his 1974 paper.

[1] The axioms are sound in generating only functional dependencies in the closure of a set of functional dependencies (denoted as

) when applied to that set (denoted as

They are also complete in that repeated application of these rules will generate all functional dependencies in the closure

denote a relational scheme over the set of attributes

with a set of functional dependencies

that satisfies the functional dependencies in

the set of all functional dependencies that are logically implied by

Furthermore, with respect to a set of inference rules

is derivable from the functional dependencies in

by the set of inference rules

is obtainable by means of repeatedly applying the inference rules in

the set of all functional dependencies that are derivable from

Then, a set of inference rules

functional dependencies that are not logically implied by

The set of inference rules

more simply put, we are able to derive by

all the functional dependencies that are logically implied by

be a relation scheme over the set of attributes

Henceforth we will denote by letters

and, for short, the union of two sets of attributes

; this notation is rather standard in database theory when dealing with sets of attributes.

These rules can be derived from the above axioms.

This follows directly from the axiom of reflexivity.

The following property is a special case of augmentation when

Extensivity can replace augmentation as axiom in the sense that augmentation can be proved from extensivity together with the other axioms.

Given a set of functional dependencies

, an Armstrong relation is a relation which satisfies all the functional dependencies in the closure

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