Normalization

From Wiki Notes @ WuJiewen.com, by Jiewen Wu
Jump to: navigation, search

Functional Dependency (FD)

A FD, an integrity constraint, on a relation scheme R is a constraint X->Y, where X and Y are sets of attributes. For a pair of tuple t and s, they satisfies the above FD if they agree on all attributes in Y whenever they agree on all attributes in X.

Some properties of FDs.

  • Trivial (Reflexive) FDs: X->Y if Y is a subset of X.
  • Augmentation: if X->Y then XZ->YZ
  • Transitivity: if X->Y and Y->Z, then X->Z.
  • Union: if X->Y and X->Z, then X->YZ.
  • Decomposition: if X->YZ, then X->Y and X->Z.

Entailment

A set of FDs F entails another set of FDs G if F entails every FD in G. That is, if every relation satisfies every FD in F, it must satisfy every FD in G.

The closure of F, denoted as F+, is the set of all FDs entailed by F. The attribute closure is the set of all attributes A s.t. X->A is entailed by F, i.e.,

XF+ = {A | X->A in F+}