Data Modeling Object Oriented Data Model Encyclopaedia of Information Systems, Academic Press Vaz


9902.ch55 2/5/02 2:28 PM Page 1
PROOF
Data Modeling Object-Oriented Data Model
Michalis Vazirgiannis
Athens University of Economics and Business
I. INTRODUCTION IV. CONCLUSION RESEARCH ISSUES AND PERSPECTIVES
II. MOTIVATION AND THEORY V. CASE STUDY: OBJECT RELATIONAL SOLUTIONS FOR
III. INDUSTRIAL SYSTEMS STANDARDS MULTIMEDIA DATABASES
GLOSSARY the framework of the program, the internal mech-
anism determines what specific name of different
data model In data modeling we try to organize data purposes is known as function overloading.
so that they represent as closely as possible a real relational model A data modeling approach having
world situation, yet representation in computers is found very successful industrial implementations
still feasible. A data model encapsulates in DBMS. The fundamental modeling constructs
three elements: objects structure, behavior and in- are the relations consisting of tuples of values each
tegrity constraints. one taking its semantics from an appropriate at-
tribute. The relations represent entities of the real
world and relationships among entities.
encapsulation A property of the object oriented model, promoting data and operation indepen-
dence. This is achieved by hiding the internal struc- I. INTRODUCTION
ture and implementation details from the external
world simplifying thus the maintenance and usage A. Need for Data Modeling
of a multitude of object classes in an application.
inheritance The ability of one class to inherit the The word  datum comes from Latin and, literally in-
structure and behavior of its ancestor. Inheritance terpreted, means a fact. However, data do not always
allows an object to inherit a certain set of attributes correspond to concrete or actual facts. They may be
from another object while allowing the addition of imprecise or may describe things that have never hap-
specific features. pened (e.g., an idea).
object-oriented modeling It is an abstraction of the real
world that represents objects structural content and
behavior in terms of classes hierarchies. The struc- Data will be of interest to us if they are worth not only
tural content is defined as a set of attributes and at- thinking about, but also worth recording in a
tached values and the behavior as a set of methods precise manner.
(functions that implement object s behavior). Many different ways of organizing data exist.
polymorphism The ability of different objects in a For data to be useful in providing information,they
class hierarchy to have different behaviors in re- need to be organized so that they
sponse to the same message. Polymorphism derives can be processed effectively. In data modeling we try to
its meaning from the Greek for  many forms. A organize data so that they represent as closely as possi-
single behavior can generate entirely different re- ble a real world situation, yet are still represetation in
sponses from objects in the same group. Within computers is still feasible. These two requirements are
Encyclopedia of Information Systems, Volume One
Copyright 2002, Elsevier Science (USA). All rights reserved. 55-1
9902.ch55 2/5/02 2:28 PM Page 2
PROOF
55-2 Data Modeling Object-Oriented Data Model
frequently conflicting. The optimal way to organize IBM s addition of data communication facilities to
data for a given application can be determined by un- its IMS software gave rise to the first large-scale data-
derstanding the characteristics of data that are im- base/data communication (DB/DC) system, in which
portant for capturing their meaning. These charac- many users access the DB through a communication
teristics allow us to make general statements about network. Since then, access to DBs through commu-
how data are organized and processed. nication networks has been offered by commercially
It is evident that an interpretation of the world is available DBMSs.
needed, sufficiently abstract to allow minor C.W. Bachman played a pioneering role in the de-
perturbations, yet sufficiently powerful to give some velopment of network DB systems (IDS product and
understanding concerning how data about the world Codasyl DataBase Task Group, or DBTG, proposals).
are related. An intellectual tool that provides such an The DBTG model is based on the data structure dia-
interpretation will be referred to as a data grams, which are also known as Bachman s diagrams.
model. It is a model about data by which a reasonable In the model, the links between record types, called
interpretation of the data can be obtained. A data Codasyl sets, are always one occurrence of one record
model is an abstraction device that allows us to focus type. To many, that is, a functional link. In its 1978
on theinformation content of the data as op- specifications, Codasyl also proposed a data definition
posed to individual values of the data). language (DDL) at three levels (schema DDL, sub-
schema DDL, and internal DDL) and a procedural
(prescriptive) data manipulation language (DML).
B. Historical Overview: First and
In 1969 1970, Dr. E. F. Codd proposed the rela-
Second Database Model Generations tional model, which was considered an  elegant math-
ematical theory without many possibilities of effi-
cient implementation in commercial products. In
1970, few people imagined that, in the 1980s, the re-
Informaton lational model would become mandatory (a  decoy )
system demands more and more services for the promotion of DBMSs. Relational products like
from information stored in computing systems. Gradu- Oracle, DB2, Ingres, Informix, Sybase, etc., are con-
ally, the focus of computing, shifted from process-oriented sidered the second generation of DBs. These prod-
ucts have more physical and logical independence,
to data-oriented systems, where data play an important greater flexibility, and declarative query languages
role for software engineers. Today, many design prob- (users indicate what they want without describing how
lems center in data modeling and structuring. to get it) that deal with sets of records, and they can
After the initial file systems in be automatically optimized, although their DML and
the 1960s and early 1970s, the first generation host language are not integrated. With relational
of database products was born. Database sys- DBMSs (RDBMSs), organizations have more facilities
tems can be considered as intermediaries between for data distribution. RDBMSs provide not only better
physical devices where data are stored and the users usability but also a more solid theoretical foundation.
(humans) of the data. Database management systems Unlike network models, the relational model is
(DBMS) are the software tools that enable the man- value-oriented and does not support object identity.
agement (definition, creation, maintenance, and use) Needless to mention, there is an important trade-off
of large amounts of interrelated data stored in between object identity and declarative features. As a
computer-accessible media. The early DBMSs, which result of Codasyl DBTG and IMS support object iden-
were based on hierarchical and network (Codasyl) tity, some authors introduced them in the object-
models, provided logical organization of data in trees oriented DB class.
and graphs. IBM s IMS, General Electric s IDS, Uni- The initial relational systems, suffered from
vac s DMS 110, Cincom s Total, MRI s System 200, and performance problems. While nowadays these
Cullinet s (now Computer Associates) IDMS are some products have achieved wide acceptance,
Au: unclear
of the well-known representatives of this generation. it must be recognized
Although efficient, these systems used proce- that they are not exempt from difficulties.
dural languages and did not offer physical or logical Perhaps one of the greatest demands on
independence, thus limiting its flexibility. In RDBMSs is the support of complex data
spite of that, DBMSs were an important advance com- types; also, null values, recursive queries, and scarce
pared to the file systems. support for integrity rules and for domains (or ab-
9902.ch55 2/5/02 2:28 PM Page 3
PROOF
Data Modeling Object-Oriented Data Model 55-3
stract data types) are now other weaknesses of rela- Today, we are witnessing an extraordinary develop-
tional systems. Some of those problems are solved in ment of DB technology. Areas that were exclusive of
the recent version of Structured Query Language research laboratories and centers are appearing in
(SQL), SQL: 1999 (previously SQL3). DBMSs latest releases: World Wide Web, multimedia,
In the 1970s, debate emerged on the relative mer- active, object-oriented, secure, temporal, parallel, and
its of Codasyl and relational models. It resutled in multidimensional DBs. The need for exploiting the
pare both classes of models and to obtain a better un- Object-Oriented Model for such complex systems is
derstanding of their strengths and weaknesses. apparent.
During the late 1970s and in the 1980s, research
work (and, later, industrial applications) focused on
query optimization, high-level languages, the normal- II. MOTIVATION AND THEORY
ization theory, physical structures for stored relations,
bugger and memory management algorithms, index- A. Motivation
ing techniques (variations of B-tress), distributed sys-
tems, data dictionaries, transaction management, and Although one might think that DB technology has
so on. That work allowed efficient and secure on-line reached its maturity, the new DB generation has
transactional processing (OLTP) environments (in demonstrated that we still ignore the solutions to
the first DB generation, DBMSs were oriented toward some of the problems of the new millennium. In spite
batch processing). In the 1980s, the SQL language of the success of this technology, different  preoccu-
was also standardized (SQL/ANS 86 was approved by pation signals must be taken into account. We iden-
the American National Standard Institute, ANSI and tify the following architectural issues that need to be
the International Standard Organization, ISO in solved in the light of new application domains:
1986), and today, every RDBMS offers SQL.
Many of the DB technology advances at that time " Current DBMSs are monolithic; they offer all
were founded on two elements: reference models and kinds of services and functionalities in a single
data models. ISO and ANSI proposals on reference  package, regardless of the users needs, at a very
models have positively influenced not only theoretical high cost, and with a loss of efficiency
researches but also practical applications, especially in " About half of the production data are in legacy
DB development methodologies. In most of those ref- systems
erence models, two main concepts can be found; the " Workflow management (WFM) systems are not
well-known three-level architecture (external, logical, based on DB technology; they simply access DBs
and internal layers), also proposed by Codasyl in 1978, though application programming interfaces (APIs)
and the recursive data description. The separation be- " Replication services do not scale well over 10,000
tween logical description of data and physical imple- nodes
mentation (data application independence) devices " Integration of strictly structured data with loosely
was always an important objective in DB evolution, structured data (e.g., data from a relational DB
and the three-level architecture, together with the re- with data from electronic mail)
lational data model, was a major step in that direction.
In terms of data models, the relational model has On the other hand there is wealth of new application
influenced research agendas for many years and is domains that produce huge amounts of data and
supported by most of the current products. Recently, therefore call for database support. Such domains are
other DBMSs have appeared that implement other computer-aided design (CAD), computer-aided soft-
models, most of which are based on object-oriented ware engineering (CASE), office-automation, multi-
principles. media databases, geographic information systems
Three key factors can be identified in the evolution (GIS), scientific experiments, telecommunications, etc.
of DBs: theoretical basis (resulting from researcher s These application domains present some impor-
work), products (developed by vendors), and practi- tant common characteristics that make their database
cal applications (requested by users). These three fac- support by traditional relational systems problematic.
tors have been present throughout the history of DB, Such features include:
but the equilibrium among them has changed. What
began as a product technology demanded by users " Hierarchical data structures (complex objects)
needs have always influenced the evolution of DB " New data types for storing images or large textual
technology, but especially so in the last decade. items
9902.ch55 2/5/02 2:28 PM Page 4
PROOF
55-4 Data Modeling Object-Oriented Data Model
" No general-purpose data structure available an object-oriented database management system
" Nonstandard application-specific operations (OODBMS). Furthermore such a system must sup-
" Dynamic changes port Inheritance (single multiple) and handle object
" Cooperative design process among designers identity issues. Then OO languages providing persis-
" Large number of types tency (persistence by class, creation, marking, refer-
" Small number of instances ence) are necessary so that users of an OODBMS are
able to define and manipulate database objects.
" Longer duration transactions
The database technology has to respond to these chal-
2. Object-Oriented Modeling
lenges in a way that the above requirements are ad-
and Programming Concepts
dressed as database technology design features. In the
sequel we identify the shortcomings of current data- Hereafter an overview of object-oriented concepts will
base technology in the context of the new applications: be presented. Object orientation has its origins in
object-oriented programming languages (OOPLS).
" Poor representation of  real-world entities, need The  class concept is introduced by SIMULA, where
to decompose objects over relations as abstract data types encapsulation, message passing,
" Fixed build-in types; no set-valued attributes are and inheritance features are further introduced by
supported, thus complex and highly nested the pioneering SMALLTALK. Another language of
this family is C that integrates the strengths of C
objects cannot be represented efficiently
with object-oriented concepts. The newest OO lan-
" Semantic overloading
guage is Java, inherently object-oriented providing a
" Poor support for integrity and enterprise
wide selection of classes for different tasks (i.e., visu-
constraints
alization, network and task management, persistent
" No data abstraction such as aggregation and
features). Its portability across platforms and operat-
generalization, thus inheritance and specialization
ing systems made it a very attractive development en-
cannot be addressed
vironment, widely used and with important impact on
" Limited operations
programming large-scale applications.
" Difficulty handling recursive queries
An object has an inherent state followed by its be-
" No adequate version control is supported
havior, which defines the way the object treats its state
as well the communication protocol between the ob-
ject and the xternal world. We have to differentiate
B. Object-Oriented Model
between the transient objects in OOPLs and the
persistent objects in object-oriented databases
1. Historical Preview of
(OODBs). In the first case the objects are eliminated
Object-Oriented Databases
from the main memory as soon as they are not needed
Before we proceed with our discussion of data mod-
whereas in the case of OODBMSs objects are persis-
eling, it is necessary to define, even if only approxi-
tently stored and other mechanisms such as indexing,
mately, the elementary objects that will be modeled
concurrency, control, and recovery are available.
(i.e., what a datum is). Suppose that we accept as a
OODBMSs usually offer interfaces with one or more
working definition of an atomic piece of data the tu-
OOPLs.
ple . After all, a
The three features that differentiate an object from
phenomenon or idea usually refers to an object (ob-
a relational tuple are
ject name) and to some aspect of the object (object prop-
erty), which is captured by a value (property value) at a 1. Object identity, a unique identifier generated
certain time (time). with the object creation and follows it throughout
Of these four aspects of data, time is perhaps the its life cycle
most cumbersome aspect of data modeling. There- 2. Encapsulation features (promoting data and
fore, many data models completely drop the notion operation independence), since the internal
of time and replace it either with other kinds of ex- structure and implementation details are not
plicit properties or with orderings among objects. The accessible from the external world simplifying
issues of Object-Oriented (OO) Models, object thus the maintenance and usage of a multitude
structure object Classes will be treated as the basis of of object classes in an application
9902.ch55 2/5/02 2:28 PM Page 5
PROOF
Data Modeling Object-Oriented Data Model 55-5
3. Operator polymorphism and overloading, allowing In this example the types Employee, Date, and De-
different behaviors to be grouped under the same partment are defined. As the object structures are po-
method and operator names; this facilitates design tentially complex the issue of object equality becomes
and evolution of large sets of classes interesting. Object equality is a concept that can be
viewed from two aspects: deep and shallow.
Here after these features are further analyzed.
" Two objects are said to have identical states (deep
a. OBJECT IDENTITY, OBJECT STRUCTURE
equality) if the graphs representing their states
AND TYPE CONSTRUCTORS
are identical in every respect, including the OIDs
The object identity (OID) is generated by the sys-
at every level.
tem when a new object is created and is unique and
" Two objects have equal states (shallow equality) if
immutable. Each OID is used only once and is invisi-
the graph structures are the same and all the
ble to the users.
Au: OK as set ? corresponding atomic values in the graphs are
An OODBMS offers a set of type constructors that
also the same. However, some corresponding
are used to define the data structures for an OO data-
internal nodes in the two graphs may have objects
base schema. The basic constructors offered created
with different OIDs.
atomic values (atom (integer, string, float, etc.), tu-
ples, and sets of objects. Other constructors create
b. ENCAPSULATION
lists, bags, and arrays of objects. It is also feasible to
An important feature in the domain of OODBs is
have attributes that refer to other objects called ref-
the encapsulation that offers an abstraction mecha-
erences OID.
nism and contributes in information hiding since an
An object has an internal structure defined by a
object encapsulates both data and functions into a
triple (OID, type constructor, state). For instance, as-
self-contained package. Thus the external aspects of
sume an object o (i1, tuple, an object are separated from its internal details. The
i5>). An object can be represented as a graph struc-
external users of the object are only made aware of
ture that can be constructed by recursively applying
the interface of the object type, i.e., name and pa-
the type constructors. Assume the following example:
rameters of each operation, also called signature.
The functionality of an object is implemented by a
set of methods and messages. A method consists of a
name and a body that perform the behavior associ-
ated with the method name, whereas a message is sim-
ply a request from one object to another object ask-
ing the second object to execute one of its methods.
In the context of database applications dealing with
objects we distinguish between visible attributes, imple-
mented by external operators or query language pred-
icates or hidden attributes which are referenced only
through predefined operations. Assume the example:
Define class Employee;
type tuple ( ...)
operations age: integer;
create_emp: Employee
destroy_emp: boolean;
end Employee;
If dis a reference to an Employee object, we can in-
voke an operation such as age by writing d.age.Of
Example 1 Object identities (OIDs). course the main issue in OODBs is to have a mechanism
9902.ch55 2/5/02 2:28 PM Page 6
PROOF
55-6 Data Modeling Object-Oriented Data Model
that makes the objects persistent, i.e., stored safely in In other cases it is desirable that a type inherits
the secondary storage at appropriate times. The mech- only part of structure and/or behavior of the a su-
anisms for making an object persistent are called nam- pertype. This is the case of selective inheritance. The
ing and reachability. The naming mechanism involves EXCEPT clause may be used to list the functions in a
giving an object a unique persistent name through supertype that are not to be inherited by the subtype.
which it can be retrieved by this and other programs.
The following example illustrates this concept: d. POLYMORPHISM
The term polymorphism integrates the various cases
where, during inheritance, redefinition of structure or
behavior is necessary. Polymorphism implies operator
overloading where the same operator name or symbol
define class DepartmentSet:
is bound to two or more different implementations of
type ...
the operator, depending on the type of objects to
operations ...
which the operator is applied. For instance the func-
...
tion Area should be overloaded by different imple-
end DepartmentSet;
mentations in the Geometry_Objectexample.
...
The process of selecting the appropriate method
persistent name AllDepartments:
based on an object s type is called binding. In strongly
DepartmentSet;
typed systems, this can be done at compile time. This
. / ?
...
is termed early (static) binding.
d := create_dept;
On the other hand binding can take place at run-
time, in this case called dynamic binding. An exam-
ple follows:
template
c. TYPE HIERARCHIES AND INHERITANCE
T max(x:T, y:T) {
A type can be defined by giving it a type name and
if (x > y) return x;
then listing the names of its public functions. Then it
else return y;
is possible to define subtypes emanating from the ba-
}
sic types. For example:
The actual methods are instantiated as follows:
int max(int, int);
real max(real, real);
PERSON: Name, Address, Birthdate,
If the determination of an object s type can be de-
Age, SSN
ferred until runtime (rather than compile time), the
EMPLOYEE subtype-of PERSON: Salary,
selection is called dynamic binding.
HireDate, Seniority
STUDENT subtype-of PERSON: Major,
e. COMPLEX OBJECTS
GPA
A complex object, an important concept in the
object-oriented approach, is an item that is perceived
as a single object in the real world, but combines with
other objects in a set of complex a-part-of relation-
Each subtype inherits the structure and behavior ships.
of its ancestor. It is also possible to redefine (over- We distinguish two categories of complex objects:
ride) an inherited property or method. unstructured and structured ones. The unstructured
In some cases it is necessary to create a class that complex objects contain bitmap images, long text strings;
inherits from more than one superclass. This is the they are known as binary large objects (BLOBs),
case of multiple inheritance which occurs when a cer- OODBMSs provide the capability to directly process
tain subtype T is a subtype of two (or more) types and selection conditions and other operations based on
hence inherits the functions of both supertypes. This values of these objects.
leads to the creation of a type lattice. In several cases Such objects are defined by new abstract data types New Å› OK ?
if the lattice grows integrity and ambiguity problems and the user provides the pattern recognition pro-
may arise. gram to map the object attributes to the raw data.
9902.ch55 2/5/02 2:28 PM Page 7
PROOF
Data Modeling Object-Oriented Data Model 55-7
The second category, structured complex objects, im- " Types or classes must be supported along with
plies that the object s structure is defined by repeated inheritance features, so that types or classes must
application of the type constructors provided by the be able to inherit from their ancestors.
OODBMS. Here we distinguish two types of reference " Dynamic binding must be supported.
semantics: (1) ownership semantics (is-part-of; is- " The DML must be computationally complete and
component-of), and (2) is-associated-with relationship. the set of data types must be extensible. Moreover
The idea is that OODBMSs constitute a  marriage be- The DBMS must provide a simple way of querying
tween the concepts of object-oriented programming data.
(OOP), such as inheritance, encapsulation, and poly- " Data persistence must be provided as a natural
morphism, and well-founded and industry level sup- feature of a database system.
ported database capabilities (see Fig. 1). " The DBMS must be capable of managing very
Conclusively, the ideas that were worked out in the large databases.
OODBMS area have been concentrated and codified " The DBMS must support concurrent users.
by the Object-Oriented Database System Manifesto. " The DBMS must be capable of recovery from
This is an effort toward standardization and promot- hardware and software failures.
ing ideas that should be part of an object-oriented
database system. The most important concepts from Though these features are quite interesting and
this manifesto follow: promising, the impact on the database industry was
not as important as hoped. Instead the big database
" An OODBMS should support complex objects. industry tried to extend the well-established relational
" Object identity is an important part of an object technology by integrating some of the object-oriented
and must be supported. database concepts. This hybrid technology is known
" Encapsulation must be supported as an integral as object relational. In the next section there is a re-
part of the system. view of the main features of this technology.
Figure 1 OODBMS is an amalgamation between OOP and traditional database concepts.
9902.ch55 2/5/02 2:28 PM Page 8
PROOF
55-8 Data Modeling Object-Oriented Data Model
is to prevent the violation of data integrity and,
C. The Object Relational Approach
thereby, its normalization.
The origins of OODBs trace their beginnings to
Here we contrast and compare the relative strengths
the emergence of OOP in the 1970s. Technically, there
and weaknesses of the relational and object-oriented
is no official standard for object DBs. The book The
systems in order to motivate the need for object-
Object Database Standard: ODMG-V2.0, under the
oriented modeling. The discussion will include user-
sponsorship of the Object Database Management
defined data types and set-based versus navigational
Group (ODMG) (http://www.odmg.com), describes
access to data. We also examine some simple model-
an industry-accepted de facto standard. Object DBMSs
ing examples to illustrate the discussions.
emphasize objects, their relationships, and the stor-
age of those objects in the DB.
1. A Quick Look at Relational
Designers of complex systems realized the limita-
and Object-Oriented Databases
tions of the relational paradigm when trying to model
complex systems. Characteristics of object DBs include
It is evident that the strengths of the relational para-
a data model that has object-oriented aspects like class,
digm have revolutionized information technology. Re-
with attributes, methods, and integrity constraints; they
lational database technology was originally described
also have OIDs for any persistent instantiation of
by E. F. Codd. Not long afterward, companies like
classes; they support encapsulation (data and meth-
IBM and Oracle created very successful products. The
ods), multiple inheritance, and abstract data types.
relational DB standard is published by ANSI, with the
Object-oriented data types can be extended to sup-
current specification being X3H2 (SQL 92). The new
port complex data such as multimedia by defining
specification dealing with object extensibility has been
new object classes that have operations to support the
labeled X3H7. A relational DB stores data in one or
new kinds of information.
more tables or rows and columns. The rows corre-
The object-oriented modeling paradigm also sup-
spond to a record (tuple); the columns correspond to
ports inheritance, which allows incremental develop-
attributes (fields in the record), with each column
ment of solutions to complex problems by defining
having a data type like date, character, or number.
new objects in terms of previously defined objects.
Commercial implementations currently support very
Polymorphism allows developers to define operations
few data types. For example, character, string, time,
date, numbers (fixed and floating point), and cur- for one object and then share the specification of the
operation with other objects. Objects incorporating
rency describe the various options. Any attribute
polymorphism also have the capability of extending
(field) of a record can store only a single value.
behaviors or operations to include specialized actions
Relational DBs enforce data integrity via relational
or behaviors unique to a particular object. Dynamic
operations, and the data themselves are structures to
a simple model based on mathematical set theory. Re- binding is used to determine at runtime which opera-
lationships are not explicit but rather implied by val- tions are actually executed and which are not. Object
DBs extend the functionality of object programming
ues in specific fields, for example, foreign keys in one
languages like C or Java to provide full-
table that match those of records in a second table.
Many-to-many relationships typically require an inter- featured DB programming capability. The result is a
mediate table that contains just the relationships. Re- high level of congruence between the data model for
lational DBs offer simplicity in modifying table struc- the application and the data model of the DB, result-
ing in less code, more natural data structures, and bet-
ture. For example, adding data columns to existing
tables or introducing entire tables remains an ex- ter maintainability and greater reusability of code. All
of those capabilities deliver significant productivity ad-
tremely simple operation. The beauty of relational
vantages to DB application developers that differ sig-
DBs continues to be in its simplicity. The process of
normalization establishes a succinct clarity to the man- nificantly from what is possible in the relational model.
agement and organization of data in the DB. Redun-
dancies are eliminated and information retrieval its
2. Contrasting the Major Features of Pure
governed by the associations created between primary
Relational and Object-Oriented Databases
and foreign keys. Why store the same piece of infor-
mation in two or more places when a logical connec- In the relational DB, the query language is the means
tion can be established to it in one place? Referential to create, access, and update objects. In an object DB,
integrity (RI) has also made an important contribu- the primary interface for creating and modifying ob-
tion because it enables business rules to be controlled jects is directly via the object language (C , Java,
through the use of constraints. The role of constraints SMALLTALK) using the native language syntax even
9902.ch55 2/5/02 2:28 PM Page 9
PROOF
Data Modeling Object-Oriented Data Model 55-9
though declarative queries are still possible. Addi- of reference entities remain relatively static and serve
tionally, every object in the system is automatically to validate entries in the referencing table. For ex-
given an OID that is unique and immutable during ample, a reference entity called MARKETS can be
the object s life. One object can contain an OID that created to store the valid set of areas where a com-
logically references, or points to, another object. pany does business. In the same way, a VARRAY might
Those references prove valuable when in the associa- be substituted to perform the same reference and val-
tion of objects with real-world entities, such as prod- idation. VARRAY constructs are stored inline. That
ucts, customers, or business processes; they also form means the VARRAY structure and data are stores in
the basis of features such as bidirectional relation- the same data block as the rest of the row as a RAW
ships, versioning, composite objects, and distribution. data type. Although they bear some similarity to
In most ODBMSs, the OIDs become physical (the log- PL/SQL tables, VARRAYSs are fixed size.
ical identifier is converted to pointers to specific mem-
ory addresses) once the data are loaded into memory c. ENCAPSULATION
(cached) for use by the object-oriented application. Encapsulation is the definition of a class with data
No such construct exists in the relational DB. In fact, members and functions. In other words, it is the mech-
the addition of navigational access violates the very anism that binds code and data together while pro-
principles of normalization because OIDs make no tecting or hiding the encapsulation from outside of
reliance on keys. the class. The actual implementation is hidden from
To further explore the divergent nature of rela- the user, who only sees the interface.
tional and object-oriented DBs, let us look more As an illustrative example, think of a plane engine.
closely at the drawbacks of each. Our discussion even- You can open it and see that it is there, and the plane
tually leads us to the justification behind the object- pilot can start the ignition. The engine causes the
relational paradigm. plane to move. Although you can see the motor, the
In the following we explore the specifics of what it inner functions are hidden from your view. You can
takes to define the object-relational paradigm. A first appreciate the function that the motor performs with-
issue is to enable object functionality in the relational out ever knowing all the details of what occurs inside
world. Two important aspects must be considered in or even how.
any definition of the object-relational paradigm. The
first is the logical design aspects of the architecture. d. INHERITANCE
What data types will be supported? How will data be Inheritance is the ability of one class to inherit the
accessed? The other aspect is the mapping of the log- structure and behavior of its ancestor. Inheritance al-
ical architecture to a physical implementation. lows an object to inherit a certain set of attributes
From a technological standpoint, certain capabili- from another object while allowing the addition of
ties must be included in the list of logical capabilities, specific features.
or the DB will not qualify to the minimal require-
ments for being object-relational. Such capabilities e. POLYMORPHISM
are behavior, collection types, encapsulation, inheri- Polymorphism is the ability of different objects in
tance, and polymorphism. a class hierarchy to have different behaviors in re-
sponse to the same message. Polymorphism derives its
a. BEHAVIOR meaning from the Greek for  many forms. A single
A method, in the purely object-oriented paradigm, behavior can generate entirely different responses
is the incorporation of a specific behavior assigned to from objects in the same group. Within the frame-
an object or element. A method is a function of a par- work of the program, the internal mechanism deter-
ticular class. mines specific names for different purposes and is
known as function overloading.
b. COLLECTION TYPES
An aggregate object is essentially a data-type defi- sp / ?
nition that can be composed of many subtypes cou-
pled with behavior. In Oracle 8, for example, there
are two collection types: VARRAYs and nested tables.
VARRAYs are suitable when the subset of information
is static and the subset is small. A suitable implemen-
tation of a VARRAY might be in the same context
where a reference entity might be used. The contents .
9902.ch55 2/5/02 2:28 PM Page 10
PROOF
55-10 Data Modeling Object-Oriented Data Model
Interface Collection: Object {
...
ormance.
boolean is_empty( );
...
};
o.same_as (p)
q = o.copy()
III. INDUSTRIAL SYSTEMS STANDARDS
1. Built-In Interfaces
A. Standards The Object
for Collection Objects
Model of the ODMG
Any collection object inherits the basic Collection in-
ODMG was created at the initiative of a set of object
terface. Given a collection object o, the o.cardi-
database vendors with the goal of defining and pro-
nality()operation returns the elements in the col-
moting a portability standard for OODBs. It had eight
lection. O.insert_element(e)and o.remove_
voting members (O2 Technology, Versant, Poet, Gem-
element(e)insert or remove an element from the
stone, Objectivity, Object Design, Uni SQL, IBEX), re-
collection O. The ODMG object model uses excep-
viewing members (among which, CERN, Hewlett
tions for reporting errors or particular conditions.
Packard, Microsoft, Mitre, etc.), and academic mem-
For example, the ElementNotfoundexception in
bers (D. DeWitt, D. Maier, S. Zdonic, M. Carey,
the Collection interface would be raised by the o.re-
E. Moss, and M. Solomon).
move_element(e)operation if e is not an element
It provides the potential advantages of having stan-
in the collection o. Collection objects are further spe-
dards: (1) portability, (2) interoperability, (3) com-
cialized into Set, List, Array, and Dictionary.
pares commercial products easily and consists of the
Au: only 3
following modules:
modules, not 5
2. Atomic (User-Defined) Objects
as stated in text
1. Object model It describes the specific object model
In the ODMG model, any user-defined object that is
supported by the ODMG system, being an
not a collection object is called an atomic object. They
extension of the OMG(Object Management Group) model.
Au: please define
are specified using the keyword class in ODL. The
2. Object Definition Language (ODL) It is used to
OMG
keyword Struct corresponds to the tuple constructor.
specify the schema of an object database having a
A relationship is a property that specifies that two ob-
specific schema with a C binding.
jects in the database are related together. For exam-
3. Object query Language (OQL) An SQL like language
ple, work_for relationship of Employee and
that can be used as a stand-alone language for
has_emps relationshipof Department, Inter-
interactive queries or embedded in a
faces, Classes, and Inheritance.
programming language.
An interface is a specification of the abstract be-
havior of an object type, which specifies the operation
In the following we provide an overview of the ODMG
signatures. An interface is noninstantiable that is,
model. ODMG addresses objects and literals. An object
one cannot create objects that correspond to an in-
has both an OID and a state where a literal has only a
terface definition.
value but no OID. An object is described by four char-
A class is a specification of both the abstract be-
acteristics: identifier, name, lifetime, and structure. On
havior and abstract state of an object type, and is
the other hand, three types of literals are recognized:
instantiable.
atomic, collection, and structured. The notation of
Another object-oriented feature supported by
ODMG uses the keyword  interface in the place of the
ODMG is inheritance, which is implemented by ex-
keywords  type and  class. Below is an example:
tends keyword.
interface Object { The database designer can declare an extent for
... any object type that is defined via a class declaration
boolean same_as (...) and it contains all persistent objects of that class. Ex-
Object copy ( ); tents are also used to automatically enforce the
void deleted ( ); set/subset relationship between the extents of a su-
} pertype and its subtype. A key consists of one or more
9902.ch55 2/5/02 2:28 PM Page 11
PROOF
Data Modeling Object-Oriented Data Model 55-11
Class Circle : GeometryObject
properties (attributes or relationships) whose values
{
are constrained to be unique for each object in the
attribute ...
extent.
...
};
3. The ODL
The ODL s main use is to create object specifica-
tions that is, classes and interfaces. The user can spec- 4. The OQL
ify a database schema in ODL independently of any
The OQL is the query language proposed for the
programming language. Moreover it is feasible to use
ODMG object model in order to be able to query
the specific language bindings to specify how ODL
OODBs. It is designed to work closely with the pro-
constructs that can be mapped to constructs in spe-
gramming languages for which an ODMG binding is
cific programming languages, such as C , Java,
defined, such as C , SMALLTALK, and Java. It is
SMALLTALK. There may be several possible map-
similar to SQL (the standard query language for rela-
pings from an object schema diagram (or extended
tional databases) and the main difference is the han-
entity relational schema diagram) into ODL classes.
dling of path expressions related to the class frame-
The mapping method follows the following steps:
work used. For example:
(1) the entity types are mapped into ODL classes, and
(2) inheritance is done using extends. Here we have
SELECT d.name
to stress that there is no direct way to support multi-
FROM d in departments
ple inheritance. Below is an example:
WHERE d.college =  Engineering
class Person extent persons
This query results in the set of the names of the de-
{
partments on the Engineering college. The type of
attribute struct Pname
the result is a bag of strings (i.e., duplicates allowed).
...
The query results have to involve in many cases path
};
expressions (i.e., the path from the root parent class
to the class required via inheritance links). The fol-
Class Faculty extends Person ( extent
lowing example illustrates the use of path expressions
faculty )
in OQL queries:
{
attribute string rank;
departments;
....
csdepartment;
};
csdepartment.chair;
The class Faculty extends the class Person which is in
csdepartment.has_faculty;
turn an extension of class person. Therefore the leaf
Csdepartment.has_faculty.rank ( x )
class Faculty contains all the attributes of all the an-
cestor classes (person and Person).
SELECT f.rank
In the following example we have two classes (Rec-
FROM f in csdepartment.has_faculty;
tangle, Circle) emanating from the same class Geom-
Then we can write the following query to retrieve the
etryObject.
grade point average of all senior students majoring in
Interface GeometryObject
computer science, with the result ordered by gpa, and
{
within that by last and first name:
attribute ...
... SELECT struct (last_name:
}; s.name.lname, first_name:
s.name.fname, gpa: s.gpa)
Class Rectangle : GeometryObject
FROM s in csdepartment.
{
has_majors
attribute ...
WHERE s.class =  senior
...
ORDER BY gpa DESC, last_name ASC,
};
first_name ASC;
9902.ch55 2/5/02 2:28 PM Page 12
PROOF
55-12 Data Modeling Object-Oriented Data Model
Another facility provided is the specification of views As regards relationships, object databases (ODB)
as named queries. For instance we can define the fol- exploit object identifiers resulting in OID references
lowing view: while a relational database system (RDB) references to
tuples by values or by externally specified/generated
DEFINE has_minors(deptname) AS
. / ?
foreign keys
SELECT s
Regarding inheritance, the ODB approach exploits
FROM s in students
inheritance constructs such as derived (:) and EX-
WHERE s.minors_in.dname = deptname;
TENDS, and this is a fundamental feature of the ap-
proach, whereas RDBs do not offer any built in sup-
Then a potential query searching for the students
port for inheritance. Of course object relational
that took as minor Computer Science the following
systems and extended RDB systems are adding inher-
query can be formed:
itance constructs.
Has_minors( Computer Science );
An important issue for compatibility and reusabil-
ity of data is the mapping of an extended entity rela-
QOL also provides aggregate functions, and quantifiers.
tionship (EER) schema to an ODB schema. The fol-
The following example query returns the number of
lowing steps have to be followed:
students that took as minor Computer Science:
count (s in has_minors( Computer
Step 1: Create an ODL class for each EER entity type
Science ));
or subclass
avg (SELECT s.gpa Step 2: Add relationship properties or reference
FROM s in students attributes for each binary relationship into the ODL
WHERE s.major_in.dname =  Computer classes that participate in the relationship
Science and s.class =  senior ); Step 3: Include appropriate operations for each class
Step 4: An ODL class that corresponds to a subclass in
The following query illustrates the use of the  forall
the EER schema inherits the type and methods of
predicate. Are all computer science graduate students
its superclass in the ODL schema
advised by computer science faculty?
Step 5: Weak entity types can be mapped in the same
way as regular types
For all g in (
Step 6: Declare a class to represent the category and
SELECT s
define 1:1 relationships between the category and
FROM s in grad_students
each of its superclasses
WHERE s.majors_in.dname =
Step 7: An n-ary relationship with degree n > 2 can be
 Computer Science )
mapped into a separate class, with appropriate
: g.advisor in csdepartment.
references to each participating class.
has_faculty;
The following query illustrates the use of the  exists
Au: OK as
predicate. The query searches for any graduate com-
set for best B. OO Systems: O2, Object Store, etc.
puter science major having a 4.0 gpa
fit / ?
In this section we refer briefly to existing object-oriented
exists g in (
and object-relational database industrial approaches.
SELECT s
FROM s in grad_students
WHERE s. majors_in.dname =
1. Example of ODBMS O2 System
 Computer Science
This system has historical importance as it was the
AND g.gpa = 4) ;
only European DBMS and one of the few OODBMSs.
Its architecture is based on a kernel, called O2En-
gine, and is responsible for much of the ODBMS func-
5. Object Database Conceptual Design
tionality. The implementation of O2Engine at the sys-
An important issue that arises here is the conceptual
tem level is based on a client/server architecture.
design of an object-oriented schema. Can we benefit
At the functional level, three modules (storage
from the traditional design techniques applied in re- component, object manager, schema manager) im-
lational databases? There are important differences plement the functionality of the DBMS.
between conceptual design of object databases and Data definition in O2 is carried out using pro-
relational databases. gramming languages such as C or Java. Data ma-
9902.ch55 2/5/02 2:28 PM Page 13
PROOF
Data Modeling Object-Oriented Data Model 55-13
nipulation in O2 is carried out in several ways. O2 An issue to be tackled can be the question whether
supports OQL as both an ad hoc interactive query ORDBMSs should begin with a relational foundation
language and as an embedded function in a language. with added object-orientation of the reverse. From a
There are two alternative ways for using OQL queries. conceptual level relational DBs have been far more
For example: successful than their OODBMS counterparts. It
should not be any surprise then, that virtually all ma-
Q1:
jor vendors are approaching the object-relational
d_Bag>
arena by extending the functionality of existing rela-
engineering_depts;
tional DB engines. A case in point would be IBM, Or-
departments ->query(engineering_depts,
acle, and Informix, whose efforts to create a  univer-
  this.college =  Engineering    );
sal server began by extending their core relational
engines.
Q2:
Anything that causes such controversy should be
d_Bag
worth the effort, which begs two important questions:
engineering_dept_names;
First, what factors have led to the development of
d_oql_Query q0(  select d.dname from
object-relational DBs? And second, what characterizes
d in departments where
an accurate definition of an object-relational DB? The
d.college =  Engineering  );
general answer to the first question is that developers
d_oql_execute
need a more robust means of dealing with complex
(q0, engineering_dept_names);
data elements without sacrificing the access speed for
Both queries (Q1and Q2) search for the names of the which relational DBs have become known. To answer
departments of the college of Engineering. the second question, there are several characteristics
that, as a minimum, must be included to achieve a
true object-relational structure. Those characteristics
2. Object Relational Systems Complex
are the following:
Types and Object Orientation
Object-relational DBs are the evolution of pure " Retrieval mechanism, that is, a query language
object-oriented and relational DBs. The convergence like SQL but one adapted to the extended
of those two disparate approaches came about as a re- features of the ORDBMS, the retrieval mechanism
alization that there were inherent shortcomings in must include not only relational navigation but
the existing paradigms when considered individually. also object-oriented navigational support
Observers of information technology can still see the " Support for relational features like keys,
debate that rages in the software community over the constraints, indexes, and so on
ultimate character of object-relational DBs or object- " Support for referential integrity as it is currently
relational DBMSs (ORDBMS). supported by the relational paradigm
Industry experts are frequently critical of object- " Support for the object metamodel (classes, types,
relational DBs because they usually demonstrate a methods, encapsulation, etc)
limited or nonexistent ability to perform certain rela- " The ability to support user-defined data types
tional or object-oriented tasks in comparison to their " Support for the SQL3 ANSI standard
pure counterparts. A case in point would be the lim-
ited support for inheritance in object-relational DBs, A well known extension requirement regards spatial
a feature fully supported in the object-oriented para- information. Oracle, Informix, and IBM DB2 offer ca-
digm. Others argue that inheritance is of such limited pabilities for user-defined data types and functions
consequence when employed in the storage of data that are applied to them. All of them propose the
and datacentric objects that its pursuit is a waste of ef- nested storage model, where a complex attribute is
fort. Each point of view is almost always driven by the stored in an attribute (they call it in-line). They claim
particular background of the individual presenting it is more efficient when queries regarding an object
the criticism. Because the object-relational paradigm reposed since self-join is avoided. This is a good ar-
is a compromise of two very different architectures, gument for choosing this approach.
the most effective definition of its ultimate character DB2 Spatial extender provides a comprehensive set
will be devised by those who have an unbiased appre- of spatial predicates, including comparison functions
ciation for relational and object-oriented systems (contains, cross, disjoint, equals, intersects etc.), rela-
alike. tionship functions (common point, embedded point,
9902.ch55 2/5/02 2:28 PM Page 14
PROOF
55-14 Data Modeling Object-Oriented Data Model
line cross, area intersect, interior intersect, etc.), com- " Querying the schema, in terms of class names,
bination functions (difference, symmetric difference, attributes, and behavior features
intersection, overlay, union, etc.), calculation func- " Optimization in several levels such as path
tions (area, boundary, centroid, distance, end point, expression queries, storage, and retrieval issues
length, minimum distance, etc.) and transformation " Access mechanisms, indexing, and hashing
functions (buffer, locatealong, locate between, con- techniques specialized for object-oriented and
vexhull, etc.). object relations databases
The Informix Dynamic Server with Universal Data " Dynamic issues such as schema evolution (class
Option offers type extensibility. So-called DataBlade removal or moving in the inheritance tree and
modules may be used with the system, thus offering related instances management)
new types and associated functions that may be used
in columns of database tables. The Informix Geodetic Last but not least one should take into account the re-
DataBlade Module offers types for time instants and quirements and the tremendous potential of the
intervals as well as spatial types for points, line seg- World Wide Web content viewed as a loosely struc-
ments, strings, rings, polygons, boxes, circles, ellipses, tured database of complex objects. There the appli-
and coordinate pairs. cability of the object-oriented approach both for mod-
Since 1996, the Oracle DBMS has offered a so- eling and storage/retrieval is very promising.
called spatial data option, also termed  spatial car-
tridge, that allows the user to better manage spatial
V. CASE STUDY: OBJECT RELATIONAL
data. Current support encompasses geometric forms
such as points and point clusters, lines and line strings, SOLUTIONS FOR MULTIMEDIA DATABASES
and polygons and complex polygons with holes.
Hereafter we will present the soulutions provided by
different ORDMS for video storage and retrieval.
IV. CONCLUSION RESEARCH
IBM s DB2 system supports video retrieval via  video
ISSUES AND PERSPECTIVES extenders. Video extenders allow for the import of
video clips and querying these clips based on attri-
The presence of rich voluminous and complex data butes such as the format, name/number, or descrip-
sets and related application domains rises require- tion of the video as well as last modification time.
ments for object oriented features in database sup- Oracle (v.8) introduced integrated support for a
port. Significant research has been devoted in this variety of multimedia content (Oracle Integrated Mul-
area of integrating such object-oriented features in timedia Support). This set of services includes text,
database technology. Important effort has been com- image, audio, video, and spatial information as native
mitted to either as pure OODBMS or as extensions of data types, together with a suite of data cartridges that
the relational approach (ORDBMSs). provide functionality to store, manage, search, and ef-
The object-oriented model offers the advantageous ficiently retrieve multimedia content from the server.
features regarding: Oracle 8i has extended this support with significant
innovations, including its ability to support cross-
" Flexibility to handle requirements of new database domain applications that combine searches of a num-
applications ber of kinds of multimedia forms and native support
" Complex objects and operations specification for data in a variety of standard Internet formats, in-
capabilities cluding JPEG, MPEG, GIF, and the like. Oracle has
" OODBs are designed so they can be directly or packaged its complex datatype support features to-
seamlessly integrated with software that is gether with management and access facilities into a
developed using OOPLs product called Oracle 8i interMedia. This product en-
ables Oracle 8i to manage complex data in an inte-
Nevertheless, there are several interesting issues grated fashion with other enterprise data, and per-
for further research in the context of object-oriented mits transparent access to such data through standard
and object relations database systems. Some of them SQL using appropriate operators. It also includes In-
are: ternet support for popular web-authoring tools and
web servers. It offers online Internet-based geocoding
" View definition and management on the services for locator applications, and powerful text
ODB/ORDB schema search features.
9902.ch55 2/5/02 2:28 PM Page 15
PROOF
Data Modeling Object-Oriented Data Model 55-15
Table I Comparative presentation of multimedia retrieval capabilities of commercial object relational systems
QBIC Oracle Informix DB2
Color Percentage, layout (hist) Global, Local color Excalibur (Image Dblade)
Texture Similar Graininess, smoothness Excalibur (Image Dblade)
Shape Excalibur (Image Dblade)
Spatial Show position
relationships
Scene detection MEDIAstra (Video Dblade)
Object detection MEDIAstra (Video Dblade)
MPEG-4 approach
Captions & Manual annotation DbFlix meta-data storage Description (img)
Annotations Time, frame, content based Format, frame rate,
approach. tracks (video)
Format, last update
(audio)
Extend Datablades DB2 Extenders
functionality
Sound Muscle Fish Audio Limited
(content based queries)
Other Feature layout Ideal for Video on Feature vector (Exc) Feature layout
Demand Video reproduction (Media) Voice to text
Informix s multimedia asset management technol-
REFERENCES
ogy offers a range of solutions for media or publish-
ing organizations. In fact, Informix s database tech-
Ehoshafian, S., (1990) Insight into object-oriented databases.
nology is already running at the core of innovative
Information and Software Technology, 32(4).
multimedia solutions in use. Informix Dynamic Server Informix DataBlade Technology (1999). Transforming Data
into Smart Data.
with Universal Data Option enables effective, efficient
Oracle 8 SQL Type Data Definition Language. (1997). An Or-
management of all types of multimedia content in-
acle Technical White Paper.
cluding images, sound, video, electronic documents,
Davis, J. R. (1998). IBM s DB2 Spatial Extender: Managing Geo-
web pages, and more. The Universal Data Option en-
Spatial Information Within the DBMS. Technical report.
ables query, access, search, and archive digital assets
IBM Corporation.
based on the content itself. Informix s database tech-
Au: year / ?
Date, C. J., and Darwen, J. (1996 ). Foundation for object/relational
nology provides: cataloging, retrieval, and reuse of databases, the third manifesto. Reading, MA:Addison-Wesley.
Piatini, M., and Diaz, O., eds. (2000). Advanced database tech-
rich and complex media types like video, audio, im-
nology and design. Norwood, MA: Artech House.
ages, time series, text, and more enabling viewer ac-
Tsichritzis, D., and Lochovsky, F. (1982). Data models. New York:
cess to audio, video, and print news sources; high-
Prentice Hall.
performance connectivity between your database and
Atkinson, M., Banceilhon, F., DeWitt, D., Dittrich, K., Maier, D.,
Web servers providing on-line users with access to up-
and Zdonik, S. (1989). The object-oriented database system
to-the-minute information; tight integration between
manifesto. In Proceedings of the first international confer-
your database and web development environments ence on deductive and object-oriented databases, pp.
223 40. Kyoto, Japan.
for rapid application development and deployment;
Dahl, O. J., and Nygaard, K. (1966). SIMULA An ALGOL-
and extensibility for adding features like custom news
based simulation language. Communications of the ACM,
and information profiles for viewers (Table I).
9(9):671 678.
Goldberg, A., and Robson, D. (1982). Smalltalk 80: The language
and its implementation. Reading, MA: Addison-Wesley.
Au: position OK?
http://www.software.ibm.com/data/dbs/extenders.
SEE ALSO THE FOLLOWING ARTICLES
msp. unclear
pls. supply
Retrieval
Visual Info
9902.ch55 2/5/02 2:28 PM Page 16
PROOF
55-16 Data Modeling Object-Oriented Data Model
sp / ?
Banchillon, F., Briggs, T., Khoshafian, S., Valduriez, P. (1987).
SUGGESTED READING
FAD-a Simple and Powerful Database Language, Proceedings
of VLDB 1987.
Codd, E. F. (1970). A Relational Model for Large Shared Data
Manola, F. (1989). An Evaluation of Object-Oriented DBMS Devel-
Banks, Communications of the ACM, 13, 377 387.
opments, GTE Laboratories Incorporated, TR-0066-10-
Date, C. J., and Darwen, H., Foundation for object/relational data-
89-165.
base, the throd manifesto, Reading, MA: Addison, Wesley.
, / ?
Wilkinson, K., Lyngbaek, P., Hasan, W. (1990). The Iris Archi- sp / ?
Dittrich, K. (1986).  Object-Oriented Database Systems: The
tecture and Implementation, IEEE Transactions on Knowledge
style / ?
Notion and the Issues. Proceedings of the International Work-
and Data Engineering, 2(1), March 1990.
see others
shop on Object-Oriented Database Systems, September, Pacific
Lynbaek, P., and Kent, W. (1986). A Data Modeling Methodol-
Grove, CA.
ogy for the Design and Implementation of Information
Dittrich, K., and Dayal, U. (eds.). (1986). Proceedings of the In-
Systems, Proceedings of the International Workshop on Object-
ternational Workshop on Object-Oriented Database Systems, Sep-
Oriented Database Systems, September, Pacific Grove, CA.
tember, Pacific Grove, CA.
Hewlett-Packard Company HP-SQL Reference Manual, Part
Atkinson, M., Banchillon, F., DeWitt, D., Dittrich, K., Maier, D.,
Number 36217-9001.
and Zdonik, S. (1992). The Object-Oriented Database System
Both OK
Cap / ? Ï. Deux et al. (1990). The story of O2, IEEE Transactions on
Manifesto. In Building an Object-Oriented Database System: The
per msp. Knowledge and Data Engineering, 2(1), March 1990.
Story of O2, Banchilhon et al. (eds), San Francisco: Morgan
Ç. Chou et al. (1985). Design and implementation of the Wis-
/ ?
Kaufmann. Also in Proc. Int. Conf. Deductive Object-Oriented
consin storage system, Software-Practice and Experience, 15(10),
Databases, Kyoto, Japan, Dec. 1989.
Oct. 1985.
hyphen / ? Copeland, G., and Khoshafian, S. (1986). Identity and Versions for
Maier, D., Stein, J. (1986). Indexing in an Object-Oriented
Complex Objects, Proceedings of the International Workshop on
DBMS, Proceedings of the International Workshop on Object-
Object-Oriented Database Systems, Spetember, Pacific Grove, CA.
Oriented Database Systems, September, Pacific Grove, CA.
Khoshafian, S. (1993). Object Oriented Databases. New York: John
Ìaier, D. (1986). Why Object-Oriented Databases Can Succeed
Wiley.
Where Others Have Failed, Proceedings of the International
Stonebraker, M., Rowe, L., Lindsay, B., Gray, J., and Carey, M.
Workshop on Object-Oriented Database Systems, September, Pa-
(1990). Third-Generation Data Base System Manifesto.
cific Grove, CA.
Memorandum No. UCB/ELR. M90/23, April. The Com-
Maiers, R. (1990). Making Database Systems Fast Enough for
mittee for Advanced DBMS Function, University of Califor-
CAD, In Object-Oriented Concepts, Databases and Applications,
nia, Berkeley, CA.
(Kim, W., and Lochovsky, F., eds.). Reading, MA: Addison-
Kim, W. (1991). Introduction to Object-Oriented Database. Cam-
Wesley Publishing.
bridge. MA: The MIT Press.


Wyszukiwarka

Podobne podstrony:
The Object Oriented Modeling Process Process Patterns For An Architecture Driven Approach
data model?2985A5
data model?FB2539
Encyclopedia of Women in the Ancient World
Alchemy Encyclopedia of Occultism
Encyclopedia of Women in the Ancient World (2)
relational?tabases and object orientation67069E
Encyclopedia of the American Armed Forces
Legal Highs Encyclopedia of legal psychoactive herbs
Encyclopedia of Legal Psychoactive Herbs
Encyclopedia of Ancient Egypt
Gale Group Encyclopedia of World Religions Almanac Edition Vol 6
Encyclopedia of Trading Strategies
Encyclopedia of Trading Strategies
Stanford Encyclopedia of Philosophy info
Bertalanffy The History and Status of General Systems Theory

więcej podobnych podstron