Hamish Burke | 2025-05-27

Related to: #databases


Minimal Cover

  1. For every FD XYZ, replace with XY and XZ
  1. For each FD XA and each attribute B in X
  1. For each FD XA in turn

Minimal Cover Example

  1. F={AB,AC,BC,ACD}
  2. For ACD, test C extraneous
    1. X={A}
    2. A=A,B,C,D
    3. DA, C is extraneous
    4. Replace ACD with AD
  3. F={AB,AC,AD,BC}
    1. F={AC,AD,BC}
      1. X=ACD, B not in X, keep AB
    2. F={AB,AD,BC}
      1. X=ABCD, CX, so remove AC
    3. F={AB,AC,BC}
      1. X=ABC, D not in X
    4. F={AB,AC,AD}
      1. X=B, C not in X
  4. Minimal cover FD: F={AB,AD,BC}