Dimensional data modeling
We will first take a moment to review a little bit of theory, and even some history. If you are already familiar with dimensional modeling, feel free to skip to The associative data model section. Otherwise, read on to see how the data models used in transaction processing systems came to be, why these data models are hard to query, and how an alternative modeling technique solves these problems.
Note
This section is largely based on Ralph Kimball's article, A Dimensional Modeling Manifesto. The full version can be found at http://www.kimballgroup.com/1997/08/02/a-dimensional-modeling-manifesto/.
Back in the day
When computers first appeared on the scene, the methods for storing, retrieving, and modifying data were still in their infancy. For example, when storing a customer order, it was likely that all of the data from the paper order form was directly copied into a single record or file.
While it was convenient to have the data digitally available, people quickly...