Armstrong's axioms

From testwiki
Jump to navigation Jump to search

Template:Short description 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 F+) when applied to that set (denoted as F). They are also complete in that repeated application of these rules will generate all functional dependencies in the closure F+.

More formally, let ⟨R(U),F⟩ denote a relational scheme over the set of attributes U with a set of functional dependencies F. We say that a functional dependency f is logically implied by F, and denote it with F⊨f if and only if for every instance r of R that satisfies the functional dependencies in F, r also satisfies f. We denote by F+ the set of all functional dependencies that are logically implied by F.

Furthermore, with respect to a set of inference rules A, we say that a functional dependency f is derivable from the functional dependencies in F by the set of inference rules A, and we denote it by F⊢Af if and only if f is obtainable by means of repeatedly applying the inference rules in A to functional dependencies in F. We denote by FA∗ the set of all functional dependencies that are derivable from F by inference rules in A.

Then, a set of inference rules A is sound if and only if the following holds:

FA∗⊆F+

that is to say, we cannot derive by means of A functional dependencies that are not logically implied by F. The set of inference rules A is said to be complete if the following holds:

F+⊆FA∗

more simply put, we are able to derive by A all the functional dependencies that are logically implied by F.

Axioms (primary rules)

Let R(U) be a relation scheme over the set of attributes U. Henceforth we will denote by letters X, Y, Z any subset of U and, for short, the union of two sets of attributes X and Y by XY instead of the usual X∪Y; this notation is rather standard in database theory when dealing with sets of attributes.

Axiom of reflexivity

If X is a set of attributes and Y is a subset of X, then X holds Y. Hereby, X holds Y [X→Y] means that X functionally determines Y.

If Y⊆X then X→Y.

Axiom of augmentation

If X holds Y and Z is a set of attributes, then XZ holds YZ. It means that attribute in dependencies does not change the basic dependencies.

If X→Y, then XZ→YZ for any Z.

Axiom of transitivity

If X holds Y and Y holds Z, then X holds Z.

If X→Y and Y→Z, then X→Z.

Additional rules (Secondary Rules)

These rules can be derived from the above axioms.

Decomposition

If X→YZ then X→Y and X→Z.

Proof

1. X→YZ (Given)
2. YZ→Y (Reflexivity)
3. X→Y (Transitivity of 1 & 2)

Composition

If X→Y and A→B then XA→YB.

Proof

1. X→Y (Given)
2. A→B (Given)
3. XA→YA (Augmentation of 1 & A)
4. YA→YB (Augmentation of 2 & Y)
5. XA→YB (Transitivity of 3 and 4)

Union

If X→Y and X→Z then X→YZ.

Proof

1. X→Y (Given)
2. X→Z (Given)
3. X→XZ (Augmentation of 2 & X)
4. XZ→YZ (Augmentation of 1 & Z)
5. X→YZ (Transitivity of 3 and 4)

Pseudo transitivity

If X→Y and YZ→W then XZ→W.

Proof

1. X→Y (Given)
2. YZ→W (Given)
3. XZ→YZ (Augmentation of 1 & Z)
4. XZ→W (Transitivity of 3 and 2)

Self determination

I→I for any I. This follows directly from the axiom of reflexivity.

Extensivity

The following property is a special case of augmentation when Z=X.

If X→Y, then X→XY.

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

Proof

1. XZ→X (Reflexivity)
2. X→Y (Given)
3. XZ→Y (Transitivity of 1 & 2)
4. XZ→XYZ (Extensivity of 3)
5. XYZ→YZ (Reflexivity)
6. XZ→YZ (Transitivity of 4 & 5)

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

  1. ↑ William Ward Armstrong: Dependency Structures of Data Base Relationships, page 580-583. IFIP Congress, 1974.
  2. ↑ Template:Cite journal

Template:Databases Template:Database normalization