What is Normalization?
Imagine your school keeps all student records in one big table.
If the same information is written again and again, it becomes confusing and messy.
Normalization means cleaning and organizing the data so there is no repetition and
everything is stored properly.
We do this in steps called Normal Forms:
1. 1NF – Make data simple.
2. 2NF – Remove half-related data.
3. 3NF – Remove data that depends on other non-important things.
Let’s learn step by step.
1NF – First Normal Form
Main Idea:
Everything should be simple — no lists or commas inside a single box of a table.
Each box (cell) should have only one value.
Example (Before 1NF):
Student Subject Marks
Ali Math, English 85, 90
Sana Science 88
You can see that Ali has two subjects and two marks written in one box — that’s not
allowed in 1NF.
After 1NF:
Student Subject Marks
Ali Math 85
Ali English 90
Sana Science 88
Now each cell has only one value.
That’s 1NF — simple and clear data.
3 More Simple Examples of 1NF
1. Customers
Name Phone
Ahmed 0300-1234567
Bilal 0301-7654321
2. Books
Book Author
DBMS Basics Elmasri
AI for Beginners Russell
3. Movies
Title Genre
Avengers Action
Frozen Animation
Rule: One box = One piece of data.
2NF – Second Normal Form
Main Idea:
Remove data that doesn’t belong to the whole key (main ID).
In simple words:
If something depends only on part of the information, move it to another table.
Example:
Student_ID Course Student_Name Teacher
S01 Math Ali Mr. Ahsan
S01 English Ali Miss Sana
Here, Student_Name depends only on Student_ID (not on Course),
and Teacher depends on Course (not on Student).
So, we separate them!
After 2NF:
Student Table
Student_ID Student_Name
S01 Ali
Course Table
Course Teacher
Math Mr. Ahsan
English Miss Sana
Enrollment Table
Student_ID Course
S01 Math
S01 English
Now everything depends on the right thing.
No extra repetition!
3 More Simple Examples of 2NF
1. Orders
o Before: OrderID, ProductID, ProductName, Quantity
o After:
▪ Orders: OrderID, ProductID, Quantity
▪ Products: ProductID, ProductName
2. School
o Before: StudentID, SubjectID, StudentName, SubjectName
o After:
▪ Students: StudentID, StudentName
▪ Subjects: SubjectID, SubjectName
▪ Enrollment: StudentID, SubjectID
3. Hospital
o Before: PatientID, DoctorID, PatientName, DoctorName
o After:
▪ Patients: PatientID, PatientName
▪ Doctors: DoctorID, DoctorName
▪ Appointments: PatientID, DoctorID
Rule: Each table should only have information about one thing.
3NF – Third Normal Form
Main Idea:
Now remove extra information that depends on something other than the main key.
In short:
If one piece of info depends on another non-key piece, move it out.
Example:
Course Teacher Teacher_Phone
Math Mr. Ahsan 0300-1111111
English Miss Sana 0300-2222222
Here, Teacher_Phone depends on Teacher, not on Course.
That means we have a transitive dependency (A → B → C).
After 3NF:
Course Table
Course Teacher
Math Mr. Ahsan
English Miss Sana
Teacher Table
Teacher Teacher_Phone
Mr. Ahsan 0300-1111111
Miss Sana 0300-2222222
Now there is no extra dependency — everything is clean and tidy.
3 More Simple Examples of 3NF
1. Company
o Before: EmployeeID, DepartmentID, DepartmentName
o After:
▪ Employees: EmployeeID, DepartmentID
▪ Departments: DepartmentID, DepartmentName
2. Library
o Before: BookID, AuthorID, AuthorName
o After:
▪ Books: BookID, AuthorID
▪ Authors: AuthorID, AuthorName
3. School
o Before: StudentID, ZipCode, City
o After:
▪ Students: StudentID, ZipCode
▪ ZipCodes: ZipCode, City
Rule: No data should depend on something that’s not a key.
Summary Table
Normal Form Main Rule What We Do
1NF Each cell has one value Remove commas and lists
2NF Depends on full key Split partially related data
3NF No extra dependency Split indirect relationships
Conclusion
Normalization is like organizing your cupboard:
• In 1NF, you stop mixing things together.
• In 2NF, you separate things by type.
• In 3NF, you remove things that don’t belong at all.
After these steps, your database becomes neat, fast, and easy to use!