The K Zone, Home

About Me

K View

Projects

Papers

Gallery

Email

 

 

 
 

Object Oriented Databases (OODB) - Page 2

 

Back to Contents Page

 
 

 

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.

Specialisation of objecta and class hierarchy

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