The Technology of Object-Oriented Database Systems

Gopi Krishna Attaluri, Andrej Brodnik, Carolina Culik, David Dueck, Yongbing Feng, Yiwen Jiang, Wai Lam, Randall Mack, Glenn Paulley, Archana Sawhney, Dave Shewchun, Yalin Wang, Grant Weddell, and Hemin Xiao

Preface

There is now a reasonable consensus on what an object-oriented (OODBMS) database system must have in the way of features. Roughly, one obtains an OODBMS by adding a “non-procedural” query language, secondary storage management and support for concurrency and recovery to an object-oriented programming language, such as C++ or Eiffel.

Unfortunately, this cannot be accomplished by a straightforward marriage of existing database and compiler technology. From the point of view of relational database technology, new problems are introduced and most existing problems are made more complicated in some way—problems on topics relating to query languages, constraint theory, storage management and object indexing, object clustering, query optimization, transaction processing, and so on, are all affected.

During the summer of 1991, I had the opportunity of working with thirteen of our graduate students in attempting to gain some appreciation for the present state of OODBMS technology. The students divided into five groups, consisting of two or three people each, for the purpose of surveying five of these topics as they relate to an OODBMS. This document is the result of their efforts.

There are five individual reports in the document—one for each of the groups. The first is a survey of proposals for complex object algebras and for query languages based on extensions to SQL; the second is a survey of typing in an OODBMS. The third report is a survey of recent proposals for concurrency control in cases where transactions are long duration, and where they also access complex object structures. The remaining two reports concern storage management and semantic query optimization respectively.

The order of presentation is not accidental; reports on topics relating more to conceptual issues are located prior to those on topics relating to internal issues. However, the reader should have no difficulty in understanding the contents of any of the reports in isolation—each has been written independently of the others.

My thanks to all the students for their interest and enthusiasm—for their help in making the course such a success. Particular thanks also to Glenn Paulley for preparing the final draft of this document.

Grant Weddell, September 1991.

Contents

Article Page

SQL Extensions and Algebras for Object-Oriented Query Languages . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Carolina Culik, Randall Mack, and Dave Shewchun

Typing in Object Oriented Database Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Andrej Brodnik and Hemin Xiao

Concurrency Control in Object-Oriented Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Wai Lam, Yalin Wang, and Yongbing Feng

Storage Management for Object-Oriented

Database Management Systems: A Comparative Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 David Dueck, Yiwen Jiang, and Archana Sawhney

Semantic Query Optimization in Object-Oriented Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Glenn Paulley and Gopi Krishna Attaluri