Data Modeling for High Performance
In this section, we focus on two aspects of data modeling for transactional databases:
- Data normalization, which streamlines IO, data volumes, and transaction complexity
- Slowly changing dimensions, which handles data that evolves over time
Let's begin with normalization, the foundation of relational design.
Data Normalization
Database normalization is the process of organizing data in a relational database to reduce redundancy, improve data integrity, and ensure data can be found by what it is, not where it is. This is very important as business processes change, and data models must be able to support new requirements.
- By structuring data into multiple related tables and defining relationships between them, normalization minimizes duplicate information and ensures consistency. The process follows a series of rules called normal forms (e.g., 1NF, 2NF, and 3NF), each addressing specific types of data anomalies. The concept of normalization was...