The Best Book On Dimensional Modeling

The Data Warehouse Toolkit by Ralph Kimball has been read cover to cover by most Data Warehousing and Business Intelligence industry professionals. It is perhaps the most popular text on dimensional modeling known to mankind. However, it is not the best book on dimensional modeling.

These may seem like pretty bold claims, yet I feel confident in the accuracy of each (and I’m sure I’ve offended a few die-hard kimball fans out there with the last claim).

Discovering Kimball

In the years leading up to my personal discovery of Ralph Kimball and The Data Warehouse Toolkit, I worked for a software company specializing in call center and workforce management applications. As a member of the database support team, I spent a good deal of time writing SQL queries and validating reports for our clients. Needless to say, it wasn’t long before I was very familiar with the data model and even more proficient at writing queries against it. Imagine my surprise a few years later when I discovered that the database with which I’d spent so much of my time working was a textbook Kimball-style dimensional data model!

Reading this book was an amazing experience. Each chapter was filled with “ah-ha!” moments. I’d spent years working with a dimension data model, but never really understood why things were structured as they were…and this book was answering all of those questions. By the end, I was so invigorated with business implications of a dimensional data model – how it could be designed and queried to answer various types of questions – that I switched jobs to one where I could spend more time learning and applying my knowledge of dimensional data models.

Life is Good

Over the next few years, I devoured everything I could get my hands on related to the Data Warehouse design and implementation; learning about ETL, OLAP, reporting, etc. Eventually, I picked up enough knowledge and experience to land a consulting gig (which was awesome) and spent time working on a bunch of different projects. During this time, I would frequently return to the Data Warehouse Toolkit when struggling with how best to model a certain business process. I’d also discovered another great source of knowledge: the Kimball Forums where experienced DW/BI professionals would help each other with specific scenarios. I found that most of my questions where not unique and had already been asked and answered. Between the book and the forum, there was very little I felt I couldn’t accomplish.

But then it got better…


Towards the end of last month (January 2014), I stumbled across a blog post by fellow BI pro Koen Verbeeck (b | t) claiming that Star Schema: the Complete Reference by Christopher Adamson (b | t) was “an absolute must read for every data warehouse professional who takes himself/herself seriously”.

Koen is a legit BI pro who spends a substantial amount of time absorbing from and giving back to the SQL Server community – so this was a recommendation I didn’t take with a grain of salt. After a quick confirmation of excellent reviews on Amazon, I ordered a copy and began reading 2 days later.

Cover to cover, I can now say with 100% confidence that this is the best book on dimensional modeling I’ve ever read. The Data Warehouse Toolkit is a great introduction to dimensional modeling and lays a very strong foundation. But for those who are serious about taking their “game” to the next level…the refinement provided in Star Schema: The Complete Reference cannot be matched. In under 500 pages, Adamson manages to clearly explain concepts that took me years wrap my head around. And while that feels a bit discouraging at first, I take great comfort (and pride) in the validation by this book of prior designs and advice I’ve provided to clients over that time.

5 replies on “The Best Book On Dimensional Modeling”

I am in the process of creating a data warehouse for a call center. A couple of questions regarding the dimensional model with respect to agents and teams.
1. Should I create a teams dimension or should I fold it into the agent dimension?
2. Thinking enterprise-wide, would it be better to have the agents as a separate dimension rather than an all-encompassing Employee dimension?

Thanks and best regards.


Hi Cesar,

These are really good questions and the answer is going to depend on additional details and how far your crystal ball allows you to see into the future.

For example, will there be other aggregate or higher-level fact tables that link directly to team, but not down to the agent level? Will you be adding a semantic layer via SSAS (multidmensional or tabular)?

Don’t worry if you don’t know the answers to these types of questions. Regardless of which way you go, there are always ways to mimic the alternative path. For example, if you go with a consolidated agent dimension that includes team attributes, you can always create views on top to break them up.

As for question 2: how many source systems are you dealing with? If it will be more than one source system, then the next question would be how good is your company’s master data management process/solution? This could make an all-encompassing Employee dimension unrealistic or simply not worth the effort.

If on the other hand, care and meticulous use of employee identifiers have been used in all source systems or a nice master data solution is in place (both very unlikely) – then pay it forward and go with the all-encompassing Employee dimension to make life easy for the next person who carries the torch.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s