What is database normalization?

This is from out support forum:

I want to ask any good resources to understand about database normalization.

Thank You,
Mohammed Esoofally

Say you have a simple table with the name “employees”:


Id | Name | Department

1 | Sandeep | Machine Learning
2 | Mohammed | Machine Learning
3 | Gopal | Big Data

To normalize this, we would create another table “departments”:

Id | Name

1 | Machine Learning
2 | Machine Learning
3 | Big Data

and then refer the id instead of the name of the department:


Id | Name | DepId

1 | Sandeep | 1
2 | Mohammed | 1
3 | Gopal | 2

The DepId in employees table is now referring to the id of departments table. DepId is called a foreign key.

This is a very simple example of normalization.

You could take a detailed look at https://en.wikipedia.org/wiki/Database_normalization