Database Normalization
also: normal forms · 3NF
Structuring a database to eliminate redundancy — each fact stored once — trading some read joins for write integrity.
Normalization is organizing a relational database so each piece of information is stored exactly once, splitting data into related tables to eliminate redundancy. The normal forms (1NF, 2NF, 3NF) are progressive rules; 3NF is the common practical target.
Worked example: instead of repeating a customer’s address on every order row, you store customers in one table and reference them by id from orders — update the address once and every order reflects it, with no risk of inconsistent copies. Gotcha: normalization guarantees integrity but requires joins to reassemble data, which can be slow at scale — so analytics and read-heavy paths deliberately denormalize (a star schema, a materialized view); the rule of thumb is “normalize until it hurts, denormalize until it works.”