Introduction
You've learned about normalization — the art of splitting data to remove redundancy. But what if your queries now need to join five tables just to show a student's marks and teacher name? That's where denormalization comes in. It’s about breaking the rules — but for a reason: performance.
What is Denormalization?
Denormalization is the process of combining data from multiple related tables into one to reduce joins and improve query speed. While it introduces redundancy, the trade-off can be worth it — especially for read-heavy systems.
Example Use Case – School System
Normalized Design
-- Table: students
CREATE TABLE students (
roll_no INT PRIMARY KEY,
name VARCHAR(50),
class VARCHAR(10)
);
-- Table: results
CREATE TABLE results (
roll_no INT,
subject VARCHAR(30),
marks INT,
FOREIGN KEY (roll_no) REFERENCES students(roll_no)
);
-- Table: subjects
CREATE TABLE subjects (
subject VARCHAR(30) PRIMARY KEY,
teacher VARCHAR(50)
);
To get full student result with teacher:
SELECT s.name, s.class, r.subject, r.marks, sub.teacher
FROM students s
JOIN results r ON s.roll_no = r.roll_no
JOIN subjects sub ON r.subject = sub.subject;
This query is correct and efficient for small data. But if millions of records grow and performance lags, consider denormalization.
Denormalized Version
CREATE TABLE student_report (
roll_no INT,
name VARCHAR(50),
class VARCHAR(10),
subject VARCHAR(30),
marks INT,
teacher VARCHAR(50)
);
Now to fetch student result with teacher:
SELECT name, class, subject, marks, teacher
FROM student_report
WHERE roll_no = 1;
name | class | subject | marks | teacher
----------------+--------+---------+--------+-----------
Aarav Sharma | 10A | Maths | 85 | Mr. Nair
Aarav Sharma | 10A | Science | 88 | Ms. Banerjee
Hybrid Approach: Materialized Views
Some systems use materialized views (precomputed queries stored as tables) to balance normalization with performance — often refreshed daily or hourly.
Summary
Denormalization is not the opposite of good design — it’s a practical extension of it. When your database grows and performance becomes critical, denormalizing wisely can simplify your queries and boost speed. Just remember: with great performance comes great responsibility — keep your redundant data in check.
What’s Next?
Coming up next: ER Diagrams – how to visually design and document your database schema for teams and stakeholders.

About the authorSrinivas Namala
Software Engineer
Srinivas focuses on backend development, databases, systems, and the technologies used to build reliable server-side applications.
View LinkedIn profile ↗