Glossary · Databases

Database Normalization

Database normalization is the process of structuring tables to reduce redundancy and update anomalies by splitting data into related tables.

Updated October 6, 2026

Database normalization is the process of organizing tables so each fact is stored once, reducing duplication and update anomalies. It is described by normal forms, such as 1NF, 2NF, and 3NF.

Why it matters

Without normalization, the same customer address can be copied onto thousands of order rows, and changing it means updating them all, with a risk of inconsistencies. Normalized designs keep data accurate and smaller. The cost is more joins at read time, so reporting systems and some high-read workloads deliberately denormalize.

Example

Unnormalized:

orders(id, customer_name, customer_email, product, price)

Normalized into related tables:

customers(id, name, email)
products(id, title, price)
orders(id, customer_id, product_id)

Changing an email now touches exactly one row.

Common mistakes

  • Normalizing to the extreme where simple pages need ten joins.
  • Denormalizing early "for performance" without measuring, then living with inconsistent copies.
  • Storing multiple values in one column instead of creating a child table.

Get notified when this term updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.