Databases Reference
In-Depth Information
an object database standard. The objective of the ODMG is to unify the core
object model of the different OODBMS. Currently, the voting members of
the group are Ardent Software Inc., Ericsson, Object Design Inc., Objec-
tivity Inc., POET Software, Sun Microsystems, and Versant Corporation.
Other database vendors, such as GemStone Systems Inc., participate as
reviewers or chairs.
The first release of the standard, ODMG-93, came out in 1993 and
was revised in Release 1.1 [12]. Release 2.0 of the standard [3], which is the
last one at the time of this writing, defines an object model on the basis of
the core object model proposed by the Object Management Group (OMG).
An object definition language (ODL) supports this model. ODL is not a
full programming language but rather an independent definition language
for object specifications. The syntax of ODL extends the interface definition
language (IDL) developed by the OMG as a part of CORBA. The ODMG
standard also provides an object query language (OQL) and the C
++
, Small-
talk, and Java ODL bindings.
The rest of this section summarizes the main constructs that the
ODMG
data
model
specifies
and
that
should
be
supported
by
an
OODBMS.
7.4.1
Objects and Literals
The basic primitives are the object and the literal. Whereas objects have a
unique identifier (OID), which should be immutable, literals have no identi-
fier. Types can categorize both objects and literals.
Objects can be persistent or transient. Persistent objects, also called
database objects, continue existing once the procedure or the process that
creates them has finished. They are allocated memory and storage managed
by the OODBMS run-time system. Transient objects exist only inside the
procedure or the process that creates them. They are allocated memory
by the programming language run-time system. The lifetime of an object is
independent of the type. Some instances of the types can be persistent, while
others can be transient.
7.4.2
Types: Classes and Interfaces
A type defines the common properties (attributes and relationships) and the
behavior (operations) of a set of elements. The values of an objects proper-
ties can change at any time.
Search WWH ::




Custom Search