Understanding dimensional modeling
To avoid any confusion, dimensional modeling is a data modeling technique. It leads to a table structure for relational databases. The phrase "table structure" says it all. We are going to store data in tables. We could use Azure SQL Database to implement this database. We will use Azure Synapse Analytics in Chapter 8, Provisioning and Implementing an Azure Synapse SQL Pool, to implement the database. Dimensional modeling, in other words, is an alternative to normalizing data. It will use relationships between tables based on primary keys and foreign keys.
Let's briefly reiterate the main principles we had for normalizing data and look at why they are not helpful when creating a database that should be optimized for analytics. These main principles involved in normalizing data are as follows:
- Minimize redundancy.
- Use dependencies between attributes.
Minimizing redundancy
Minimizing redundancy makes writing into...