Re: Plea for help - Normalisation Problem
Date: Tue, 03 Dec 2002 14:13:42 GMT
> It's a basic CD library application that I'm using as a learning project
> (i've also removed some attibutes like address1, 2, forename etc to save
> space here).
As an aside, the very first piece of what I now know as "shareware" that I
was a database application for music albums... 33 rpm LPs. This was back in 1962,
and the application ran on a PDP-1 computer.
> LoanNo. Surname, Telephone, E-mail, DateOut, DueBack
> Artist, Title, Label, DateBought (repeating groups)
> 1NF First Method:
> Loans(#LoanNo, Surname, Telephone, E-mail, DateOut, DueBack)
> CDs Borrowed(#LoanNo, #cdID, Artist, Title, Label, DateBought)
> We were taught to remove the repeating groups, create an attribute (in
> this case cdID) to replace the muliple values (Artist, Title,
> DateBought) that make up the qualifying value to the LoanNo.
> 1NF Second Method:
> Loans(#LoanNo, #cdID, Surname, Telephone, E-mail, DateOut,
> DueBack, Artist, Title, Label, DateBought)
> Where cdID is again the qualifying attribute.
I was taught according to the first method you outline. As you point out,
by the time you move to 2NF,
the difference comes out in the wash.
There is yet another way to change the unnormalised database to 1NF. The
two relations would be
> CDs( #cdID, Artist, Title, Label, DateBought)
Here the repetition is that one CD may be borrowed multiple times. In your
example, the repetition is that multiple CDs may be taken out in a single
loan. Both are true.
I don't know if this helps.
I don't know if this helps.Received on Tue Dec 03 2002 - 15:13:42 CET