- Normalization is the process of removing redundant data from your tables in order to improve storage efficiency, data integrity and scalibility. This improvement is balanced against an increase in complexity and potential performance losses from the joining of the normalized tables at query-time.
- The database community has developed a series of guidelines for ensuring that databases are nomarlized. These are reffered to as normal forms and are numbered from one through five. In practical applications, you will often seen 1NF, 2NF and 3NF along with the ocassional 4NF. Fifth Normal form is very rarely seen.
- First normal form (1NF) sets the very basic rules for an organized database.
Eliminate duplicative columns from the same table.
Create Seperate tables for each group of related data and identify each row with a unique column or set of columns ( the primary key).
- Second Normal form (2NF) further addresses the concept of removing duplicate data
Meet all the requirements of the first normal form.
Remove subsets of data that apply to multiple rows of a table and place them in seperate tables.
Create relationships between these new tables and their predecessors through the use of foreign keys.
- Third Nomal form (3NF) goes on large step further:
Meet all the requirements of the second normal form.
Remove columns that are not dependent upon the Primary key.
- Eliminate duplicative columns (skill1, skill2, skill3) since all three columns belong to single logical name skills.
- Create seperate table for each group of related data and identify each row with unique column or set of columns ( the Primary key).
- Remove subsets of data that apply to multiple rows of a table and place them in seperate tables.
- Create relationships between these new tables and their predecessors through the use of foreign keys.
- Remove the columns that are not dependent upon the Primary key.
Note: For performance issues , always normalize to third normal form .

