Database Normalization

by Daniel M
The article that i read was about database normalization. Normalization is basically the organization of tables and data in order to reduce redundancy. Redundancy is bad because it takes up more space and causes the database to run slower. The article talks about how redundancy may not be a problem on small scale projects but when you have thousands of entries and you start to repeat many of them, you run into a major problem. The next problem is unforeseen scalability. This is basically not realizing how large your database might get when you first create it. You don’t want to limit the potential for expansion right off the bat even if you don’t plan on expanding. The article talks about how the remedy for these problems is normalization. There are three forms of normalization. The first form is done by eliminating repeating groups of data by creating separate tables for related groups of data. Once you have completed the first normal form you can move onto the second normal form. The second normal form is done by eliminating redundant data. The third normal form wants you to get rid of all attributes from a table that are not directly dependent on the primary key.

This article is important to this class because we are going to need to know normalization in order to build efficient and correct databases. The First normal form seems like it should be easy because all you are doing is eliminating repeating groups of data. All you need to do for this is make sure that you aren’t repeating the same data over and over again in a table. In the second normal form you would want to break the tables down into smaller tables that are more suited for the information so you do not have redundant data in multiple tables. The example the article used was a school and in one table you have the class id with the class name. In the second table you have the class id with the student id. this way you don’t have to put the class name with the student id. In third normal form you want to completely get rid of anything in the table that is not dependent on the primary key. If the primary key in the table does not directly correlate to the object in the table then that column can be taken out and either moved to a different table that it belongs in or you can create a different table that would satisfy the third normal form.

Reference

Gilmore, W. (2000, November 27). An introduction to database normalization. Retrieved from http://www.devshed.com/c/a/MySQL/An-Introduction-to-Database-Normalization/

3 thoughts on “Database Normalization”

  1. Thanks for the article. I happened wrote about an article that talks about normalization last week but it didn’t really explain what it really does. I also didn’t know that there are different variations of normalization.

  2. Interesting read. Prior to this I had not thought of how bad redundant data could be since I didn’t really think of of large-scale projects. Our projects won’t be on a grand-scale I’m assuming but it will be good to get into the practice of eliminating redundant data as it is just a waste of space a resources. Thanks for the good summary too.

  3. Great articles. The normalization process can be use when we are doing the ERD so we can break it down better.

Comments are closed.