IT Milk: entry

The author published this entry on Monday 09 April, 2007 at 5:03 pm. It's been filed in the Databasecategory

IST210: Learning Database Normalization

Normalization is one of the most important factors in database design. But the six steps of database normalization can elude many freshman students, which unfortunately includes me. I have consulted with many websites and, most importantly, our textbook (Richard Watson’s Data Management) to tame this stubborn beast.

The formal texts regarding normalization can be confusing and very ambiguous. So here’s my summary of the first, second, third and Boyce-Codd normal forms.

1st Normal Form (1NF)

  • Make sure that all columns only contain a single value
  • Restructure duplicate columns

2nd Normal Form (2NF)

  • Move columns that are not dependent on the primary key
  • Move redundant record set values to separate tables
  • Create a primary key

3rd Normal Form (3NF)

  • Non-key columns cannot be dependent on another non-key column

Boyce-Codd Normal Form (BCNF)

  • Each concatenated primary key must be unique and specific

Normalization is crucial to learn for our final project for IST210. We were given 13 tables with information about a wine distribution network that includes everything from wine types, wine ratings and wine years to company names and telephone numbers. After normalizing these tables (or at least what we believe is fully normalized), these have expanded to 24 tables. The rest of the assignment includes creating entity-relationship diagrams, creating these tables in MS SQL, and writing SQL queries with relational algebraic statements.

“The rules leading to and including the third normal form can be summer up in a single statement: Each attribute must be a fact about the key, the whole key, and nothing but the key.” — Wiorkowski and Kull

Got Thoughts?

By all means share them, and start the conversation.

Leave Your Own Comment

You can follow any responses to this entry via its RSS comments feed.

If you're looking for something specific then give the search form below a try:

RSS Wordpress Grady (theme) Valid XHTML Return to the Top ↑