I wanted to read this book to get an overview about data warehousing, a subject I never really had the opportunity to tackle in my career so far: the book seems indeed aimed to people with some experience in enterprise applications, especially in the OLTP field, and is full of very practical and no-nonsense advice gathered from the author’s experience.
The book is written in a easy-to-follow style, and domain-specific terminology is introduced gradually; the first chapter outlines the difference between a (dimensional) data warehouse (DW) and a OLTP database, and why someone would want a data warehouse. Database design and normalization being one of my favorite subjects, getting to grips with dimensional modeling at first took me some time, and some faith in the author: however, the book rather clearly shows how dimensional modeling serves different needs from “traditional” entity-relationship modeling, and why there are differences between the two.
There is a comprehensive example of dimensional modeling for a grocery store, which gives the opportunity to introduce other elements of dimensional modeling such as the treatment of data that changes with time. There are other chapters that I didn’t find much interesting, such as the examples of financial services and insurances; on the other hand, Chapter 12 is excellent, with a description of a methodology, of some usual design decision and suggestions for a DW design team interviewing end-users and IS people. There are not only good questions to ask, but also good explanation of why one should ask them… I’m probably going to adapt and use many of the questions described for the projects I’m involved into.
Throughout the whole book, there are clearly marked design principles, which are described and exemplified in the main text. At the end of the book there is a checklist of the technical steps involved in building a dimensional data warehouse and a glossary of the terminology (very useful to understand the vendors literature).
The book is dated 1996, but it’s nevertheless interesting to read the chapters about front-end applications and the future and try to match the text with the features advertised in today’s RDBMS and database tools.