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 {\displaystyle F^{+}}) when applied to that set (denoted as {\displaystyle F}). They are also complete in that repeated application of these rules will generate all functional dependencies in the closure {\displaystyle F^{+}}.
More formally, let {\displaystyle \langle R(U),F\rangle } denote a relational scheme over the set of attributes {\displaystyle U} with a set of functional dependencies {\displaystyle F}. We say that a functional dependency {\displaystyle f} is logically implied by {\displaystyle F}, and denote it with {\displaystyle F\models f} if and only if for every instance {\displaystyle r} of {\displaystyle R} that satisfies the functional dependencies in {\displaystyle F}, {\displaystyle r} also satisfies {\displaystyle f}. We denote by {\displaystyle F^{+}} the set of all functional dependencies that are logically implied by {\displaystyle F}.
Furthermore, with respect to a set of inference rules {\displaystyle A}, we say that a functional dependency {\displaystyle f} is derivable from the functional dependencies in {\displaystyle F} by the set of inference rules {\displaystyle A}, and we denote it by {\displaystyle F\vdash _{A}f} if and only if {\displaystyle f} is obtainable by means of repeatedly applying the inference rules in {\displaystyle A} to functional dependencies in {\displaystyle F}. We denote by {\displaystyle F_{A}^{*}} the set of all functional dependencies that are derivable from {\displaystyle F} by inference rules in {\displaystyle A}.
Then, a set of inference rules {\displaystyle A} is sound if and only if the following holds:
{\displaystyle F_{A}^{*}\subseteq F^{+}}
that is to say, we cannot derive by means of {\displaystyle A} functional dependencies that are not logically implied by {\displaystyle F}. The set of inference rules {\displaystyle A} is said to be complete if the following holds:
{\displaystyle F^{+}\subseteq F_{A}^{*}}
more simply put, we are able to derive by {\displaystyle A} all the functional dependencies that are logically implied by {\displaystyle F}.
Axioms (primary rules)
[edit ]Let {\displaystyle R(U)} be a relation scheme over the set of attributes {\displaystyle U}. Henceforth we will denote by letters {\displaystyle X}, {\displaystyle Y}, {\displaystyle Z} any subset of {\displaystyle U} and, for short, the union of two sets of attributes {\displaystyle X} and {\displaystyle Y} by {\displaystyle XY} instead of the usual {\displaystyle X\cup Y}; this notation is rather standard in database theory when dealing with sets of attributes.
Axiom of reflexivity
[edit ]If {\displaystyle X} is a set of attributes and {\displaystyle Y} is a subset of {\displaystyle X}, then {\displaystyle X} holds {\displaystyle Y}. Hereby, {\displaystyle X} holds {\displaystyle Y} [{\displaystyle X\to Y}] means that {\displaystyle X} functionally determines {\displaystyle Y}.
- If {\displaystyle Y\subseteq X} then {\displaystyle X\to Y}.
Axiom of augmentation
[edit ]If {\displaystyle X} holds {\displaystyle Y} and {\displaystyle Z} is a set of attributes, then {\displaystyle XZ} holds {\displaystyle YZ}. It means that attribute in dependencies does not change the basic dependencies.
- If {\displaystyle X\to Y}, then {\displaystyle XZ\to YZ} for any {\displaystyle Z}.
Axiom of transitivity
[edit ]If {\displaystyle X} holds {\displaystyle Y} and {\displaystyle Y} holds {\displaystyle Z}, then {\displaystyle X} holds {\displaystyle Z}.
- If {\displaystyle X\to Y} and {\displaystyle Y\to Z}, then {\displaystyle X\to Z}.
Additional rules (Secondary Rules)
[edit ]These rules can be derived from the above axioms.
Decomposition
[edit ]If {\displaystyle X\to YZ} then {\displaystyle X\to Y} and {\displaystyle X\to Z}.
Proof
[edit ]Composition
[edit ]If {\displaystyle X\to Y} and {\displaystyle A\to B} then {\displaystyle XA\to YB}.
Proof
[edit ]Union
[edit ]If {\displaystyle X\to Y} and {\displaystyle X\to Z} then {\displaystyle X\to YZ}.
Proof
[edit ]Pseudo transitivity
[edit ]If {\displaystyle X\to Y} and {\displaystyle YZ\to W} then {\displaystyle XZ\to W}.
Proof
[edit ]Self determination
[edit ]{\displaystyle I\to I} for any {\displaystyle I}. This follows directly from the axiom of reflexivity.
Extensivity
[edit ]The following property is a special case of augmentation when {\displaystyle Z=X}.
- If {\displaystyle X\to Y}, then {\displaystyle X\to XY}.
Extensivity can replace augmentation as axiom in the sense that augmentation can be proved from extensivity together with the other axioms.
Proof
[edit ]Armstrong relation
[edit ]Given a set of functional dependencies {\displaystyle F}, an Armstrong relation is a relation which satisfies all the functional dependencies in the closure {\displaystyle 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 considered.[2]
References
[edit ]- ^ William Ward Armstrong: Dependency Structures of Data Base Relationships , page 580-583. IFIP Congress, 1974.
- ^ Beeri, C.; Dowd, M.; Fagin, R.; Statman, R. (1984). "On the Structure of Armstrong Relations for Functional Dependencies" (PDF). Journal of the ACM. 31: 30–46. CiteSeerX 10.1.1.68.9320 . doi:10.1145/2422.322414. Archived from the original (PDF) on 2018年07月23日.