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
3rather 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
COMPUTERidentity-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