SQL Tutorial 0/85 lessons ~6 min read Lesson 23
Normalization
Normalization is the process of organizing data to remove redundancy and dependency anomalies.
Course progress0%
Focus
6 guided sections
Practice signal
Examples included
Career prep
Foundation builder
Introduction
Normalization is the process of organizing data to remove redundancy and dependency anomalies. The first three normal forms (1NF, 2NF, 3NF) cover 99% of real-world design.
Understanding the topic
Core concepts to understand:
- 1NF: atomic values — no lists or repeating groups in a column.
- 2NF: 1NF + no partial dependency on a composite PK.
- 3NF: 2NF + no transitive dependencies (non-key columns depend only on PK).
- BCNF is a stricter version of 3NF.
- Goal: each fact stored exactly once, in the right place.
Syntax reference
Visual workflow / architecture:
bash
Bad (denormalized)orders(id, customer_name, customer_email, items 'A,B,C')▲ duplicates name/email everywhere▲ items as CSV breaks queriesGood (3NF)users(id, name, email)orders(id, user_id, ...)order_items(order_id, product_id, qty, price)
Real-world use
Every healthy production schema is at least in 3NF. Reporting warehouses sometimes denormalize for speed — that's a separate trade-off.
Best practices
- Aim for 3NF in OLTP (transactional) databases.
- Denormalize only with measured reason and clear ownership.
- Each fact lives in exactly one place.
Hands-on exercise
Interview preparation — practice these questions:
- Q1. State 1NF, 2NF, 3NF.
- Q2. Example of a 1NF violation.
- Q3. Example of a transitive dependency.
- Q4. When to denormalize?
- Q5. What is BCNF?
Ready to mark this lesson complete?Track your journey across the entire course.