← Back to Questions
SQL

What are the types of normalization?

Learn What are the types of normalization? with simple explanations, real-time examples, interview tips and practical use cases.

Normalization in SQL is the process of organizing database tables to reduce redundancy and improve data integrity.

Normalization is divided into multiple stages called:

Normal Forms


Main Types of Normalization

  • 1NF - First Normal Form
  • 2NF - Second Normal Form
  • 3NF - Third Normal Form
  • BCNF - Boyce Codd Normal Form
  • 4NF - Fourth Normal Form
  • 5NF - Fifth Normal Form

Normalization Flow

Unnormalized Data
        |
        v
1NF
        |
        v
2NF
        |
        v
3NF
        |
        v
BCNF
        |
        v
4NF
        |
        v
5NF

Why Normalization is Important

  • Reduces duplicate data
  • Improves consistency
  • Improves maintainability
  • Improves database design
  • Prevents anomalies

Related Learning Topics


1NF - First Normal Form

A table is in First Normal Form (1NF) if:

  • Each column contains atomic values
  • No multiple values in single column
  • Each row is unique

What is Atomic Value?

Atomic value means:

Single value in one column.


Bad Example (Not in 1NF)

ID Name Courses
1 Naresh MySQL, Java

Problem

Multiple values stored in one column.


Correct 1NF Example

ID Name Course
1 Naresh MySQL
1 Naresh Java

Benefits of 1NF

  • Improves consistency
  • Makes querying easier
  • Removes repeating groups

2NF - Second Normal Form

A table is in Second Normal Form (2NF) if:

  • It is already in 1NF
  • No partial dependency exists

What is Partial Dependency?

Partial dependency occurs when:

A non-key column depends only on part of composite key.


Bad Example

Student ID Course ID Student Name Course Name
1 101 Naresh MySQL

Problem

Composite key:

(student_id, course_id)

But:

student_name

depends only on:

student_id

Solution

Split table into:

  • Students Table
  • Courses Table
  • Enrollments Table

2NF Architecture

Large Table
      |
      v
Remove Partial Dependency
      |
      v
Separate Related Tables

Benefits of 2NF

  • Reduces redundancy
  • Improves maintainability
  • Prevents duplicate storage

3NF - Third Normal Form

A table is in Third Normal Form (3NF) if:

  • It is already in 2NF
  • No transitive dependency exists

What is Transitive Dependency?

Transitive dependency occurs when:

A non-key column depends on another non-key column.


Bad Example

Student ID Department ID Department Name
1 D101 Computer Science

Problem

Department Name depends on:

Department ID

not directly on:

Student ID

Solution

Create separate department table.


3NF Structure

Students Table

Student ID Department ID
1 D101

Departments Table

Department ID Department Name
D101 Computer Science

Benefits of 3NF

  • Removes transitive dependency
  • Improves data consistency
  • Reduces update anomalies

BCNF - Boyce Codd Normal Form

BCNF is an advanced version of 3NF.

A table is in BCNF if:

Every determinant is a candidate key.


Why BCNF is Needed

Some dependency problems still remain even after 3NF.

BCNF solves those advanced issues.


Example Scenario

Suppose:

Teacher -> Subject

Subject -> Room

Complex dependencies may still create redundancy.


Benefits of BCNF

  • Handles advanced dependency problems
  • Improves database consistency further

4NF - Fourth Normal Form

A table is in 4NF if:

  • It is already in BCNF
  • No multi-valued dependency exists

What is Multi-Valued Dependency?

When one column depends on multiple independent values.


Bad Example

Student Course Hobby
Naresh MySQL Cricket
Naresh Java Cricket

Problem

Courses and hobbies are independent but repeated together.


Solution

Split into separate tables:

  • Student Courses
  • Student Hobbies

Benefits of 4NF

  • Reduces unnecessary repetition
  • Handles multi-valued dependencies

5NF - Fifth Normal Form

A table is in 5NF if:

  • It is already in 4NF
  • No join dependency exists

What is Join Dependency?

When information can be reconstructed only by joining multiple tables.


Why 5NF is Rare

5NF is mostly used in:

  • Very complex enterprise systems
  • Large-scale analytical databases

Normalization Levels Summary

Normal Form Main Goal
1NF Atomic values
2NF Remove partial dependency
3NF Remove transitive dependency
BCNF Advanced dependency handling
4NF Remove multi-valued dependency
5NF Remove join dependency

Real-Time Banking Example

Banking systems normalize:

  • Customers
  • Accounts
  • Transactions
  • Loans

This prevents:

  • Duplicate customer records
  • Incorrect balances

Real-Time E-Commerce Example

E-commerce platforms normalize:

  • Products
  • Orders
  • Customers
  • Payments

Normalization vs Denormalization

Feature Normalization Denormalization
Redundancy Reduced Increased
Read Performance Moderate Fast
Storage Efficiency High Lower

Advantages of Normalization

  • Reduces duplicate data
  • Improves consistency
  • Improves maintainability
  • Improves data integrity

Challenges of Normalization

  • More tables created
  • Complex JOIN queries
  • Performance overhead in some cases

Best Practices

  • Normalize up to 3NF in most applications
  • Use BCNF for complex systems
  • Use denormalization only when needed
  • Design proper keys and relationships

Normalization in Microservices

In microservices architecture:

  • Each service database may apply normalization independently

Example

User Service
    |
    v
users table

Order Service
    |
    v
orders table

Payment Service
    |
    v
payments table

Professional Interview Answer

The types of normalization in SQL are 1NF, 2NF, 3NF, BCNF, 4NF, and 5NF. Each normal form removes specific types of redundancy and dependency problems from database tables. 1NF removes repeating groups, 2NF removes partial dependency, 3NF removes transitive dependency, BCNF handles advanced dependency issues, 4NF removes multi-valued dependency, and 5NF removes join dependency. Normalization improves database consistency, maintainability, and data integrity in relational database systems.


Why Interviewers Like This Answer

  • Explains all normal forms clearly
  • Includes practical examples
  • Shows database design understanding
  • Covers advanced normalization concepts
  • Includes real-world applications

Frequently Asked Questions

What are the types of normalization?

1NF, 2NF, 3NF, BCNF, 4NF, and 5NF.

Which normal form is most commonly used?

3NF is most commonly used in real-world applications.

What is BCNF?

BCNF is an advanced version of 3NF handling complex dependencies.

Why normalization is important?

Normalization reduces redundancy and improves data consistency.

What is denormalization?

Denormalization combines tables intentionally to improve performance.

Why this SQL question is important?

This interview question helps candidates understand real-time backend development concepts, practical problem solving, coding fundamentals, system design basics and production-ready application behavior.

Practice this question carefully for Java backend roles, Spring Boot developer interviews, microservices interviews, company interviews and full-stack developer preparation.

About the Author

Naresh Kumar is a Senior Java Backend Engineer with experience building enterprise applications using Java, Spring Boot, Microservices, Docker, Kubernetes and Cloud technologies.