[prog] normalizing tables

Wolf Rising wolfrising at gmail.com
Mon Oct 17 13:51:09 EST 2005


Not a student, not homework :-)

Hi,

I'm trying to get an understanding of what database normalization is so
I'm doing some practice exercises. I seem to be able to get 1st normal
okay, and oddly 3rd but I can't seem to get a handle on 2nd. I was under
the impression a table in 2nd normal form could not have any partical
dependices, but I seem to jump straight to 3rd.

Here it is in un-normalized form:

Donations(*donorNumber, donorName, donorPhone, classificationCode,
          classificationName, exemptStatus, (checkNumber,
          dateReceived, Amount, fundNumber, fundName, fundDirector))

These I think are the functional dependencies:

donorNumber ->  donorName, donorPhone, classificationCode,
classificationName,          exemptStatus

classificationCode -> classificationName


donorNumber, checkNumber -> dateRecieved, amount, fundNumber, fundName,
                                                     fundDirector

fundNumber -> fundName, fundDirector

this is 1st NF

Donations(*donorNumber, donorName, donorPhone, classificationCode,
          classificationName, exemptStatus, *checkNumber,
          dateReceived, Amount, fundNumber, fundName, fundDirector)


but then I get to this which I think is 3rd NF:

Donations(*donorNumber, *checkNumber, *fundNumber)

Donors (*donorNumber, donorName, donorPhone, classificationCode
    exemptStatus)

Classifications(*classificationCode, classificationName)

Checks (*checkNumber, dateReceived, amount, fundNumber)

Fund(*fundNumber, fundName, fundDirector)

* denotes primary key the underline didn't seem to be working...

Open to any advice on how not to skip over 2nd normal form :-)

Thanks!


More information about the Programming mailing list