ITWissen.info - Tech know how online

object oriented database (OODB)

Object-oriented databases are often referred to as object databases. The object-oriented databases have been designed analogously to the paradigm of the object-oriented programming languages. The aim of the development was to create a database system in which objects of the environment with their behavior and properties can be emulated and stored and managed in a database.

The development of object-oriented databases began as early as the mid-1980s. Examples are the database ORION (from Microelectronics and Computer Technology Corporation, Texas) and from Hewlett Packard the database IRIS. For the creation of a standardized basis, a consortium was later formed for suppliers and users - the Object Database Management Group( ODMG).

Standardization of the OODB

The standardization proposal of the ODMG strives for a uniform model for object-oriented databases and includes an object model, an object definition language, the Object Definition Language( ODL), an object query language, Object Query Language( OQL) as well as language bindings to C++ and Smalltalk.

The object model defines the object as the central building block, which is equipped with an object identity. Each object of the database contains information(attributes), references (relations) to other objects and operations(methods) that reflect the behavior of the objects. Methods are described by their signature, which consists of the name of the method, the names and types of the input parameters and the return value. This summary of data and methods over this data is also called encapsulation. The definition of the objects (data, references, methods) takes place over so-called classes. By the free description of object classes even most complex data structures can be administered in a data base, which is possible in the flat tables of relational data base systems only over several tables standing in relation.

Database schemas of the OODB

The description of the types of the database schema is task of the Object Definition Language (ODL). Interfaces and classes are defined for these types. In addition to data encapsulation and methods, other object-oriented concepts are implemented in object-oriented databases, such as inheritance, method overloading, and dynamic bindings. In addition in object-oriented data bases possibilities for the developments of more complex applications are available than in classical data base models. Exemplary here in particular the use of complex data types (arrays, class types, tuples, sets) or the overwriting of a method implementation by another implementation. Many object-oriented database systems offer however also a set of generic operations - these are predefined operations, which are not assigned to an individual class or an object explicitly. Generic operations are then distinguished between relational, object-preserving and object-generating operations.

Similar to the Structured Query Language( SQL) and extended by additional features for complex objects, operations, inheritance and relationships, the syntax of the Object Query Language (OQL) is defined. The basic structure of a query is like SQL:

SELECT ... FROM ... WHERE;

In addition, other query blocks can be used besides this SFW block.

A comparison of object-oriented and relational databases shows that the search in relational databases is much more complex and takes longer. On the other hand the possibilities of the search within an object-oriented structure are clearly simpler to arrange.

On the other hand, there is the aspect of "immutability" when using object-oriented databases, which is a factor not to be neglected in connection with the management of documents. Even with relational databases, documents are of course not changed, only the context in which they are stored. In some cases, this leads to confusing search results.

Conceptual differences

There are many other differences between the concepts of these two databases. In addition, software today is usually developed using object-oriented programming languages. Storing these object-oriented objects in relational databases or connecting them to them is much more complex than when both systems follow a modeling approach.

Simple stringent information with few cross references supports the relational concept of data storage. In the case of complex links between documents, images, persons, companies, etc., their information can be mapped much better within the more powerful object-oriented structures.

The available object-oriented database systems offer a wide range of concepts that enable realistic modeling of many applications. Integration, for example, in Java or C++ applications, maximum availability, excellent performance and a high number of parallel accesses are supported. In addition, integrations with common development environments such as Eclipse and database standards such as Java Database Connectivity( JDBC), Open Database Connectivity( ODBC) as well as the framework Java Data Objects( JDO) are often linked with object-oriented database systems.

Example of object-oriented databases are:

  • db40, an object-oriented database system for .Net and Java.
  • Objectivity/ DB, an object-oriented database from Objectivity.
  • ObjectStore - object-oriented database from Progress.
  • JDataStore, a Java database from Borland.
  • O2, an object-oriented database from O2 Technology.
  • SmallSQL, a database system written entirely in Java.
  • Zope Object Database.

Informations:
Englisch: object oriented database - OODB
Updated at: 28.10.2013
#Words: 794
Links: object (O), database (DB), system, international railway industry standard (IRIS), object database management group (ODMG)
Translations: DE
Sharing:    

All rights reserved DATACOM Buchverlag GmbH © 2024