You are on page 1of 16
Object-Oriented Database Management Systems: Concepts and Issues Elisa Bertino, University of Genova Lorenzo Martino, Datamont Research and Development Centre he first and most relevant applica I tions of database management sys tems technology were for business land administration. This influenced data ‘organization and usage in DBMSs. Recently, however, hardware innova tions have opened the market tone appli cations thatrequire adequate software ols Typical examples include computer-aided design. office information systems. hyper- media stems, documentation af complex ‘mechanical systems. knowledgebases, and scientific applications, These applications require effective support for the management of complex possibly multimedia, objects. Forexample. hypermedia applications require handling oftext, graphics. and bitmap pictures. while design applications might require support for geometric objects. Other crucial re quirements derive from the evolutionary ature of applications and include multiple versions of the same data and long-lived ‘The support of complex objects imposes several requirements on both the object data model and object management, The April 1991, Object-oriented database technology combines the expressive power of programming languages with effective support for persistent data typical of database management systems. {data model should support the modeling of objectstructures and intertelationshipsina natural way, The model should suppor not fly an object structural definition, but also the modeling of object behaviors and ‘dynamic constrains, In addition, in the intended application environments, the object structures. behavior, and interrela- tionships evolve over time Fromthe object management viewpoint, the application characteristics. the object dimensions. and the length of operations requite extending or completely modify ing traditional DBMS architectures. ech niques. and algorithms to deal with a num ber of issues, For instance, Two modalities of access to objects should be provided hat is. access 10 single object) based on some object identi fer or name, and access 0 sets of objects, based on declarative queries. + Object versioning mechanisms should bbe provided to take into account different ‘object evolution states. valiity times, and information about alternatives. ‘Transactions ean extend in time and involve large amounts of data. This requires fevisiting the recovery and concurrency control mechanisms. ‘+ The evolutionary nature of applica- tions makes schema modificationthe norm 3 rather than the exception. Therefore, exe caution of schema modification operations should be supported without requiring sys- tem slowdown or shutdowa, + Protection mechanisms should be based ‘on the object, which is the natural access To satisfy these requirements, one di- rection undertaken in the database area is the design and development of object- oriented database management systems (QODBMSs), An object-oriented data model les the user model every conceptual entity by using a single modeling concept the object. In addition, mechanisms such as aggregation and generalization let the User fepresentrelationships among objects, and among object collections. ‘The object-oriented paradigm was pri- marily introduced inthe design of advanced programming languages andenvironments such as Smalltalk. A first attempt to apply this paradigm to data management has re- sulted in the building of object-oriented interfaces on top of relational DBMSs, Mainly for performance reasons. this s0- lution is generally unsatisfactory Moreadvanced systems, suchas Avance,! Encore.? Gemstone," Iris. 0sOrion.*and base.’ have taken the approach of de- signing an architecture to dieectly support the object-oriented paradigm, Basic concepts of an object-oriented data model ‘The object-oriented paradigm is based on five fundamental concepts (1) Each real-world entity is modeled by an object. Buch abject is associ ated with a unique identifier. (2) Each object has a set of instance auributes (instance variables) and methods; the value of an attribute ‘can be an object or a set of objects. This characteristic permits arbi- trarily complex objects to be de- fined as an aggregation of other objects. The set of atributes of an object and the set of methods repre- sent the object structure and behav- ior, respectively. (3) The attribute values represent the objects status. Thisstatusisaccessed ‘or modified by sending messages 0 the object to invoke the correspond ing methods. (4) Objects sharing the same structure and behavior are groupedintoclasses ‘A class represents a template for a Seto similar objects. Each object is an instance of some class, AA class can be defined as a special- ization of one of more classes. A class defined as a specialization is called a subclass and inherits at- tributes and methods. from its superelass(es (5) However. there are many variations with respect to these five concepts, as we will see in the remainder of this section. In fact. wwe use them mainly as a way to orgenize the discussion. rather than as a definition of the object-oriented paradigm AnOODBMS canbe definedasa DBMS that directly supports a model based on the ‘object-oriented paradigm. Like any DBMS, itmust provide persistent storage for objects and their deseriptors (schema). The system must also provide a language for schema definition and for manipulation of objects and their schema. In addition tothese basic characteristics. an OODBMS usually in cludes a query language and the necessary database mechanisms For access optimiza European Strategic Programme for Research in Information| Glossary Crt Cocamy Confrence on Data Sytems Languages rh zePar ooogy oo objet ror o0eMs —_Oblctotenad database managenat ssa CoP Selectors programming onguge Ro Pecord onder tion, such as index and clustering, concur- rency control and authorization mech nisms for multiuser accesses, and recov ey. ‘Objects and object identifiers. in ob- ject-oriented systems, each real-world en- tity is uniformly tepresented by an object. Each object is usiquely identified by an ‘object identifier. The identity of an object has an existence independent of its value Using OIDs lets objects share subobjects and makes possible the construction of general object networks, The notion of an object identifier is different from the concept of key in the relational data model. A Key is defined by the value of one of mote attributes and, therefore, can undergo modifications, But, two objects are different if they have dif ferent object identifiers, even if all theit ateributes have the same values, Note that sharing objects in models where identity is based on value leaves the applications to manage key values and the associated normalization problems. However, there are models in which both ‘objects and values are allowed: in these models not all entities are objects. Infor- mally, 2 value is sel-identifying and has ‘no associated OID. in some models, al the primitive entities. suchas integers or char acters, ate values, while all other entities ate objects, (Other models. notably Avance! and Os provide the possibilty of defining complex (or structured) values. Complex. values cannot be shared among objects. They are ‘built using the same constructors as those provided for objects. We discuss these later, In general, complex values are useful in situations where aggregates (or sets) must be defined to be used as components of ‘other objects but will never be used alone. U complex values are not allowed. these aggregates must be definedby using aclass and must have an OID associated with them, Therefore, some performance penalty Anexample is dates. Suppose that date is defined asa tuple of three components respectively representing month. day. and year. Dates are likely to be used as com- ponents of other objects. However. itis ‘unlikely thatauserwill issue aquery onthe class of all dates. Therefore, it appears ‘more convenient to define dates as com- plex values rather than as objects. ‘The notion of object identity introduces, atleast two different notions of equality among objects. The first. denoted here by =. isthe identity equality, Two objects are COMPUTER identity-equal. or identical ifthey have the same OID, ‘The second, denoted here by ==. is the valueequality. Two objects are value-equal if all their attributes that are values are cequaland all theiratributesthatare objects are recursively value-equal. That is, the two objects have the same content, even if they have two different identifiers. Two identical objects are also value-equal. but two value-equal objects are not necessarily identical Different approaches for building OIDs canbedevised. Forexample.inthe approach used inthe Orion system. an OID consists of the pair . The ftstelementisthe identifier of the class 10 which the object belongs. and the second identifies the object within the class ‘The complete definition of attributes and methods for all instances of a class is Fac~ tored and kept in an object representing the

You might also like