What is database normalization
· Category: SQL & Databases
Short answer
Normalization organizes database columns and tables to reduce data redundancy and improve integrity. The main normal forms are 1NF, 2NF, 3NF, and BCNF. For schema design fundamentals, see how to design a database schema from scratch. For performance after normalization, see what are database indexes and how do they work.
Steps
- 1NF: Ensure atomic values and no repeating groups
- 2NF: Remove partial dependencies on composite keys
- 3NF: Remove transitive dependencies on non-key attributes
- BCNF: Ensure every determinant is a candidate key
- Evaluate whether denormalization is needed for read performance
Tips
- Normalize first, then selectively denormalize if query performance requires it
- Use foreign keys to enforce relationships between normalized tables
- For managing schema changes, see how to implement database migrations