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 queries
    Good (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.