Normalization is a process for assigning attributes to entities. It reduces data redundancies and helps eliminate the data anomalies.
Normalization works through a series of stages called normal forms:
First normal form (1NF)
Second normal form (2NF)
Third normal form (3NF)
Boyce-Codd Normal Form (BCNF)
The highest level of normalization is not always desirable.