Armstrong's

axioms are a sound and

complete list of

properties of

functional dependencies. They are used in

relational database maintenance when analyzing the functional dependencies and

normal form of a

database. Changing

normal forms or doing

schema refinement requires manipulation of these

axioms. I have included a brief

explanation of what each axiom is trying to

define in

plain english.

Armstrong's Axioms for attributes A,B,C,X are:

**Reflexivity : **
If B is a subset of A then A -> B is trivial
If social security number and name determine a person's name, that relationship is trivial.

**Augmentation : **
If A -> B then AX -> BX for any attribute X
If a student ID number determines a studentâ€™s name, then student ID plus age determines a student's name plus their age.

**Transitivity : **
If A -> B and B -> C then A -> C
This one is fairly obvious. If license plate number determines owner and owner determines social security number, then license plate number can determine social security number.

There are other

basic properties of

functional dependencies, such as if A -> BC then A -> B and A -> C. However these type of properties can all be

derived from Armstrong's Axioms.