DBMS Normal Forms: A Comprehensive Guide with Examples
Updated on : 17 April, 2025

Image Source: google.com
Table Of Contents
- 1. Introduction to Database Normalization?
- 2. What is the Purpose of Normalization?
- 3. What are the Levels of Normalization?
- 4. The First Normal Form (1NF)
- 5. The Second Normal Form (2NF)
- 6. The Third Normal Form (3NF)
- 7. Boyce-Codd Normal Form (BCNF)
- 8. Fourth Normal Form (4NF)
- 9. Fifth Normal Form (5NF)
- 10. Sixth Normal Form (6NF)
- 11. Examples of 1NF, 2NF, and 3NF
- 12. Benefits of Database Normalization
- 13. How Hexadecimal Software Can Help You With DBMS Normal Forms
- 14. Frequently Asked Questions (FAQs)
- 15. Conclusion
Table Of Contents
Introduction to Database Normalization
Database normalization is the process of structuring a relational database to reduce data redundancy and improve data integrity. It uses a series of rules, called DBMS normal forms, to guide how tables should be designed.
This blog explains the first three normal forms (1NF, 2NF, 3NF), why normalization in DBMS matters, and includes clear DBMS examples and diagrams.
What is the Purpose of Normalization?
Normalization helps improve the organization of data in a database by reducing redundancy and improving data integrity.
Purpose | Description |
---|---|
Eliminating Redundancy | Reduces duplicate data and helps in storing data only once. |
Improving Data Integrity | Ensures the accuracy and consistency of data throughout the database. |
Enhancing Efficiency | Improves database performance by reducing storage needs and speeding up queries. |

Image Source: google
What are the Levels of Normalization?
Normalization is structured into multiple levels known as normal forms (NF), each of which reduces redundancy in specific ways.
Normal Form | Description |
---|---|
1NF | Eliminates repeating groups, making data atomic and ensuring each column has unique values. |
2NF | Eliminates partial dependencies, ensuring non-key attributes depend on the full primary key. |
3NF | Removes transitive dependencies, where non-key attributes depend on other non-key attributes. |
BCNF | A stricter version of 3NF, ensuring every determinant is a candidate key. |
4NF | Removes multi-valued dependencies where multiple independent attributes depend on each other. |
5NF | Ensures that data can’t be split into smaller tables without losing information. |
6NF | Used for time-dependent data in databases that track changes over time. |

Image Source: google
The First Normal Form (1NF)
The First Normal Form (1NF) is the most basic level of database normalization. It ensures that:
- Every column contains only atomic (indivisible) values.
- Each record (row) is unique.
- There are no repeating groups or arrays in a single column.
This helps maintain data consistency and makes querying easier.
Issue | Description |
---|---|
Non-Atomic Values | Each field should contain only a single value. If a column contains a list or a set, it violates 1NF. |
Repeating Groups | Columns should not contain multiple fields of the same type (e.g., Subject1, Subject2). Instead, create separate rows. |
Unstructured Data | Data must be organized into well-defined columns and rows with clear labels. |
Example of 1NF
Let’s understand 1NF with a simple example. Suppose we have a student table where the Subjects column contains multiple values.
Table before 1NF (Unnormalized Data):
StudentID | Name | Subjects |
---|---|---|
1 | John | Math, English |
2 | Jane | Science, History |
This table violates 1NF because the "Subjects" column contains multiple values in a single field.
Table after applying 1NF (Normalized Data):
We split the multiple values in the "Subjects" column into individual rows, making the data atomic.
StudentID | Name | Subject |
---|---|---|
1 | John | Math |
1 | John | English |
2 | Jane | Science |
2 | Jane | History |
Now the table follows 1NF because:
- Each cell contains only one value.
- There's no repetition of groups.
- Data is structured in a clear and consistent format. Here are your updated links in the same format as the UI/UX Design Services one you provided:
Leverage expert SQL Server developers to build scalable, secure, and high-performance database solutions.
Let me know if you’d like the tone to be more technical, casual, or aligned with a specific audience (e.g., startups, enterprises).
The Second Normal Form (2NF)
Second Normal Form (2NF) builds on 1NF and addresses the concept of partial dependency. A table is in 2NF if:
- It is already in 1NF.
- All non-key attributes are fully functionally dependent on the entire primary key, not just part of it.
This is especially relevant when the table has a composite primary key (a key formed by more than one column).
Issue | Description |
---|---|
Partial Dependency | Some attributes rely only on part of a composite primary key, rather than the whole key. |
Data Duplication | Redundant data exists because fields like 'Teacher' are repeated for every student taking the same subject. |
Update Anomalies | If a teacher changes, you have to update multiple rows, increasing the chance of inconsistent data. |
Example of 2NF
Let’s look at a student-course-teacher scenario:
Table before 2NF (violating partial dependency):
StudentID | Subject | Teacher | DeptID |
---|---|---|---|
1 | Math | Mr. A | 101 |
1 | English | Mr. B | 102 |
2 | Science | Mr. C | 101 |
Here, the composite primary key is (StudentID, Subject)
. However:
Teacher
andDeptID
depend only on Subject, not on the full key.
This violates 2NF due to partial dependencies.
After applying 2NF (Breaking into separate tables):
We remove the partial dependency by creating two separate tables:
StudentSubject Table (to capture enrollment):
StudentID | Subject |
---|---|
1 | Math |
1 | English |
2 | Science |
SubjectDetails Table (to store subject-specific info):
Subject | Teacher | DeptID |
---|---|---|
Math | Mr. A | 101 |
English | Mr. B | 102 |
Science | Mr. C | 101 |
Now:
- Each table has a clear purpose.
- No non-key attribute depends on only part of a key.
- The design is more maintainable and normalized.

Need expert help with database design and optimization?
The Third Normal Form (3NF)
Third Normal Form (3NF) ensures that a table is:
- Already in 2NF
- And that non-key attributes do not transitively depend on other non-key attributes.
This avoids transitive dependencies, where:
A → B and B → C implies A → C
In normalization, such indirect dependencies must be removed.
Issue | Description |
---|---|
Transitive Dependency | Non-key attributes depend on other non-key attributes, creating an unnecessary dependency chain. |
Data Duplication | Redundancy happens when the same information is stored repeatedly due to indirect dependencies. |
Example of 3NF
Before 3NF:
StudentID | Name | DeptID | DeptName |
---|---|---|---|
1 | John | 101 | Science |
2 | Jane | 102 | Arts |
Here:
StudentID
is the primary key.DeptName
depends onDeptID
, not directly on the primary key — causing a transitive dependency.
After 3NF:
Student Table:
StudentID | Name | DeptID |
---|---|---|
1 | John | 101 |
2 | Jane | 102 |
Department Table:
DeptID | DeptName |
---|---|
101 | Science |
102 | Arts |
Now:
DeptName
is moved to a separate table.- No transitive dependencies exist in either table.
Get reliable MySQL developers to optimize and manage your open-source relational databases effectively.
Boyce-Codd Normal Form (BCNF)
BCNF is an enhancement of 3NF. It deals with anomalies that 3NF does not handle when a non-candidate key acts as a determinant.
BCNF Condition:
For every functional dependency X → Y, X must be a candidate key.
Issue | Description |
---|---|
Determinant Violation | An attribute other than a candidate key determines another attribute. |
Candidate Key Enforcement | BCNF ensures all determinants are candidate keys. |
Example of BCNF
Before BCNF:
CourseID | Teacher | Room |
---|---|---|
CS101 | Dr. Smith | Room 1 |
CS102 | Dr. Brown | Room 2 |
CS103 | Dr. Smith | Room 3 |
Here:
Teacher → Room
is a valid dependency.- But
Teacher
is not a candidate key. Hence, it violates BCNF.
After BCNF:
Course Table:
CourseID | Teacher |
---|---|
CS101 | Dr. Smith |
CS102 | Dr. Brown |
CS103 | Dr. Smith |
Room Table:
Teacher | Room |
---|---|
Dr. Smith | Room 1 |
Dr. Brown | Room 2 |
Now:
- All functional dependencies stem from candidate keys.
- The schema satisfies BCNF.
Fourth Normal Form (4NF)
4NF addresses multi-valued dependencies (MVDs) — where a single attribute can independently determine multiple values of other attributes.
4NF Rule:
A table should not have more than one independent multi-valued dependency.
Issue | Description |
---|---|
Multi-Valued Dependency | An attribute like StudentID has multiple independent values for both Course and Hobby. |
Data Repetition | Storing combinations of independent sets leads to redundancy. |
Example of 4NF
Before 4NF:
StudentID | Course | Hobby |
---|---|---|
1 | CS101 | Painting |
1 | CS102 | Drawing |
2 | CS103 | Reading |
Here:
StudentID → Course
andStudentID → Hobby
are independent.- Storing both together in one table leads to unnecessary combinations.
After 4NF:
Student-Course Table:
StudentID | Course |
---|---|
1 | CS101 |
1 | CS102 |
2 | CS103 |
Student-Hobby Table:
StudentID | Hobby |
---|---|
1 | Painting |
1 | Drawing |
2 | Reading |
This structure:
- Removes multi-valued dependencies.
- Makes the data model cleaner and easier to manage.
Fifth Normal Form (5NF)
Fifth Normal Form (5NF), also known as Project-Join Normal Form (PJNF), ensures that data cannot be split into smaller tables through joins without introducing redundancy or losing information.
5NF mainly addresses join dependencies, which occur when:
A table can be decomposed into multiple tables, but recombining them may not preserve the original data.
Issue | Description |
---|---|
Join Dependency | Occurs when a relation can be reconstructed from multiple smaller relations but may lead to redundancy. |
Data Integrity | 5NF ensures no spurious data appears after decomposing and rejoining tables. |
Empower your applications with flexible and scalable NoSQL database solutions using skilled MongoDB developers.
Sixth Normal Form (6NF)
Sixth Normal Form (6NF) is used in temporal and time-series databases, where data is constantly changing over time and must be tracked precisely.
6NF breaks data into the most atomic form, especially for attributes that change independently over time.
Issue | Description |
---|---|
Time-Dependent Data | Used when individual attributes change over time and require versioning. |
Granular Data | Each piece of data is tracked in isolation to support full historical accuracy. |
Note: 6NF is rarely used in everyday transactional systems but is powerful in data warehousing or audit logging scenarios.
Examples of 1NF, 2NF, and 3NF
Let’s walk through a real-world normalization example step-by-step:
Unnormalized Form (UNF)
Data is stored without enforcing atomicity — multiple values in one field.
Original Table (Unnormalized):
StudentID | Name | Subjects | Department |
---|---|---|---|
1 | John | Math, English | Science |
2 | Jane | Science, History | Arts |
Issues:
Subjects
contains multiple values — violates atomicity.
First Normal Form (1NF)
1NF requires:
- Atomic values (no repeating groups or arrays)
- A unique identifier (primary key)
After 1NF:
StudentID | Name | Subject |
---|---|---|
1 | John | Math |
1 | John | English |
2 | Jane | Science |
2 | Jane | History |
Now:
- Each subject is stored in a separate row.
- Values are atomic.
Second Normal Form (2NF)
2NF requires:
- Already in 1NF
- No partial dependencies (all non-key attributes depend on the full composite key)
We remove partial dependency by creating new tables:
Student Table:
StudentID | Name |
---|---|
1 | John |
2 | Jane |
Subject Table:
Subject | Teacher | DeptID |
---|---|---|
Math | Mr. A | 101 |
English | Mr. B | 102 |
Science | Mr. C | 101 |
History | Mr. D | 102 |
Here:
Teacher
andDeptID
depend only onSubject
, not onStudentID + Subject
— now separated.
Third Normal Form (3NF)
3NF requires:
- Already in 2NF
- No transitive dependencies
In our example:
DeptName
depends onDeptID
, which is not a primary key — we normalize that.
Student Table:
StudentID | Name |
---|---|
1 | John |
2 | Jane |
Department Table:
DeptID | DeptName |
---|---|
101 | Science |
102 | Arts |
Now:
DeptName
is moved to a new table.- No transitive dependencies exist.
This sequence clearly demonstrates how each level of normalization simplifies the schema, eliminates redundancy, and improves integrity.

Looking for reliable database development services?
Benefits of Database Normalization
Applying normalization in DBMS has many advantages:
- ✅ Reduces data redundancy
- ✅ Maintains data integrity
- ✅ Increases flexibility and scalability
- ✅ Ensures consistent query results
- ✅ Makes databases easier to maintain
Following DBMS normal forms improves overall application performance, especially in data-heavy systems.
How Hexadecimal Software Can Help You With DBMS Normal Forms
At Hexadecimal Software, we specialize in designing efficient relational databases using DBMS normalization techniques such as 1NF, 2NF, and 3NF.
🧱 Structured Database Architecture
We apply proper normal forms to ensure your database is free of redundancy, supports fast queries, and maintains data integrity.
🛠️ Normalization Consulting
Our experts guide you in applying 1NF, 2NF, and 3NF to transform unstructured or semi-structured tables into optimized relational schemas.
📊 Example-Driven Modeling
We use real-world use cases to model normalized tables—whether you're handling student records, course modules, or enterprise data.
🔗 Relational Integrity Enforcement
We build schemas with clear primary and foreign keys, ensuring strong entity relationships across normalized tables.
🚀 Optimization for Scale
Normalized structures lead to less storage overhead and better performance—ideal for apps that scale with large datasets.
🔍 Auditing & Refactoring
Already have a legacy database? We perform normalization audits and restructure your tables to align with 1NF, 2NF, and 3NF.
🚀 Talk to Our Database Experts
Get clean, structured, and high-performance database design with the power of DBMS normalization—built by the experts at Hexadecimal Software.
Frequently Asked Questions (FAQs)
Q1: What are DBMS normal forms?
A : They are guidelines (1NF, 2NF, 3NF...) used to structure databases efficiently.
Q2: Why is database normalization important?
A : It reduces redundancy, ensures data integrity, and improves query efficiency.
Q3: What is a candidate key?
A : Candidate key is a column (or a set of columns) that can uniquely identify a row in a table. A table can have multiple candidate keys, but only one is chosen as the primary key.
Q4: What happens if I skip normalization?
A : You risk slow queries, inconsistent data, and hard-to-maintain systems.
Q5: Can I normalize an existing database later?
A : Yes, but it must be done carefully to avoid breaking app functionality.
Conclusion
DBMS normal forms are the blueprint for clean, maintainable, and scalable databases. By applying 1NF, 2NF, and 3NF, you reduce clutter, boost performance, and lay the groundwork for integration with modern REST and SOAP APIs.
And if you're looking to build high-performance, secure, and scalable software that connects your database to the world—Hexadecimal Software is here to help.