10/30/2011

Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (The Morgan Kaufmann Series in Data Management Systems) Review

Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (The Morgan Kaufmann Series in Data Management Systems)
Average Reviews:

(More customer reviews)
I used to think that the best book one could read in order to really learn the science and the art of data modeling was Conceptual Schema and Relational Database Design. I used to think that, that is, until I read the Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design.
Originally intended to be the third edition of the "Conceptual Schema" text, this new book offers the same definitive information as its predecessor with a large amount of added information. So much more information, in fact, that the book has grown by roughly 250 pages (and that is not counting the additional appendices available online)!
The text begins with a warning. Halpin refers to the 1999 Mars Climate Orbiter accident in which a simple conversion from imperial to metric units caused the $125 million dollar craft to be destroyed. "Data itself is not enough," Halpin cautions, "what we really need is information."
And so begins the introduction of the most accurate way to model data: Object-Role Modeling (ORM). For those of you not familiar with the technique, ORM is a fact-based approach to modeling that not only captures the semantics of data - in the native language of the subject matter expert - but it also captures many rules, offers an embedded process to ensure the model is correct, and completely maps to any fully normalized logical notation (e.g. ER, UML).
Let me re-phrase the above, because it is extremely important. With ORM, you can:
a) Talk to subject matter experts in their language and in terms they can understand - you don't have to define tuples, entities, foreign keys, attributes, and all that other nonsense;
b) Verify that the model is correct by using a robust method (ORM is more than just a notation) filled with quality checks;
c) Document more rules - intrinsic in ORM's rich constraint language - to ensure the resulting system captures all of the rules crucial to the data being modeled;
d) And finally map the conceptual schema into a fully normalized database structure.
If you are new to data modeling, this is the first book you should read. This book will detail the concepts you need to know in order to analyze and create correct data schemas - regards less of which notation or tool you end up using (although both Halpin and myself have an opinion on which to choose). In other words, use this book to learn how to think about the problem. In so doing, you can easily map the concepts into the more trendy notations and methodologies, if you must.
If you are a modeling veteran, you should also read this book. In so doing, I'll wager that you will discover you have been making correct models the hard way all these years. You'll see, in exquisitely clear detail, the inherent problems in the other techniques (such as ER and UML). Further, if you are open minded enough to temporarily forget what you have learned so far, you too can learn how to think correctly about data modeling problems - and their solutions.
Now that I (hopefully) have convinced you to give this book a try, I'll detail the contents.
The first two chapters are introductory material intended to give the reader a sneak peek at what is coming up. In them, Halpin provides a brief overview of three techniques (ORM, ER, and UML) and discusses the pros and cons of each. With Halpin's witty, clear, concise writing style, and the clear evidence of problems with the other techniques, I expect the reader to be fully motivated to read on and delve into the more rigid explanation of the technique.
Don't let the academic nature of the topics intimidate you; Halpin uses easy-to-follow examples and well-tuned prose to inform academics and industry professionals alike. Just because the method is academically sound (it's firmly rooted in predicate calculus and set theory) doesn't mean that the material has to be boring. In fact, the tone of the text and the sample data provided in the examples will imply to the reader Halpin's distinct sense of humor that actually makes database theory fun to read.
The next five chapters form the definitive explanation of the ORM technique. This material is solid. Written, adjusted, instructed, and adjusted again over the past couple of decades, Halpin once again delivers this material in an optimal way. Those of you familiar with Halpin's "Conceptual Schema" text will be glad (even, as I was, surprised) to see that this material is even more solid than his past explanations of the technique.
The latter half of the book has, perhaps, changed the most from the "Conceptual Schema" text. In it, Halpin details Entity Relationship (ER) modeling, relational implementations (mapping ORM into tables and columns), the Unified Modeling Language (UML), and relational languages (SQL) - all from the ORM perspective you have just learned.
Further, these chapters are fascinating. I expect the reader to both understand how to map ORM concepts into the vendor-controlled world of information systems and to wonder in amazement at how techniques with so many fundamental problems have become "industry standards".
Finally, Halpin closes the text with more advanced chapters on schema transformations (equivalent models) and other design methods, issues and trends.
All in all, this book is great. It instructs in the fundamentals and them maps those orthogonal concepts into the current trends. Along the way, the book is filled with real world examples, easy to follow explanations, and sample problems for the reader to work on (in fact, I expect that this book, like its predecessor, will be used internationally as secondary/post-secondary class texts).
And finally, as someone who regularly attempts to explain technical concepts via writing, I am truly impressed - awed, even - with the style and ease with which Halpin delivers this content.
Thus, in summary, I have to say that this book is a great explanation of a robust technique; data architects and information systems analysts/designers need to own this book.

Click Here to see more reviews about: Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (The Morgan Kaufmann Series in Data Management Systems)


Information Modeling and Relational Databases provides an introduction to ORM (Object Role Modeling)-and much more.In fact, it's the only book to go beyond introductory coverage and provide all of the in-depth instruction you need to transform knowledge from domain experts into a sound database design.
Inside, ORM authority Terry Halpin blends conceptual information with practical instruction that will let you begin using ORM effectively as soon as possible.Supported by examples, exercises, and useful background information, his step-by-step approach teaches you to develop a natural-language-based ORM model and then, where needed, abstract ER and UML models from it.This book will quickly make you proficient in the modeling technique that is proving vital to the development of accurate and efficient databases that best meet real business objectives. * The most in-depth coverage of Object Role Modeling available anywhere-written by a pioneer in the development of ORM.* Provides additional coverage of Entity Relationship (ER) modeling and the Unified Modeling Language-all from an ORM perspective.* Intended for anyone with a stake in the accuracy and efficacy of databases: systems analysts, information modelers, database designers and administrators, instructors, managers, and programmers.* Explains and illustrates required concepts from mathematics and set theory.* Via a companion Web site, provides answers to exercises, appendices covering the history of computer generations, subtype matrices, and advanced SQL queries, and links to downloadable ORM tools.

Buy Now

Click here for more information about Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (The Morgan Kaufmann Series in Data Management Systems)

No comments:

Post a Comment