Re: SQL For Smarties 3rd Edition - ATTN Joe Celko
Date: 7 Nov 2006 02:49:00 -0800
Message-ID: <1162896540.116752.174410_at_m7g2000cwm.googlegroups.com>
David Cressey wrote:
>
> Here's the link to the top level page....
>
> http://www.utexas.edu/its/windows/database/datamodeling/rm/overview.html
>
> 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.
http://www.utexas.edu/its/windows/database/datamodeling/rm/overview.html
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. :-)
Received on Tue Nov 07 2006 - 11:49:00 CET