SQL - Normalization
Normalization is the process of efficiently organizing data in a database. There are two goals of the normalization process: eliminating redundant data (for example, storing the same data in more than one table) and ensuring data dependencies make sense (only storing related data in a table). Both of these are worthy goals as they reduce the amount of space a database consumes and ensure that data is logically stored. There are several benefits for using Normalization in Database.
First Normal Form (1NF)
Remove repetitive groups.
Second Normal Form (2NF)
Remove redundant groups and create separate table.
Third Normal Form (3NF)
Remove columns that are not dependent upon the primary key and create separate tables.
Fourth Normal Form (4NF) or Boyce and Codd NF
If PK is composed of multiple columns then all non-key attributes should be derived from FULL PK only. If some non-key attribute can be derived from partial PK then remove it.