Architecture
Object Oriented Data Model
OODB's represent the real world as a series of objects.
An object may represent any real world element ranging from a
single digit to a car wheel. Objects all possess common characteristics:
Persistence: The state of the object is retained
after the program has terminated.
Unique Identifier: When the object is created a unique
identifier is generated and associated with the object for the
duration of its lifecycle. The identifier is separate from the
objects state thus distinguishing two objects with the same state.
Data Properties: Set of data properties which record the
current state of the object. Supported data types include primitives
(integer, characters). New data types, including complex data
types (i.e. images), can be defined using the Abstract Data Type
mechanism.
Operators: A set of functions that manipulate
the state of the object.
Encapsulation: The containment of data and
operators within the object. The operators form an interface through
which calling functions can manipulate the object. In effect the
object is viewed as a black box.
Relationships
Like any data model, an important property is how it represents
relationships among the different components of data. The OODB
has two types: inter-class (through the use of pointers - see
Data Definition) or class hierarchy [Manion 01].
Class and Class Hierarchy
Objects with the same properties and operators are classified
to form distinct object classes. Thus every object is an instance
of an object class. Each instance of an object class takes on
a unique identity and the same set of data properties and operators.
In constructing an OODB multiple object classes
will be created and class hierarchies and specialisation can be
applied to facilitate their management.
The use of specialisation identifies the properties and operators
common to objects. These properties and operators are removed
and placed in one superclass object. The objects are then restructured
hierarchically, with the superclass object at the top and the
specialised objects as sub-classes of the common object.
Through inheritance, the specialised classes can exhibit their
properties and operators plus those of the superclass (figure
1). This reduces code repetition and improves maintenance.

An object class with just one superclass is known
as a single inheritance. Specialisation can be applied throughout
the levels of a hierarchy and object classes can have more that
one superclass, this is referred to as multiple inheritance.
Next Page