AccentureDatabaseMedium
What is normalization and when would you denormalize?
NormalizationDenormalizationSQLDatabase Design
Question
Explain normalization in relational databases. Why do teams sometimes denormalize despite normalization best practices?
Interview Answer
Start with normalization to avoid redundancy and update anomalies, then denormalize only when profiling proves read performance bottlenecks. Denormalization is a performance optimization, not a default design approach, because it increases duplication and synchronization complexity.
Explanation
Normalization keeps data consistent and easier to maintain, especially in transactional systems. Denormalization helps reduce joins for read-heavy paths such as dashboards and analytics. Teams usually adopt a hybrid approach: normalized OLTP schema plus selective denormalized read models or materialized views.
Key Points
- Normalization improves consistency and data quality
- Denormalization can reduce join overhead
- Use denormalization only after performance evidence
- Document ownership and sync strategy for duplicated fields
Common Mistakes
- Over-denormalizing early without profiling
- Assuming normalization always means poor performance
- Forgetting update consistency with duplicated data
Likely Follow-Up Questions
- Which normal form is usually enough for OLTP?
- How do materialized views compare to denormalized tables?
- How would you denormalize safely for analytics reads?
Interview Timing
Target speaking time: about 4 minutes.