0% found this document useful (0 votes)
3 views2 pages

CS340 Database Systems Normalization Notes

Normalization is the process of organizing relational tables to reduce redundancy and avoid anomalies, defined by a series of normal forms based on functional dependencies. The normal forms include 1NF, 2NF, 3NF, and BCNF, each with specific requirements to ensure data integrity. While normalization reduces redundancy and improves consistency, it can lead to performance trade-offs due to increased table joins.

Uploaded by

asuleiman1028
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

CS340 Database Systems Normalization Notes

Normalization is the process of organizing relational tables to reduce redundancy and avoid anomalies, defined by a series of normal forms based on functional dependencies. The normal forms include 1NF, 2NF, 3NF, and BCNF, each with specific requirements to ensure data integrity. While normalization reduces redundancy and improves consistency, it can lead to performance trade-offs due to increased table joins.

Uploaded by

asuleiman1028
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

CS 340 — Database Systems

Normalization (1NF–BCNF)
Class Notes • July 27, 2026

1. Why Normalize?
Normalization is the process of organizing relational tables to reduce redundancy and avoid update, insertion, and deletion
anomalies. It works by decomposing tables according to a series of normal forms.

2. Functional Dependencies
A functional dependency X → Y means that the value of attribute set X uniquely determines the value of Y. Normalization
rules are defined in terms of functional dependencies.

3. The Normal Forms


First Normal Form (1NF)
• Each column holds atomic (indivisible) values.
• Each row is unique, typically enforced with a primary key.
• No repeating groups or arrays within a single column.

Second Normal Form (2NF)


• Must already be in 1NF.
• No partial dependency: every non-key attribute must depend on the whole primary key, not just part of it (relevant only
for composite keys).

Third Normal Form (3NF)


• Must already be in 2NF.
• No transitive dependency: non-key attributes must depend only on the primary key, not on other non-key attributes.

Boyce-Codd Normal Form (BCNF)


A stricter version of 3NF: for every functional dependency X → Y, X must be a superkey. Handles certain edge cases 3NF
misses.

4. Worked Example
Consider an unnormalized table of orders:

OrderID CustomerName Product ProductPrice


101 Ama Owusu Laptop 5000
101 Ama Owusu Mouse 80
102 Kofi Mensah Laptop 5000
ProductPrice depends only on Product, not on the full (OrderID, Product) key — a partial dependency that violates 2NF. The
fix is to split this into an Orders table, a Products table (Product → ProductPrice), and an OrderItems junction table.

5. Normalization Tradeoffs
• Pros: less redundancy, fewer anomalies, smaller storage footprint, easier consistency.
• Cons: more tables means more joins, which can hurt read performance.
• Denormalization is sometimes applied deliberately in read-heavy analytical systems to trade redundancy for speed.
6. Key Takeaways
• Each normal form builds on the previous one — you cannot skip levels.
• Most production schemas target 3NF as a practical balance.
• Normalization is about dependencies, not just 'splitting tables' — always ask what determines what.

You might also like