Re: looking for old Datamation poster on Normalizing
Date: 3 Sep 2006 17:47:47 -0700
Message-ID: <1157330867.601134.162200_at_i42g2000cwa.googlegroups.com>
Hello,
I'm the author of the poster, and stumbled across this conversation
thanks to server logs.
You know, in the years since that thing was written, this is the first time I've seen or heard actual discussion of the content. On Usenet in 2006. Whodathunkit?
Someone has already pointed to the link where you can download copies of the poster. In case you missed it, it's here:http:// www.marcrettig.com/poster.
So hey: now that it's digital and I'm printing copies a few at a time for people who want them, it's ** easy to change**. So let's fix the problem!
Thanks much, and best to you all.
- Marc Rettig
Jan Hidders wrote:
> Jon Heggland wrote:
> > David Cressey wrote:
> > > PMFJI. I've allways been disturbed by the presentation of 4NF in the
> > > "puppies & tricks" poster. It seems to me that there's a misprint,
> > > somewhere, or that the key of one of the tables has undergone a shift
> > > between the 3NF example and the 4NF example. Am I the only one who sees a
> > > problem, or has this been discussed before?
> >
> > The keys (assuming /italics/ indicate keys) are wrong. It would make
> > more sense if the key for the initial allegedly non-4NF "Puppy Tricks"
> > were { Puppy Number, Trick ID, Costume }, and the the key for "Puppy
> > Costumes" were { Puppy Number, Costume }, but the explanation is still
> > bad. As presented, it looks more like an example of 2NF than 4NF.
>
> Indeed. I completely agree. But I think there is a real 4NF problem
> hidden in there, which probably is why the author made the mistake. I
> read the description as follows:
>
> PT(pnr, tid, twl, sl, cst)
> dependencies:
> - pnr, tid -> twl
> - pnr, tid -> sl
> - pnr ->> cst | tid, twl, sl
>
> So, there is only one CK and that is {pnr, tid, cst} so we are indeed
> not in 2NF. After splitting off twl and sl as usual together we get:
>
> PT2(pnr, tid, twl, sl) PC(pnr, tid, cst)
>
> PT2 has one CK {pnr, tid} and is in 5NF, PC however has CK {pnr, tid,
> cst} and is therefore in 3NF but not in 4NF.
>
> -- Jan Hidders
Received on Mon Sep 04 2006 - 02:47:47 CEST