Rating:  Summary: Excellent non-standard performance helper! Review: As an combo Oracle DBA, database designer and PL/SQL developer I have found this book to be especially valuable over many others in the area of performance tuning. It's clear and not cluttered up like official Oracle documentation, yet mines out some real jewels from a deeper than usual understanding of the Oracle engine. It's not comprehensive or systematic; the author tends to jump around covering the areas of his own expertise. This actually makes the book MORE useful. Excellent treatment of partitioning. This is not another book that simply regurgitates Oracle documentation!
Rating:  Summary: Excellent non-standard performance helper! Review: As an combo Oracle DBA, database designer and PL/SQL developer I have found this book to be especially valuable over many others in the area of performance tuning. It's clear and not cluttered up like official Oracle documentation, yet mines out some real jewels from a deeper than usual understanding of the Oracle engine. It's not comprehensive or systematic; the author tends to jump around covering the areas of his own expertise. This actually makes the book MORE useful. Excellent treatment of partitioning. This is not another book that simply regurgitates Oracle documentation!
Rating:  Summary: THE Book on Data Modeling Review: Dr. Simsion's book is the absolutely best on Data Modeling and Database Design. The book is written in a language that is clear, concise and easy to grasp. The concepts are addressed in a sequence that makes them easy to understand. Several years ago, I learned Data Modeling using the 1st edition of this book. The second edition is even better. I highly recommend it for novices and experts alike. Marcelo Rocha DaSilva ...
Rating:  Summary: THE Book on Data Modeling Review: Dr. Simsion's book is the absolutely best on Data Modeling and Database Design. The book is written in a language that is clear, concise and easy to grasp. The concepts are addressed in a sequence that makes them easy to understand. Several years ago, I learned Data Modeling using the 1st edition of this book. The second edition is even better. I highly recommend it for novices and experts alike. Marcelo Rocha DaSilva ...
Rating:  Summary: Much more than just a new cover Review: Even if you already own the second edition, you should buy the third (or get your employers to buy it for you). (Putting this first for those people who don't want to read the whole review).
I already owned the second edition - it is the most frequently borrowed book from the set that I keep on my desk. So why did I buy the new edition as soon as I could? Because it is new, and covers new stuff - like sixth normal form (which turned out to be very familiar), and the Object Class Hierarchy, which is the answer to a Corporate/Enterprise Data/Information Architect/Administrator's prayer (job title generator - for each pair, pick one - the titles may vary, but the job seems to stay the same!) After years of developing web pages, spreadsheets and documents, and trying to get people to use them, this structure finally brings it all together.
It is tempting to dip into a book like this to look things up, or to explain something to someone else (it is very handy if someone wants to know what, exactly, you mean by 'fifth normal form' - just hand them the book open at the relevent section). But if you don't read the whole thing, then you risk missing all sorts of useful stuff that gets mentioned in passing (sometimes a passing remark, sometimes getting as much as a whole paragraph). For example, there is a very useful question to elicit important information from senior management, in chapter 10. (Go and read the book to find it!)
I think that the chapter on Enterprise Data Management needs expanding. Preferably into a companion volume ('Enterprise Data Management Essentials' - any chance, gentlemen?) But that is just about my only caveat.
The second edition is still the most frequently borrowed book on my desk - but only because I don't let this one out of my sight, and I have been making people buy their own copies.
If you buy the book and disagree with me - feel free to come and tell me why at any DAMA conference!
Rating:  Summary: Absolutely Essential Review: Every database designer that ever works for me will be required to read this book. It is a thorough, well-laid out guide to the basic design elements which affect all relational databases. I was so impressed that I took a day off to finish reading the book.
Rating:  Summary: Absolutely Essential Review: Every database designer that ever works for me will be required to read this book. It is a thorough, well-laid out guide to the basic design elements which affect all relational databases. I was so impressed that I took a day off to finish reading the book.
Rating:  Summary: Excellent practical introduction Review: Excellent practical introduction to data modeling in the relational paradigm using entity-relationship techniques. Detailed and instructive discussions weighing the relative merits of alternative models for scenarios. Positions data modeling within the context of developing information systems for business. Real-world, messy examples of the kinds of problems and errors that can arise-some of them a bit contrived, but usually to make a good point. A number of respectable sources footnoted, but unfortunately no bibliography. Proposes evaluation criteria for measuring model quality. Admits conflict among these criteria-all desirable attributes of a model cannot be optimized simultaneously. Trade-offs must be made. Recognizes the limits of data modeling: "Don't try to solve every problem by developing a conventional data model (p. 265)." Emphasizes that data modeling, although often confused with analysis, is not analysis. It is design. There is no one correct model for every scenario. Advocates using creativity to propose multiple alternative models before selecting a solution. Establishes the role of the data modeler by analogy with that of a residential architect. Interestingly, goes on to say that the distinction between analysis and design is important-without ever drawing it. Does not describe data "analysis," if such a thing even exists. Differentiates between data model and database design. Mainly because the paradigm used to represent the data while modeling it with the database customer (relational tables & columns, in this case) might differ from the paradigm that the database uses to represent it (network or hierarchy, perhaps). More recently, it has become common to model a solution with customers using the object paradigm and to implement it with database software using the relational paradigm. The paradigms need not always differ, but when they do, a translation is required before building the database. Addresses not just how a data model works, but also how to build one, including the people to involve, the inputs to consult, and the sequence of tasks. Suggests various approaches, including top-down (entity-relationship modeling from scratch), bottom-up (using existing documents), and the customization of existing models and model fragments. Covers the five normal forms of relational data, not omitting the limits of normalization and the assumptions on which it is based. Contrasts normalization with entity-relationship modeling as "bottom-up" versus "top-down," the former emphasizing technical soundness and the latter emphasizing business suitability. Admits that normalization is usually performed explicitly only as a final check after entity-relationship modeling-if at all. Examples show importance of normalization. Numerous interesting observations on type hierarchies and generalization. Notes compromise between representing business rules with specific data structures and accommodating business change with generic data structures: the more rules are represented in data structure, the more susceptible is that structure to future change. Unstable rules are better represented in program code or in data values-both easier to change than the structure of a production database. Cites frequency of both over-generic and over-specific models. Makes the important point that data models represent not the real world, but rather WHAT WE KNOW about it. Some data models quite properly assert that a person might be neither man nor woman-because a business might not know the gender of every person in which it has an interest. Personally, I would go a little further by adding that a model represents only what we CARE to know. Marring the otherwise valuable discussion of type hierarchies is their misapplication to modeling the various roles in which persons and organizations might act. A role may by nature be assumed and abandoned without changing identity. Using a subtype to represent it forces the subtype's instances to become and then to "unbecome" instances of the subtype as they change their roles-an obvious absurdity. We would indeed venture too far into the spirit world to claim that one might cancel membership in Homo Sapiens while retaining membership in Mammalia for the purpose of exercising at some later date the option to reincarnate as a chimpanzee! Points out necessity of asymmetry in implementation of recursive many-to-many relationship. Debunks some previously asserted "rules" regarding relationships. Discusses transferability of relationships and uses this concept in discussing one-to-one relationships, foreign keys in primary keys (weak entities), and time-dependent relationships. Interesting details on attributes that many similar books skip-particularly in the section on attribute generalization. Sadly accepts the notion that all of a model's codes might be implemented very nicely in one big table. This idea is an abomination. It impedes the evolution of "code entities" into non-trivial entities. It complicates enforcement of referential integrity. The suggestion of views for isolating cohesive subsets of the big code table defeats the very data-driving that code tables are built to enable. Also errs in proposing Code as a proper supertype for a "code entity." Code is a meta-entity. It represents nothing in the domain of the data model. In that domain it is not a supertype of anything. It would make as much sense to say that each thing is a type of Word because it has a word to describe it. It is valuable to recognize the common processing shared by many codes, but that commonality does not by itself imply a supertype. Good exposition of the option to use data structure, program code, or data value to enforce a business rule. Advises representing rules in the entity-relationship diagram using features for which there is "little intention of actually implementing (p. 269)." Type hierarchies are particularly recommended in this regard-even if they are not valid partitionings. Certainly, there are rules dependent on the values of attributes, but let's not make each attribute the basis of a subtype partitioning just to permit their graphic depiction! Advocates graphic depiction for communication with business customers even though diagrams are notoriously difficult for business customers. Diagrams are best suited to DBAs and programmers, but they are the very ones who wish not to see them cluttered with unimplemented constructs! Quibbles and quips notwithstanding, a good book on one of my favorite subjects.
Rating:  Summary: Learn to design tight databases. Review: Good job of stressing the importance of data modeling. Good discussion of normalization. Good discussion of ER diagrams. Discussion of advanced data modeling problems could be better. I would have liked to seen more discussion of data modeling methodology. If you want to learn to build bullet proof databases, this is a good start.
Rating:  Summary: Learn to design tight databases. Review: Good job of stressing the importance of data modeling. Good discussion of normalization. Good discussion of ER diagrams. Discussion of advanced data modeling problems could be better. I would have liked to seen more discussion of data modeling methodology. If you want to learn to build bullet proof databases, this is a good start.
|