Datenbank Normalization Referenz
Referenz für Datenbank normal forms: 1NF durch 5NF und BCNF, mit practical guidance.
Normal Forms
1NF: atomic values, no repeating groups. 2NF: 1NF + no partial dependencies (all non-key attributes depend on the full key). 3NF: 2NF + no transitive dependencies (non-key attributes depend only on the key). BCNF: 3NF + every determinant is a candidate key (stricter than 3NF). 4NF: BCNF + no multi-valued dependencies. 5NF: 4NF + no join dependencies. Each form reduces redundancy and anomalies. Most practical designs target 3NF or BCNF.
- 1NF
- Atomic values
- 3NF
- No transitive deps
- BCNF
- Every det is key
no repeating groups common target stricter 3NF Practical Considerations
Normalization reduces redundancy and anomalies (insert, update, delete) but increases joins. Denormalization trades redundancy for read performance, common in data warehouses and read-heavy systems. Over-normalization (5NF, 6NF) is rarely needed and complex. Consider query patterns when designing: normalize for OLTP, denormalize for OLAP. Surrogate keys (auto-increment IDs) simplify relationships but lose natural meaning. Foreign keys enforce referential integrity. Document databases (NoSQL) often denormalize by embedding, trading consistency for simplicity.
- denormalize
- Trade redundancy for speed
- OLTP vs OLAP
- Normalize vs denormalize
- surrogate key
- Auto ID
read-heavy different needs simpler relations