We use cookies and other similar technologies (Cookies) to enhance your experience and to provide you with relevant content and ads. By using our website, you are agreeing to the use of Cookies. You can change your settings at any time. Cookie Policy.

Book Review of The Data Model Resource Book

Originally published July 2, 2009

As an analyst for a large manufacturing company’s ERP implementation, I was responsible for a very complex and critical area called Classifications. Classifications was the place where all products, vendors or customers were grouped into buckets based on similar behavior. For example, if this company manufactured vehicles, there could be classifications for hybrids, sports cars, SUVs, minivans, etc. To better understand classifications, I dived into screens, help files and actual database tables and, after several weeks, completed a classifications data model. The model I produced was very similar to the data model that appears on page 224 of The Data Model Resource Book Volume 3: Universal Patterns for Data Modeling by Len Silverston and Paul Agnew.

This book contains a collection of patterns, which are general building blocks that could be used as the basis for just about any type of data modeling within any industry. Classifications is one example, and there are a collection of others such as roles, statuses and contact mechanisms. Whereas Volumes 1 and 2 in The Data Model Resource Book series contained models for common business processes or industries, this volume contains patterns that cross through all processes and industries. Consistent with the series however, the purpose of this text is to save the modeler time so instead of starting from scratch, the modeler can start from a reliable and proven foundation. Realizing these patterns exist and making them work for your particular modeling assignment can result in a higher quality data model and a greater level of consistency within your organization.

A majority of the book is dedicated to chapters which describe how to model a pattern at different levels of generalization. Level 1 is the most concrete and this is where terms and rules familiar to a business analyst are shown, such as email address and telephone number. Levels 2 through 4 go through increasingly more generalized levels with Level 4 being the most generalized. The Classifications example I encountered in the ERP package, for example, was a Level 3 model, very generalized so that it can be leveraged by any industry. The book makes an important point that there are situations where one level is more appropriate than another, and sometimes the modeler must trade the familiarity and business rule enforcement of a Level 1 with the flexibility available in a Level 2, 3 or 4. For example, a phone number and email address from a Level 1 model would be generalized into contact mechanism data in a Level 2 model. This extra flexibility allows for accommodating other ways of contacting someone that may not have been specified (for example, via a person’s “voice over IP” or Skype number). The book also makes the point that sometimes on a single model you can combine different levels for the same requirement (i.e., a hybrid approach).

Chapter 1 introduces the concept of a universal pattern as well as the terms and symbols used throughout the book. The goals for the book are also clearly articulated, in addition to the intended audience and a summary of each chapter. There is a wonderful furniture analogy used to distinguish a universal data model from a universal pattern. Universal data models (the subject of the first two volumes of The Data Model Resource Book) are similar to already constructed standard tables and chairs. The consumer can obtain this furniture instead of building the tables and chairs from scratch. Similarly, the modeler can reuse an inventory or claims universal data model instead of building it from scratch. Universal patterns are similar to the dovetail joints of the furniture, common pieces that exist in already built tables and chairs as well as custom furniture. Universal patterns are the building blocks such as the roles and statuses behind any modeling project.

Chapters 2 through 8 each focus on a particular pattern. Chapters 2 and 3 focus on parties and roles, Chapter 2 on declaration roles and Chapter 3 on contextual roles. A party is a person or organization of importance to the business, and declaration roles are those roles that are independent of any business event while contextual roles are dependent on a particular business event. For example Bob the person can have a declarative role of Doctor, yet when an insurance claim is filed, they can also have the contextual role of Primary Care Physician. Chapter 4 focuses on similar structures for relating data including hierarchies, aggregations, and peer-to-peer relationships. Chapter 5 focuses on taxonomies and classifications, and Chapter 6 on patterns for states that business concepts go through. Chapter 7 contains patterns for getting in touch with parties, such as those patterns for modeling telephone number and email address. Chapter 8 focuses on how to model business rules including the rule itself, the factors involved in the rule and the outcomes of the rule.

I was impressed with the consistency and comprehensiveness of each of these chapters. These chapters follow a similar format of demonstrating each of the four levels of detail. Each chapter begins with an explanation of the pattern and a discussion of its importance. Then for each of the four levels, there is a section on the reason for the level, how the pattern works (with lots of examples), when the pattern should be used and the weaknesses of the pattern. I found the charts and tables to be extremely useful in the text, especially the Summary of Patterns table at the end of each chapter.

Chapter 9 focuses on how to apply these patterns in many types of efforts including both relational and dimensional modeling efforts and both application and enterprise areas of scope. As with the other chapters, there is a great summary at the end on the strengths and weaknesses of patterns with each type of effort. Chapter 10 adds the human dynamics side to incorporating patterns, as success or failure is heavily connected with people’s perception or trust. Four principles are discussed, that will help acceptance and usage of the patterns: Understand motivations and work toward meeting them; Develop a clear, common, compelling vision; Develop trust; and Manage conflict effectively.

To summarize, under every data model is a set of common building blocks, clearly explained in "Universal Patterns for Data Modeling.” I would recommend this book for every analyst, modeler or architect who is striving for a level of information consistency within their organization. Whether you are just starting your modeling adventure or have been in modeling for decades, you will find these patterns invaluable tools for every modeling effort.

  • Steve Hoberman

    Steve Hoberman is a world-recognized innovator and thought-leader in the field of data modeling. He has worked as a business intelligence and data management practitioner and trainer since 1990.  Steve is known for his entertaining, interactive teaching and lecture style (watch out for flying candy!) and is a popular, frequent presenter at industry conferences, both nationally and internationally. Steve is a columnist and frequent contributor to industry publications, as well as the author of Data Modeler’s Workbench and Data Modeling Made Simple. He is the founder of the Design Challenges group and inventor of the Data Model Scorecard™. Please visit his website www.stevehoberman.com to learn more about his training and consulting services, and to sign up for his Design Challenges! He can be reached at me@stevehoberman.com.



Want to post a comment? Login or become a member today!

Posted July 2, 2009 by Phillip Considine

Absolutely concur. A great resource and a must have for my team.

Is this comment inappropriate? Click here to flag this comment.