Reprinted from the Journal of the American Society for
INFORMATION SCIENCE-- 49(4), April 1, 1998
Advanced Database Systems. Carlo Zaniolo, Stefano Ceri, Christos Faloutsos, Richard T. Snodgrass, V. S. Subrahmanian, and Roberto Zicari. San Francisco, CA: Morgan Kaufmann Publishers; 1997: 574 pp. Price: $59.95. (ISBN 1-55860-443-X.)

Intended as a text for students familiar with basic relational database concepts. Advanced Database Systems accomplishes its goal of introducing readers to more sophisticated topics. Supported by a well-designed index and an extensive bibliography, the book is easy to navigate and serves as a good starting point for those interested in learning more about active database systems, temporal databases, complex queries and reasoning, indexing and content-based retrieval for multimedia databases, uncertainty in databases and knowledge bases, and management of data and schema changes in object-oriented databases. The book is divided into six self-contained parts, each dedicated to one of the above major topics, and each chapter concludes with an exercise set.

Because there is still no universal model for active databases which can autonomously react to changes in the database state, Part I uses Starburst, Oracle, DB2, and Chimera to illustrate concepts, applications, and design principles for active rule sets. The examples in this section of the book are thoroughly explained, and the clear structure and writing style guides the reader through some of the practical and theoretical problems for integrity management and derived data maintenance associated with designing and maintaining active rule sets.

It is very difficult to develop an easy-to-implement temporal model which achieves high performance while coherently presenting all time-varying behavior, so a large number of incompatible models have emerged. Part II focuses on problems of creating databases which allow sophisticated queries over time to be expressed without complex code. After briefly surveying relational and object-oriented temporal models, the Bitemporal Conceptual Data Model is presented as an effective means to coordinate different data models to achieve a result not possible using the individual data models. The rest of Part II is dedicated to discussing TSQL2 and implementation of temporal databases. As is the case with Part I, the section is well-written, though parts such as the chapter on implementing temporal databases may leave some readers desiring more detail.

Relational calculus and relational algebra lack the expressive power necessary to express frequently needed queries such as transitive closures and generalized aggregates. Part III discusses expansion of relational query languages with powerful extensions such as recursion, complex objects, and flexible set aggregates. Examples are provided in Datalog and Datalog-like languages, as well as recursive and nonrecursive algorithms, presented to implement these concepts. Most information systems do not explicitly store negative information, so Part III concludes with nonmonotonic reasoning techniques, temporal reasoning, and active rules to provide a framework for the analysis and design of knowledge-base systems.

Storage of multimedia objects has been increasing at a geometric rate, so Part IV introduces methods for quickly performing whole or partial match searches on text, spatial data, and queries on multidimensional objects in temporal databases where events correspond to time intervals. Part IV contains some of the most interesting discussions in the entire book. However, a wide range of materials presented is introduced in the 45 pages allocated to this section, and much of its strength is as a starting point for locating other materials.

As databases grow and information is drawn from increasingly diverse sources, the ability to handle missing, uncertain, and inaccurate data becomes relevant. Part V discusses fuzzy logic and probability theory, as well as fuzzy and probabilistic extensions to the relational model. This section concludes with a discussion of probabilistic knowledge bases.

The relational model is very effective for information that can be modeled in tables. However, complex applications such as image management databases require that the schema itself be allowed to evolve. The final part of the book reviews the basics of object-oriented databases and addresses the problem of database inconsistency after a schema modification, presenting algorithms for enforcing database consistency.

In conclusion, Advanced Database Systems is a clearly written and well-conceived text which does an excellent job of introducing the reader to advanced topics in database technology.

Kyle Banerjee
333 Valley Library Oregon State University
Corvallis, OR 97331