SQLTeam.com | Weblogs | Forums

Normalization from UNF to 3NF

I can't find a good normalization example on the internet:

  • Wikipedia (wiki/Database_normalization) issues this warning: This article needs attention from an expert in Databases .. . This is what the Wiki author wrote: By way of disclaimer, I am not a database expert myself — far from it. I'm simply a novice web developer .. . Wtf... Someone?

  • Microsoft (description-of-the-database-normalization-basics) adds a dept column out of nowhere in 3NF

I don't have anyone to give me feedback, did I do normalize correctly?

No, but the 3NF is very close (I won't comment on the earlier NFs).

You should have a separate "master" table for ItemCategory, which will then have an ItemCategoryId. The ItemCategoryId goes in the Item table, but the ItemCategory[description] is only in the ItemCategory table.

The design assumes there can be only one admin for a given dept. Since that could be a valid assumption, the rest of it looks fine.

Ok, makes sense. In what step do I separate the ItemCategory into its own table?
item category

I don't want to constraint a department to only one admin, so it's a mistake too.

Can someone also please comment on the earlier NFs? I need to understand the step-by-step process. Or if someone can show me how they would do it from UNF -> 1NF -> 2NF -> 3NF, that would be extremely helpful.

Thank you.


Example table to normalize which takes into consideration many-to-many relationship between admins and departments.