New Book Review: "Star Schema"

New book review for Star Schema: The Complete Reference, by Christopher Adamson, McGraw-Hill Osborne Media, 2010, reposted here:

Star_schema

Stars-5-0._V47081849_

For technologists looking for a thorough exploration of the traditional data warehouse star schema, nothing compares to this book. Other reviewers are correct that although works by Ralph Kimball are classics in this space, the content that Adamson provides here is presented in much greater detail with a far greater quantity of examples, and written very well. While I found myself referencing "The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling" by the aforementioned author during a recent data warehouse project, because that resource is introductory many practitioners will likely end up referring to the design tips that The Kimball Group website offers as supplementary material on a more frequent basis, and many of these design tips are really only a point in the right direction.

So to get to the point, Adamson offers great advice and explicit step-by-step explanations for many star schema topics. The only area that the author does not delve into is material around specific database products, but readers should be able to research this information after following along with the presentation that the author offers with this work. After discussing the fundamentals of analytic databases and dimensional design, data warehouse architectures, and stars and cubes, the author offers detailed presentations on fact tables, dimensions, hierarchies, bridges, snowflakes, and slowly changing dimensions, followed by discussions on performance and additional topics of interest for developers of dimensional models, including an exploration of some common dimensional features that often strain business intelligence tools, techniques to mitigate any shortcomings, and short discussions on process, design, and documentation.

One great example of the thoroughness of this book is the presentation that the author offers in Chapter 10 ("Recursive Hierarchies and Bridges"). After discussing types of recursive hierarchies (balanced versus unbalanced and attribute-based versus instance-based), reporting challenges associated with recursive hierarchies, and the process and implications with flattening such hierarchies, Adamson delves into the hierarchy bridge, providing a detailed walkthrough of how to construct it and use it, how to avoid double-counting, how to hide the bridge from novice users, how to resolve the many-to-many relationship, and how to handle Type 2 changes to the hierarchy. The step-by-step explanation of this last item is especially well done, with great diagrams and a detailed discussion of the ripple effect of such changes and why you should not resist the ripple effect, despite the additional data involved. This explanation contrasts markedly with other material on this subject. While a single design tip called "Help for Hierarchies" from The Kimball Group, for example, discusses this subject, it is done so at a very high level.

As a data architect working through this book for the first time during a project, most of my time was spent in Part 3 ("Dimensional Design"), which breaks down into Chapter 6 ("More on Dimensional Tables"), Chapter 7 ("Hierarchies and Snowflakes"), Chapter 8 ("More Slow Change Techniques"), Chapter 9 ("Multi-Valued Dimensions and Bridges"), and Chapter 10 ("Recursive Hierarchies and Bridges"), although I did spend significant time with Chapter 4 ("A Fact Table for Each Process"), Chapter 11 ("Transactions, Snapshots, and Accumulating Snapshots"), and Chapter 12 ("Factless Fact Tables"). While I will likely continue to reference a number of other resources in this space, this is the one book currently in the marketplace that has staying power for the long-term. Highly recommended.

Subscribe to Erik on Software

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe