Before anything else let’s state simply why we need database normalization. There are two primary goals that database normalization looks to achieve:
1. Reduce redundancy. Basically we don't want to keep unnecessarily repeating data in our tables. 2. Improve the integrity of the data.
History of database normalization
The concept of normalization was introduced by a researcher at IBM by the name of E.F. Codd in the 1970’s. He was also the inventor of the relational model which is of course used in relational databases today.
How is normalization achieved?
So, the next logical question is how do we actually apply normalization to a database? Well, there are a set of rules – called forms – that must be followed to normalize a database. You may have heard of 1st normal form, 2nd normal form – each of these forms defines different rules. Each form is basically a set of rules that must be followed.
You can read more about first normal form here: Example of first normal form.
Forms must be followed in order
Note that the forms must be followed in order. So, if we want to achieve “2nd normal form”, then we must first achieve 1st normal form.
If a database follows all the rules for 1st normal form then the database is said to be 1st normal form compliant, or 1NF compliant. The same holds true for 2nd normal form.
Key points of normalization
Here are some key points of normalization that you should remember:
- Normalization looks to do 2 things: 1. Reduce redundancy 2. Improve the data integrity - To normalize, we use forms, which are a set of rules.