Olivetti Oracle Research Laboratory
This bibliography is the outcome of a literature survey on object oriented databases that resulted in my talk Object Oriented Databases: an overview, to which this is an appendix.
See my technical report A Gentle Introduction to Relational and Object Oriented Databases for a copy of the bibliography, the annotated slides of my talk on OODBMS and those for another talk on RDBMS. See my database page to download the powerpoint source to the talks.
This is the online version of the bibliography, with live links and locally cached copies of some of the references quoted.
M. ATKINSON, F. BANCILHON, D. DEWITT, K. DITTRICH, D. MAIER, S. ZDONIK,
The Object-Oriented Database System Manifesto.
In Proceedings of the First International Conference on Deductive and Object-Oriented Databases, pages 223-40, Kyoto, Japan, December 1989.
Because there isn't a clear consensus on what an OODBMS is (a clear definition and a solid theoretical framework are both missing), the authors present this manifesto as a starting point for discussion. The paper presents a set of rules that a DBMS must comply with if it is to be called an OODBMS. The rules are subdivided in three categories: mandatory, optional, open. Only rules in the mandatory category (aka "the golden rules") are presented in detailed form. The 13 golden rules are mostly of the form "it must support property X", where X is either a typical property of OO programming systems (e.g. encapsulation, classes, inheritance, polymorphism) or a typical property of existing databases (persistence, indexing, concurrency, recovery). The paper says little about the integration of the OO part with the DB part.
THE COMMITTEE FOR ADVANCED DBMS FUNCTION,
Third Generation Database System Manifesto,
In Computer Standards and Interfaces 13 (1991), pages 41-54. North Holland. Also appears in SIGMOD Record 19:3 Sept, 1990.
A counter-manifesto to [atkinson89]. 1st generation of databases: hierarchical and network; 2nd generation, which superseded the 1st: relational; 3rd generation (note that we don't call it OO): yet to come, but here are some tenets and propositions for it. The basic idea is: the relational systems were good, especially with their non procedural DML and data independence, and 3rd generation systems should keep these advantages, while the rush to object oriented systems might break them and should be carefully considered. Things that need adding are richer object structures and rules. The claim is that richer type systems can be added to relational databases without necessarily going all the way to OODB. It is not always entirely clear where the dividing line exactly is between "relational with richer type system" (including inheritance, methods etc) and OODB. One of the points made is that access to the database should be only through a non procedural SQL-type query language instead of a navigational, pointer-oriented interface.
Object data management: object-oriented and extended relational database systems,
I haven't been able to get hold of this book yet but I've seen it quoted sufficiently often that I consider it worth a look. Apparently the first book-lenght tutorial on OODBMS.
R.G.G. CATTELL (ED),
The Object Database Standard: ODMG-93, Release 1.1
The Morgan Kaufmann Series in Data Management Systems, 1994
The Object Database Management Group is a recently established consortium of object-oriented database companies whose aim is to produce an inter-vendor standard for OO databases. This book is the second draft (release 1.1) of this standard, called ODMG-93. The ODMG is affiliated with CORBA's OMG and in 1994 the OMG has adopted a Persistence Service endorsing ODMG-93 for storing object state. For a representative to become a voting member of the committee the sponsoring company must, among other things, commit to the development and support of a compliant database product.
ODMG follows the OMG architecture and has a general CORBA/C++ flavour. The ODL (Object Definition Language) is designed to be compatible with IDL, which it extends. The OQL (Object Query Language) is a non-procedural query language similar to SQL but with support for objects. The result of a query is typically a container (set, bag, array, list...) of objects. The OML (Object Manipulation Language) supports transactions with commit and rollback. In the C++ binding (a Smalltalk binding is also defined but appears to have secondary importance), the ODL's containers are mapped into appropriate template-based collection classes. The C++ binding consists mostly of a class library.
Interworking with CORBA is part of the design specification. Interworking goes in both directions: the ORB is a client of the ODBMS for the implementation of object persistence, while the ODBMS is a client of the ORB for location, naming, and access to other ODBMSs. The ODBMS is optimised to provide better performance than the ORB for managing "millions of fine-grained objects". The lower-grain objects are registered with the ODBMS and not with the ORB, thus bypassing the BOA/RPC overheads. Other objects are registered with both the ODBMS and the ORB.
HUGH DARWEN AND C.J. DATE,
The Third Manifesto,
SIGMOD RECORD 24(1):39-49, March 1995.
The third manifesto aims to supercede the first two, [atkinson89] and [cadf90]. A rather technically oriented document, it formally defines the main properties of a hypotetical database language D. This language has a strong foundation in the relational model and has other characteristics that enrich its type system by providing user-defined types for domains. The belief of the authors is that the relational model can accommodate the required object oriented extensions without being corrected or perverted. The paper firmly states that SQL is "a perversion" of the relational model and makes it clear that D should be based on more formal and abstract grounds. D accesses the database only through declarative queries. The paper is more formal and precise than the other two manifestos and it describes an appealing, robust system. Unfortunately it doesn't exist yet!
DATE, C. J. (CHRISTOPHER JOHN)
An introduction to database systems, Vol. 1, 6th ed,
The latest revised edition of a classic database textbook. The last four chapters are dedicated to object oriented database systems. I find Date's explanations very clear and useful. He is a rather strongly opinionated author (although I personally find I tend to agree with him) and a strong supporter of the relational model (see [darwen95]); his main theme in these last chapters seems to be the rational destruction of the myth that object oriented databases are the designated successors to relational databases. His presentation of OODBMS is based on GemStone/OPAL as in [ullman82], so not all of Date's criticisms would be fair against the new generations of products such as those reviewed in [manola94]. Nevertheless, his coverage of the subject is clear, interesting and thought-provoking.
W. KIM AND LOCHOVSKY (EDS),
Object-Oriented Concepts, Databases, and Applications,
Addison-Wesley (Reading MA), 1989
A collection of unrelated papers by different authors. As such it is rather fragmentary. The various bits are narrowly focused and I wouldn't recommend the volume as an introduction to the field. Chapters that were supposed to give a general perspective were rather generic and didn't offer any outstandingly clear insights.
[manola94] (part 1 and part 2)
An Evaluation of Object-Oriented DBMS Developments, 1994 Edition,
GTE Laboratories technical report TR-0263-08-94-165, 1994
A very thorough and up-to-date review of the major commercial products in the object database arena including detailed coverage (approximately 10 pages each) of over a dozen products. This is a good text which combines a clear introductory perspective, a panorama of the currently available commercial offerings and a reasonably unbiased presentation of the many different approaches to the problem. The report opens with an enlightening introductory chapter that explains the motivations for the development of object database technology and highlights the main characteristics of ODBMS, taking into account the prescriptions of the first two manifestos, [atkinson89] and [cadf90]. It also highlights the different perspectives offered by the object-oriented DMBS approach versus the object-relational DBMS approach. After the product evaluation sections comes a chapter on standards covering ODMG-93 (see [cattell94]), SQL3 and OMG. The report then investigates key ODBMS features and issues in providing them. Finally, application considerations are investigated.
JEFFREY D. ULLMAN,
Principles of Database and Knowledge-based Systems, Vol.1, 2nd edition,
Computer Science Press, 1982
(1st volume of 2-volume textbook.)
(See the annotation to [ullman89] first.) This first volume had something, but it was 1982 material and as such not comparable with the recent advances in the field. E.g. the simple fact of having object identity was considered as a feature suggesting object orientation. Volume 1 has a 20-page description of an early object-oriented DMBS, OPAL. This turns out to be a system with OO-style class definitions where queries cannot be expressed declaratively and have to be implemented by writing methods for the objects they apply to.
JEFFREY D. ULLMAN,
Principles of Database and Knowledge-based Systems, Vol.2,
Computer Science Press, 1989
(2nd volume of 2-volume textbook.)
I looked at this because it was the textbook for the [ullman94] lectures, but there wasn't any material on OODBMS in this second volume. See [ullman82] instead.
[ullman94] (Go a local snapshot or to Ullman's original site)
JEFFREY D. ULLMAN,
Informal lecture notes for the author's university course CS345A, Principles of Database Systems, 1994.
Lectures 14 - 16 contain a brief and easy to read introduction to OODBMS from an ODMG perspective, including some CORBA coverage. OODB = OO+DB; ODL is like CORBA's IDL, plus database features like domains, keys, relationships. Types are either atomic or built with constructors like set, bag, list, array, structure. OQL is a Select-From-Where query language that returns a set of values.
Contains copies of the three manifestos and a few pointers to books and online resources.
Home page of the ODMG. Contains background on ODMG, a list of members, amendments to the standard and, sometime soon, a list of compliant commercial products.
Home page of Jeffrey D. Ullman, professor at Stanford University, USA. Contains his lecture notes and the list of his publications (careful with that one! 9 pages, 177 items... :))
Home page of M. Tamer Özsu, professor at the Laboratory for Database Systems Research at the University of Alberta, Canada. Contains a list of his publications and postscript for many of them, including entire book chapters.
A well organised list of bibliographical references and online resources on object databases.
An archive of technical articles on databases with various searchable indexes.
A bibliography server on database systems and logic programming. Covers conferences, journals, books etc.
An extensive set of bibliographies on database systems, part of a larger collection of computer science bibliographies.
An uncommented list of links to http and ftp resources on object databases, compiled from postings to the Usenet newsgroup comp.database.object.