Databases Reference
In-Depth Information
who have an unbiased appreciation for relational and object-oriented systems
alike.
It is not an unreasonable question to ask whether ORDBMSs should
begin with a relational foundation with added object-orientation or the
reverse. From a conceptual level, it might seem that the hybridization from
either starting point would yield the same outcome, but it does not. From
the commercial perspective, relational DBs have seen far more success and
acceptance than their object-oriented DBMS (OODBMS) counterparts.
It should not be any surprise then, that virtually all major vendors are
approaching the object-relational arena by extending the functionality of
existing relational DB engines. A case in point would be IBM, Oracle, and
Informix, whose efforts to create a universal server began by extending
their core relational engines.
Anything that causes such controversy should be worth the effort,
which begs two important questions: First, what factors have led to the devel-
opment of object-relational DBs? And second, what characterizes an accurate
definition of an object-relational DB? The general answer to the first ques-
tion is that developers need a more robust means of dealing with complex
data elements without sacrificing the access speed for which relational DBs
have become known. To answer the second question, there are several char-
acteristics that, as a minimum, must be included to achieve a true object-
relational structure. Those characteristics are the following:
Retrieval mechanism, that is, a query language like SQL but one
adapted to the extended features of the ORDBMS. The retrieval
mechanism must include not only relational navigation but also
object-oriented navigational support. For example, links from an
attribute to a collection type (discussed in greater detail later) must
incorporate a pointer-type scheme or mechanism.
·
Support for referential integrity as it is currently practiced in the
relational paradigm.
·
Support for relational features like keys, constraints, indexes, and so
on.
·
Support for the object metamodel (classes, types, methods, encapsu-
lation, etc.).
·
The ability to support user-defined data types.
·
Support for the SQL3 ANSI standard.
·
Search WWH ::




Custom Search