Database normalization is a technique to remove the redundancy and dependency of a table. It is also process of decomposing the un-necessory relationships.

Normalization follows below normal forms.

1st Normal Form (1NF)
2nd Normal Form (2NF)
3rd Normal Form (3NF)
Bryce-Codd Normal Form (BCNF)
4th Normal Form (4NF)
5th Normal Form (5NF)


First Normal Form (1NF)
A database is in first normal form if it Contains only atomic values and There are no repeating groups.

An atomic value is a value that cannot be divided.
A repeating group means that a table contains two or more columns that are closely related. 


Second Normal Form (2NF)
A database is in second normal form if it follow the 1st normal form and All non-key attributes are fully functional dependent on the primary key.


Third Normal Form (3NF)
A database is in third normal form if it follow the 2nd normal form and There is no transitive functional dependency.

By transitive functional dependency, we mean we have the following relationships in the table: A is functionally dependent on B, and B is functionally dependent on C. In this case, C is transitively dependent on A via B.

  • MySQL
  • database
  • normalization