What is data normalisation?

Data normalisation refers to organising data into tables such that no value is repeated in a table. The following three anomalies arise if data is not organised properly: insertion, deletion and updation. These anomalies either lead to the deletion of the required data or the creation of null values in various fields when data is inserted, deleted or updated into the database. To handle these anomalies, data normalisation is used. Data normalisation puts only the required information in each table such that there is no repetition of record in it. For example, if customer information, such as name, phone number and address, gets repeated in the ‘order’ table each time an order is placed, then, according to data normalisation, the customer information must be stored in a different table. The order table must contain only one foreign key that refers to the primary key of the customer table.

Data normalisation involves the following three steps:

1. First normal form (1NF): If all the fields in a table contain only one value, and each row of the table can be uniquely identified by a primary key, then that table is in 1NF.
2. Second normal form (2NF): If a table is in 1NF and if all the non-prime attributes are fully functionally dependent on the primary key of the table, then that table is in 2NF.
3. Third normal form (3NF): If a table is in 2NF and if it contains no transitive dependencies, then that table is in 3NF.