I have to get one thing out in the open right away - I am a Steve Hoberman fan. After hearing him speak at conferences and user group meetings, I recommended we invite him to give his Data Modeling Master Class at my company. Each time Ive attended one of his presentations, my expectations were met and usually exceeded. Hes an interesting and fun speaker who keeps it simple and engages his audience throughout his presentations. I also have a copy of his Data Modelers Workbench, which I consult on occasion. So it was with great anticipation that I began reading his new work, Data Modeling Made Simple. And again, I wasnt disappointed.
The audience for this book is primarily business and IT professionals with little to no experience with data models. It focuses on the basics, leaving theory, history and more advanced topics to his first book. How simple is this book? I asked my 76 year old mother, whos computer skills are limited to MS Word, email, AOL and Google, to read a little of it. She was able to understand the first couple of chapters with a little glossary-type help like Whats an application? For IT-savvy readers, it will be an easy read that makes the concepts simple to understand and provides tips and tricks that can be put to practical use immediately.
Steve writes in an easygoing, first person style. The text is peppered with personal anecdotes that illustrate his points very successfully. And, in sharing those anecdotes, he makes readers feel confident enough to try, knowing that the experienced person who wrote this book overcame challenges and mistakes similar to those they may encounter. Throughout the text, he provides exercises designed to get the reader thinking, with references to his Web site for insight into his own thoughts about the questions he has posed. In 12 chapters, the book progresses logically from defining what a data model represents to explaining entities, data elements and relationships, to the types of models, normalization and the physical data model. He then goes further to discuss approaches to building a model and validation techniques. All in all providing a comprehensive first look at data models for those who are not modelers and a quick reference for less experienced modelers.
Chapter 1: What is a data model? introduces the concept of a model with a story about getting lost driving in France. Because neither the author nor the gas station attendant he approached for directions spoke the same language, the attendant drew a map. This map was a model containing common symbols that guided him to his destination. With this analogy, the book launches into defining data model. The authors definition is: A data model is a diagram that uses text and symbols to represent groupings of data so that the reader can understand the actual data better. Examples follow, including an introduction to the example that he uses throughout the text for illustrative purposes, a business card.
Chapter 2: What is so special about data models? describes how data models can facilitate communication at several different levels. This is an important chapter for anyone who needs to justify a data modeling function because it succinctly and clearly illustrates the value of the process of developing a data model and how the model can be used after the modeling process to convey information about the business. The chapter draws a distinction between formalization, the single, precise interpretation of the symbols used on the model, and the potentially imprecise nature of the data and business rules that are represented on the diagram - particularly if the terms used in the model are not clearly and completely defined. A scope cube is introduced as a means of helping to define the time frame, function and area to be modeled, and the authors definition of three types of models - subject area, logical and physical - are clearly described.
Chapter 3: What are entities? defines an entity as a collection of information about something that the business deems important and worthy of capture and provides examples of the different types of real-world things that are entities. The appropriate level of entity to be used in the three different types of models is presented, but the book is quick to point out that the industry or business being modeled actually dictates the appropriate level of entity to be used. For example, an entity with lots of detail about a phone number might be appropriate for a telecommunications company, but for most of us, a simple phone number and perhaps the role the phone number plays in the context of a customer is appropriate. The different types of entities, independent, dependent, attributive and supertype/subtype, are described, and simple figures are provided to illustrate each type. There are four exercises in the seven pages of this chapter - an indication of the importance of understanding this fundamental concept.