Quality Online Education Since 2009


Database Normalization

Database normalization is a database schema design technique, by which an existing schema is modified to minimize redundancy and dependency of data.

Normalization split a large table into smaller tables and define relationships between them to increases the clarity in organizing data.

Some facts about database normalization

Normalization of a Database is achieved by following a set of rules called ‘forms’ in creating the database.

There are 5 rules mentioned below.

1st Normal Form (1NF)

Each column is unique.


Employee table:

Employee Age Department
Melvin 32 Marketing, Sales
Edward 45 Quality Asurance
Alex 36 Human Resource

Employee table following 1NF:

Employee Age Department
Melvin 32 Marketing
Melvin 32 Sales
Edward 45 Quality Asurance
Alex 36 Human Resource

2nd Normal Form (2NF)

The entity should be considered already in 1NF and all attributes within the entity should depend solely on the unique identifier of the entity.


Products table:

productID product Brand
1 Monitor Apple
2 Monitor Samsung
3 Scanner HP
4 Head phone JBL

Product table following 2NF:
Products Category table:

productID product
1 Monitor
2 Scanner
3 Head phone

Brand table:

brandID brand
1 Apple
2 Samsung
3 HP

Products Brand table:

pbID productID brandID
1 1 1
2 1 2
3 2 3
4 3 4

3rd Normal Form (3NF)

The entity should be considered already in 2NF and no column entry should be dependent on any other entry (value) other than the key for the table.

If such an entity exists, move it outside into a new table.

3NF is achieved are considered as the database is normalized.

Boyce & Codd (BCNF)

3NF and all tables in the database should be only one primary key.


Tables cannot have multi-valued dependencies on a Primary Key.


Composite key shouldn’t have any cyclic dependencies.

Well this is a highly simplified explanation for Database Normalization. One can study this process extensively though. After working with databases for some time you’ll automatically create Normalized databases. As, it’s logical and practical.