An Indexing Technique for Object-Oriented Databases Elisa Bertino Dipartimento di Mateniatica - Universita’ di Genova Via L.B. Alberti 4, 16132 Genova (Italy) Abstract We present an indexing technique providing efficient support for object-oriented queries. We first briefly discuss object-oriented query languages. Then, we de- scribe the indexing technique and the associated op- erations. A preliminary comparison of our technique with previously defined access mechanisms is also pre- sented. 1 Introduction Object-oriented DBhiISs (OODBMSs) have started to emerge as the new generation DBMSs. Their overall goal is to provide data management facilities for ,ad- vanced applications, such as CAD/CAM, software engi- neering, and office automation which need to manage a large amount of evolving and shared data objects, coil- nected by complex semantic relationships. The issues in the design of such systems are several and include: the “standardization” of object-oriented data models to consolidate the basic constructs of these models; query languages; long-duration transactions; protec- tion mechanisms; storage structures; indexing tech- niques. Among these the development of suitable indexing techniques is crucial. In fact, most object-oriented DBMSs provide query languages that support content based access to sets of objects, in addition to the navi- gational access. Some of these languages have features that differentiate them with respect to query languages in relational DBMSs. An efficient support, of object- oriented query languages requires extensions to tradi- tional indexing techniques. In t,his paper, we present an indexing technique that directly supports the ohject- oriented paradigm. We compare our approach with previous work in the following section, after we intro- duce concepts of object-oriented data models ancl query languages that are relevant for the understanding of t,he indexing techniques. 2 Object-Oriented Data Models The object-oriented paradigm is based on a number of basic concepts, that include the notions of object, object-identifier, class, and inheritance. We discuss some aspects concerning these notions that are rele- vant for the following discussion. We also briefly dis- cuss some features of object-oriented query languages. Note that the query language is not part of the object- oriented paradigm as defined in the area of object- oriented programming. However, it is a crucial compo- nent of any DBMS. Therefore, it is considered a basic capability that OODBMSs must provide. Any real-world entity is represented by only one modeling concept: the object. An object has associ- ated a state and a behavior. The state of an object is defined at any time by the value of its properties (called attributes, or instance variables, elsewhere). Proper- ties can have as values both primitive objects, such as strings, integers or booleans, and non-primitive ob- jects; a non-primitive object in turn consists of a set of properties. Therefore objects can be recursively de- fined in terms of other objects. The behavior of an object is specified by the methods that operate on the object state. Each object is uniquely identified by a system-defined identifier (called here OID) . Objects with the same properties and behavior are grouped in classes. Objects, instances of a given class, have a value for each property defined for the class, and they respond to all messages that invoke methods defined for the class. In addition to the intensional notion, the concept of class has associated, in some object-oriented models, the extensional notion of the set of objects sharing a common definition. In this case, the class is equipped with primitives to manip- ulate the class extension. When the concept of class has also the extensional notion, it provides the basis for formulating queries. In fact, queries are meaningful only if applied to sets of object,s. In models where the class concept does not have the extensional notion, dif- ferent constructors such as the Collection are provided to group objects. In these cases, queries apply t,o the 160 CH2968-6/0000/0160$01 .OO 0 1991 IEEE