Normalization
🔹 Definition
Normalization is the process of organizing data in a database to improve its
design by reducing redundancy and dependency.
👉 Objective:
To create relations where every dependency is on the key, the whole key, and
nothing but the key.
🔹 Need for Normalization
Normalization is required to remove data redundancy, which can cause:
Insert anomaly
Update anomaly
Delete anomaly
👉 It helps in:
Improving data integrity
Efficient storage
Easier database maintenance
🔹 Functional Dependency
A functional dependency occurs when one attribute determines another.
👉 Representation: A → B
Meaning: If two records have same value of A, then they must have same value
of B.
👉 Example:
EmpNum → EmpEmail
👉 The left-hand side attribute is called determinant.
🔹 Types of Dependencies
1. Partial Dependency
Occurs when a non-key attribute depends only on part of a composite key.
2. Transitive Dependency
If A → B and B → C, then A → C.
Here C is transitively dependent on A.
🔹 Normal Forms
✅ First Normal Form (1NF)
A relation is in 1NF if:
All values are atomic (single-valued)
No repeating groups
Each row is unique
👉 Removes multi-valued attributes
✅ Second Normal Form (2NF)
A relation is in 2NF if:
It is already in 1NF
All non-key attributes fully depend on the entire primary key
No partial dependency
👉 Removes partial dependency
✅ Third Normal Form (3NF)
A relation is in 3NF if:
It is in 2NF
No transitive dependency exists
Non-key attributes depend only on the primary key
👉 Removes transitive dependency
✅ Boyce-Codd Normal Form (BCNF)
A relation is in BCNF if:
It is in 1NF
Every determinant is a candidate key
👉 It is stronger than 3NF and gives better normalization
✅ Fourth Normal Form (4NF)
Relation is in BCNF
No multi-valued dependency exists
✅ Fifth Normal Form (5NF)
Relation is in 4NF
Removes complex join dependencies
Ensures proper decomposition
🔹 Order of Normal Forms
1NF → 2NF → 3NF → BCNF → 4NF → 5NF
👉 Each higher normal form reduces redundancy further
🔹 Conclusion
Normalization is an important technique in database design that removes
redundancy, avoids anomalies, and ensures data consistency by organizing
tables into different normal forms.