Definition

A relation instance r(R) satsifies a dependency X -> Y if - For all t, u in r, t[X] = u[X] => t[Y] = u[Y].

That is, if two tuples in r agree in their values for the set of attributes X, then they agree in their values for the set of attributes Y.

Y is said to be functionally dependent on X.

Inference Rules

  • Reflexivity: X -> X.
  • Augmentation: X -> Y => XZ -> YZ.
  • Transitivity: X -> Y, Y -> Z => X -> Z.
  • Additivity: X -> Y, X -> Z => X -> YZ.
    • Note: this is only for the right hand side.
  • Projectivity/Decomposition: X -> YZ => X -> Y, X -> Z.
  • Pseudotransitvitiy: X -> Y, YZ -> W => XZ -> W