Normalization 1NF, 2NF, and 3NF
Learn how to normalize a table from 1NF to 3NF.
Think of a storage room where everything is thrown in randomly—books mixed with tools, groceries tangled with clothes. Finding anything would be a nightmare! The same happens in a database if we don’t organize data properly. Databases aren’t just about storing information; they help connect related data in a meaningful way. But just creating tables isn’t enough—we need a smart way to structure them and avoid unnecessary duplication. That’s where normalization comes in!
What is normalization?
Normalization is the process of organizing a database to reduce redundancy and improve data consistency. It involves breaking large tables into smaller, related tables while maintaining data integrity.
Note: By applying normalization, we break a large table into smaller tables based on functional dependencies.
Step-by-step normalization process
Now that we understand why normalization is necessary, let’s take this Orders
table as an example to explore the concept of normalization:
Order_ID | Customer_Email | Customer_Name | Address | ISBN | Title | Author | Price |
101 | john@email.com | John Doe | NY, USA | 978-12345, 978-67890 | Book A, Book B | Alice, Bob | $10, $15 |
102 | jane@email.com | Jane Smith | LA, USA | 978-12345 | Book A | Alice | $10 |
First Normal Form (1NF)
Our original table contains repeating groups, meaning multiple values exist in a single row.
For example: Order
101 has two books listed but still share the same Order_ID
, Customer_Email
, and Address
.
1NF rules:
Remove repeating groups from the table.
Each row must be uniquely identifiable. ...