Re: SQL For Smarties 3rd Edition - ATTN Joe Celko

From: Jan Hidders <>
Date: 7 Nov 2006 02:49:00 -0800
Message-ID: <>

David Cressey wrote:
> Here's the link to the top level page....
> This leads down to E-R modeling, and introduces tables, etc. and also
> normalization.

Indeed a very nice reference. But ... I'm not very happy with their definitions of the normal forms. wrote:
> BCNF is based on the concept of determinants. A determinant column is one on which
> some of the columns are fully functionally dependent.
> A relational table is in BCNF if and only if every determinant is a candidate key.

A determinant is not a column but a set of columns. And then the definition should say "for every non-trival FD the determinant is a *superkey* " or redefine the concept of "determinant" such that it is minimal (like, the left-hand side of an FD such that there is not proper subset that is also the left-hand side of an FD).

> A relational table is in the fourth normal form (4NF) if it is in BCNF and all multivalued
> dependencies are also functional dependencies.

That should of course say not "all MVDs" but "all *non-trivial* MVDs".

> A table is in the fifth normal form (5NF) if it cannot have a lossless decomposition into any
> number of smaller tables.

That is too strict. The requirement is that the decomposition should not follow from the CKs.

I wonder if Edsger Dijkstra (who btw. at the end of his career taught in Austin at the U. of Texas) would have had something clever and inspiring to say about such sloppiness and letting database theory be taught as part of a Windows course. :-)

  • Jan Hidders
Received on Tue Nov 07 2006 - 11:49:00 CET

Original text of this message