- Tech know how online

object oriented database (OODB)

Object-oriented databases are often referred to as object databases. Object-oriented databases are designed analogous to the paradigm of object-oriented programming languages. The goal 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. To create a standardized basis, a consortium was later formed for providers and users - the Object Database Management Group


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 in the database contains information (attributes), references (relationships) 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 objects (data, references, methods) are defined using so-called classes

. The free description of object classes allows even the most complex data structures to be managed in a database, which is only possible in the flat tables of relational database systems using several related tables

Database Schemas of the OODB

The description of the types of the database schema is the task of the Object Definition Language (ODL). Interfaces and classes are specified 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, object-oriented databases provide possibilities for the development of more complex applications than in classical database models. Examples include the use of complex data types (arrays, class types, tuples, sets) or overwriting a method implementation with another implementation

. However, many object-oriented database systems also offer a number of generic operations - these are predefined operations that are not explicitly assigned to a single class or object. Generic operations are then distinguished between relational, object-preserving, and object-generating operations. Similar to the Structured Query Language (SQL) and extended with 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 the same as for SQL: SELECT ... FROM ... WHERE;

In addition, one can use other query blocks besides this SFW block.

A comparison of the object-oriented with

therelational database

shows that the search in relational databases is significantly more complex associated with longer search times. On the other hand, the possibilities of searching within an object-oriented structure are much easier to design. On theother 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. Insome 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 linking 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 variety 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 frameworkJava Data Objects

(JDO) are often linked with object-oriented database systems. Examples of object-oriented databases are:

  • db40, an object-oriented database system for .Net and Java.
  • Objectivity/DB, an object-oriented database from Objectivity.
  • ObjectStore, an 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.

Informationen zum Artikel
Englisch: object oriented database - OODB
Updated at: 28.10.2013
#Words: 1205
Translations: DE