Ans. In Database, Normalization is an important topic. It is the systematic process of organizing data in tables in such a way so as to reduce the redundancy in the database as well as to eliminate undesirable anomalies such as insertion, deletion and updation anomalies. It usually involves dividing a database into more than one table and defining the relationships between those tables. The main use of Normalization is to keep the data isolate so that additions, deletions, updation and modification can be done on one table and passed on the result in different tables with the help of different relationship in the databases.
1. First Normal Form(1NF): According to this technique, the table is divided in such a way that each row of a particular attribute contains atomic values.
For example, in an students’ details list, each row should contain only one phone number in the Phone No. attribute.
2. Second Normal Form (2NF): For applying this technique, first of all the table must be in 1NF. So in this technique in a table all the attributes must be dependent on the key attributes. If it is not, divide the table and place them in the different one.
For example, in a table there are five attributes namely Customer_id, Customer_name, Order_id, Order_name and Sales_details. Among those Customer_Id and Order_id are keys. Customer_Name is dependent on Customer_Id and Order_Name is dependent on Order_Id. So divide the table into two – one containing Customer_Id and Customer_Name, another containing Order_Id and Order_Name. And as Sales details is dependent on both Customer_Id and Order_Id, divide it into a third table. Then it would be in 2NF form.
3. Third Normal Form (3NF): Every table should be in 2NF and then indirect dependency attribute should be separated in different table. Then it would be in 3NF form.
For example, if a table is in 3NF form and the attributes are Student_Id, Student_Name, DOB, ZIP_Code, City. From the name of the attributes one can guess that Student_Name, DOB and ZIP_Code is dependent on Student_Id but City is dependent on ZIP_Code. So divide them into two tables, one containing Student_id, Student_Name, DOB and ZIP_Code and the other containing ZIP_Code and City. After that it would be in 3NF form.
There are additional normal form also which are as follows:
1. Boyce Codd Normal Form (BCNF)
2. Fourth Normal Form (4NF)
3. Fitfth Normal Form (5NF)
4. Domain / Key Normal Form
5. Sixth Normal Form (6NF)