Data Modeling Essentials Book Review
Information Management Magazine, March 2005
When I was asked to review the third edition of Data Modeling Essentials, I jumped at the opportunity. I continuously recommend the second edition to attendees in my data modeling courses, and Graeme Simsion has been a frequent participant in our Design Challenges (please see www.stevehoberman.com/designchalleng.htm). In addition, I have attended wonderful presentations both by Simsion and Witt over the years. Therefore, I dived into this latest edition with very high expectations that were not only met, but also exceeded.
The goal of Data Modeling Essentials is to "... help information systems professionals ... acquire competency in data modeling." The reader might question whether the text is more introductory or more advanced, and the answer is "Yes." The book will offer value to novice, intermediate and advanced data modelers. Someone just starting his/her first data modeling project could begin at page one and by the end of the text have gained a rich understanding of conceptual, logical and physical designs, as well as pick up a number of key themes in modeling such as creativity, exceptions to most rules and that there is usually more than one right answer. Intermediate and advanced modelers will find the introductory chapters on modeling and the key themes useful and will also benefit from the sections on modeling approach and more advanced topics such as rules and advanced normalization.
Advertisement
By real world, I mean that the focus of the book is on modeling in the practical sense and not the more theoretical topics such as mathematical set theory or formal methodology. For example, the normalization topic starts with a common data problem involving redundancy, and the problem is addressed step by step through levels of normalization. The theme throughout the text is that there can be more than one right answer and creativity is a large part of the modeling process. This is demonstrated throughout the text with examples highlighting Simsion and Witt's own vast collection of real world experiences. I personally found the prescriptive/descriptive discussion on analysis and design very enlightening.
The book is extremely well-written. It is humorous at times, full of useful anecdotes and follows a very logical (no pun intended!) sequence. The chapter on business rules, for example, clearly and concisely explains in detail which types of rules can be captured on the model and which cannot. I have heard both Simsion and Witt present at conferences and this book is written in a similar matter to their clear and engaging speaking styles.
The book contains 17 chapters. Part I comprises the first 7 chapters and provides the foundation for data modeling. If you are new to modeling or need a refresher, it is worth reading each chapter in this section. More advanced modelers might pick up tips in this first section on how to explain modeling to others. The use of spreadsheets to show the complexities of modeling, for example, is a great way to introduce folks to the boxes and lines of a data model. Part II contains 5 chapters and is new to this edition. If you own an earlier edition of the text, you might consider upgrading to get the chapters on the different approaches to building models. Part II is not a detailed reference of different modeling methodologies, but instead contains principles and guidelines that can be applied to complete the modeling deliverables. Part III contains 5 chapters of more advanced topics from advanced normalization to business rules to data warehousing.

Chapter 1, "What is Data Modeling?," is an excellent chapter for someone completely new to data modeling. Even if your only exposure to the world of data is through spreadsheets, by the end of the chapter, you will be able to answer the set of questions posed in the introductory paragraph, starting with "What is a data model?" It is essential for every modeler to understand the discussion on how analysis differs from design in this first chapter. I really love the descriptive versus prescriptive analogy used here. In this chapter, I also like the use of tangible words to describe the purpose of modeling. Words such as "leverage" and "stability" really help the reader picture the benefits clearly.
Chapter 2, "Basics of Sound Structure," focuses mainly on normalization. An easy to follow example is provided (again in spreadsheet format). First, the underlying premises behind normalization are discussed, such as one fact per column, and then each level of normalization up to and including Third Normal Form (3NF) is explored (levels higher than 3NF are discussed in Chapter 13). Continued in this chapter (and most of the book) is the belief that data modeling is a fairly creative process.
Chapter 3, "The Entity-Relationship Approach," focuses on the components of data models and the top-down approach to building a model. The term "entity class" is used to represent the class of things and "entity" the value of the class. Therefore, "customer" would be the entity class and "Bob" could be the entity. Basic naming rules for entities are discussed. There were some neat examples in keeping entity names singular that most of us may not catch, such as Transaction History and Visiting Schedule, which are really plural entity names. Different types of relationships are discussed in detail, as is the concept of transferability, which is a topic even the more advanced modelers sometimes gloss over. The chapter concludes with a discussion on attributes.
Chapter 4, "Subtypes and Supertypes," explains this concept and shows exhaustive and overlapping subtypes in different modeling notations. An important tip is that not everything that smells like a supertype is a supertype, an example being the unlikeliness that customer order and supplier order will be supertyped under order, because they are very different concepts in the eyes off the business.
Page 1 of 2.






