• sqlvogel (8/6/2014)


    pietlinden (8/5/2014)


    How can you get to 3NF if you don't go through 1NF and 2NF first?

    Very easily, you just need to ensure that the non-trivial determinants of every non-key attribute are superkeys. Outside of an academic exercise I'm surprised if anyone would go through the trouble of creating a table design that satisifies 1NF but not 2NF and then refine it to make it satisfy 2NF and then refine it again to make it 3NF. I've certainly never bothered with such exercises outside the classroom.

    2NF and 3NF are of mostly historical or academic importance anyway. Most of the time it makes sense to design to Boyce-Codd / 5th Normal Form and don't concern yourself with 3NF except in cases where you need to denormalize in order to enforce certain business rules.

    Although it moves very quickly, I still think in terms of 1st, 2nd and so forth. That way I know I have approached it correctly. Only with the simplest databases would I be comfortable with moving directly to BCNF. And, even then, I think my mind would still go through the earlier stages.

    Tom