Top critical review
8 people found this helpful
A nice to read book, but not your unique one
on June 13, 2009
This book can be considered as having been structured in four distinct parts.
First part, the introductory one, is made of three chapters starting with the description of the Database Lifecycle, from Requirements Analysis to Physical Design. Then, follow the Entity-Relationship Modeling and the UML chapters in which the reader is presented ER constructs and basic UML notation used in the following chapters.
Second part is about the core of the book: Data Modeling. Requirements Analysis and Conceptual Modeling are addressed in chapter 4.
Next chapter is about transforming the Conceptual Data Model to SQL and contains a very useful set of figures that summarize how different relationship types, i.e. one-to-one, one-to-many, many-to-many, are translated into sets of SQL table creation constructs, including primary and foreign key attributes. This chapter alone may be worth the price of this book.
Chapter 6 addresses Normalization. Expectedly, First, Second, Third and Boyce-Codd Normal Forms are explained here, without resorting to too much theory. Things are different, however, for the Fourth and Fifth Normal Forms, as a good understanding of MVD - Multivalued Dependency - and of related rules and axioms are needed to grasp what 4NF and 5NF really mean. These are the most theoretical 10 pages or so of this book.
In the last chapter of this part, there is "An example of Logical Database Design"; an insignificant chapter of a few pages long, based on a very simplistic implementation of the all-too-common "Retail Store" problem that barely translates into 8 SQL table creation construct sets.
Third part, chapter 8, is about Business Intelligence. It covers Data Warehousing, OLAP and Data Mining. It is unclear to me why the authors chose to spend - should I say waste - 40 pages on a 200 plus page book addressing OLAP-specific data modeling, that is in many aspects in opposition with OLTP-specific data modeling principles - denormalized vs. normalized tables, star schema vs. ER diagrams - that the authors addressed, developed and promoted in the first 145 pages of the book.
Fourth and last part addresses CASE Tools for Logical Database Design. Although useful and interesting, we have here 25 pages prone to quick obsolescence because somewhat product-specific.
This book does not address the handling of business rules and of time-dependent data, although common in real-life databases.
Overall, this is a nice to read introductory book, but certainly not your unique book if you expect to be able to perform serious database modeling. The statement on back cover "... get plenty to help you grow from a new database designer to an experienced designer developing industrial-sized systems" seems a bit presumptuous.
My suggestion to the authors: Drop chapter 8 and write another book on OLAP-specific data modeling; rewrite chapter 7 by referring to a more realistic and consistent case example; address handling of business rules and time-dependent data.