Normalization is a concept through which redundant data is removed in order to improve the storage efficiency, data integrity, and scalability. There are various methods for measuring the efficiency of a database. These methods are referred to as normal forms. In a conventional normalization process, the data tables are divided into multiple smaller tables. When a search query is input, these smaller tables are merged together for display.
The concept of normalization was first proposed by Edgar F. Codd. In his paper, A Relational Model of Data for Large Shared Data Banks, Codd has discussed the first form of normalization. Later, he went on to establish three normalized forms; the first, second and third normalized forms respectively. Since then, different kinds of normalized forms have been developed, but the third normalized form developed by Codd is still considered to be the most applicable. While converting a database into its third normalized form, it passes through an intermediate stage known as the Boyce-Codd Normal Form (BCNF). The normalization process is described in the flowchart below:

First Normal Form (1NF)
The first normal form is a fundamental part of the relation in a relational database. It removes repeating fields by creating a new table. Every attribute in first normal form is functionally dependent on the primary key.
Second Normal Form (2NF)
The second normal form performs a similar function to the first normal form; however, create a table where repeating values rather than repeating fields. In second normal form, every non-primary key attribute is fully functionally dependent on the primary key. If there is a partial dependency then that should be removed and put into a new relation.
Third Normal Form (3NF)
In the third normal form, all the transitive dependencies that exist on the primary key have to be removed and placed in a new relation along with a copy of the dominant.
Denormalization
Denormalization is often the opposite of the processing performed by normalization. It can be applied to a database model to create a data warehouse or reporting only tables. It is essential when describing denomalization to understand the steps of normalization (normal form).