Normalization
About
Objectives of Normalization
1. Eliminate Data Redundancy (Avoid Storing Duplicate Data)
Orders Table: +-----------+------------+------------+-------------------+ | Order ID | Customer | Email | Address | +-----------+------------+------------+-------------------+ | 101 | John Doe | john@email | NY, USA | | 102 | John Doe | john@email | NY, USA | | 103 | Alice Lee | alice@email| CA, USA | +-----------+------------+------------+-------------------+Customers Table: +------------+----------+------------+------------+ | CustomerID | Name | Email | Address | +------------+----------+------------+------------+ | 1 | John Doe | john@email | NY, USA | | 2 | Alice Lee| alice@email| CA, USA | +------------+----------+------------+------------+ Orders Table: +-----------+------------+ | Order ID | CustomerID | +-----------+------------+ | 101 | 1 | | 102 | 1 | | 103 | 2 | +-----------+------------+
2. Ensure Data Integrity and Consistency
3. Reduce Update Anomalies (Insertion, Update, Deletion Issues)
Insertion Anomaly
Update Anomaly
Deletion Anomaly
4. Improve Data Maintainability
Normal Forms (NF)
First Normal Form (1NF)
Second Normal Form (2NF)
Third Normal Form (3NF)
Boyce-Codd Normal Form (BCNF)
Examples
Course_ID
Instructor
Room_No
Converting to BCNF (Decomposition)
Table 1: Course
CourseCourse_ID
Room_No
Table 2: Instructor_Room
Instructor_RoomInstructor
Room_No
EmployeeID
EmployeeName
ProjectID
ProjectName
Department
EmployeeID
EmployeeName
ProjectID
ProjectID
ProjectName
Department
Is Normalization applicable only to SQL ?
1. Normalization in SQL (Relational Databases)
2. Normalization in NoSQL (Non-Relational Databases)
Last updated