By David A. Anstey
Galderma, Inc.
High Performance Oracle8 Object-Oriented Design
(Coriolis Group Books, 1998, paperback, ISBN 1-57610-186-X,
497 pp., $39.99, including CD-ROM) introduces the many new
object-oriented (OO) features in the latest version of the popular
commercial database product, Oracle8 . The book aggressively
addresses the real-world problems of data modeling, and, in particular,
how a traditional relational database programmer would decide
when and how to actually use the new "object relational database"
tools. Written by an experienced database consultant, the book
will appeal to persons who have actually experienced the data
modeling problems that relational databases cannot easily handle.
In High Performance Oracle8 Object-Oriented Design,
Anstey explains that while relational databases work extremely
well in many business applications they also suffer from several
drawbacks. These shortcomings include the ability to describe
the semantics of a customer's business using the set-oriented
rules defined by relational systems. For example, relational
systems cannot adequately combine the behavior of an entity with
data about the entity, nor can they model the recursive nature
of complex objects, such as engineering parts lists where "parts"
may contain more "parts." Anstey presents the solutions
to these problems using a flowing and informal style mixed with
many "lessons learned" from his extensive experience
working with databases.
High Performance Oracle8 Object-Oriented Design
contains numerous diagrams, illustrations, and example snippets
of code to illustrate the points in the book. I found this particularly
refreshing given the dearth of concrete code in other database
books. Anstey very nicely explains each subject, provides a diagram,
if appropriate, to illustrate the subject, and then supplies the
actual SQL statements that enact the subject. This makes each
topic very easy to follow and will appeal to readers who, like
me, want to see how something really works.
Chapter 5, "Oracle Reference Pointers and Database
Design," provides one of the highlights of the book. In
it Anstey describes the use of reference pointers to implement
some of the most difficult real-world data modeling scenarios.
Anstey again uses extensive examples and code segments to illustrate
the possible solutions. Through them, the reader can easily see
how to use the new object extensions to a traditional relational
database to implement complex objects, recursion, and sequencing.
Despite the clear explanation of each topic, Anstey
does not write for a novice database developer. High Performance
Oracle8 Object-Oriented Design assumes a working knowledge
of databases and especially current commercial relational database
technology. The reader does not have to have an extensive knowledge
of any particular product (e.g., Oracle7), although it would help.
Anstey both explains the new features in Oracle8 as well as emphasizing
the important new design issues that come with mixing relational
and object paradigms to solve realistic, practical problems.
Anstey covers a wide range of topics, from object
extensions to SQL and the emerging SQL3 Standard to planning for
the support of class hierarchies and inheritance due in a future
incremental release of Oracle8. The book has detailed explanations
and examples of how to model relational object systems, to include
an entire chapter devoted to the Unified Modeling Language (UML).
Anstey also explains how two popular new toolsets, Oracle's
Object Database Designer and Logic Works' OR-Compass,
support the new object-relational environment. Specifics include:
I found Oracle8: Object-Oriented Design easy
to read and to follow. Anstey colors his book with many anecdotes
and real-life experiences. I found these sections particularly
enlightening as they add considerable credibility to the advice
and guidelines put forward in the book. High Performance Oracle8
Object-Oriented Design will make a useful addition to the
library of any current data modeler, database programmer, database
administrator, or consultant.
Reviewed by Jeffrey S. Poulin, (Jeffrey.Poulin@lmco.com), Lockheed Martin Federal Systems, MD 0210, Owego, New York 13827.