|< < 17 > >|

Functional Dependencies

Not every table has a lossless decomposition

E.g., the XYZ table could not be decomposed in this way.

Where "could not be decomposed" means: there is no lossless join decomposition.
XY = project(XYZ[X, Y]) XZ = project(XYZ[X, Z]) XYZ join(XY, XZ)

Why?

Functional Dependencies
  • BadAlbum has the functional dependency artistartist_website

  • LessBadAlbum has the functional dependency labellabel_website

  • XYZ has no functional dependencies that lead to a non-trivial lossless join decomposition

|< < 17 > >|