Objektrelationale Datenbank

Eine objektrelationale Datenbank integriert die Konzepte einer klassischen relationalen Datenbank mit Prinzipien, deren Herkunft der objektorientierten Betrachtungsweise von Software-Systemen entnommen wurde. Das Ziel dieser Synthese ist es, die ausgereifte Technologie der relationalen Datenbanken auf die Organisation beliebiger Daten auszuweiten. Objektrelationale Datenbanken unterstützen hierbei Datenobjekte und Operationen höherer Komplexität. Beispiele für komplexe Objekte sind Text- und Bilddaten, geographische Karten, Daten im Audio-Bereich oder Datenbanken im Zusammenhang mit Suchmaschinen. Objektrelationale Datenbankmodelle können diesbezüglich wesentlich schneller und effizienter arbeiten, da deren Verknüpfungen in Objektform erfolgen. Die Zugriffe auf die objektrelationale Datenbank werden durch Transaktionen gesteuert.


Objektrelationale Datenbanksysteme wurden mit dem Hintergrund der gestiegenen Ansprüche an die Organisation von großen Datenmengen realisiert - dies ist gleichfalls der Nachteil des klassischen relationalen Datenbankmodells. Ein Nachteil im speziellen ist das eingeschränkte Typsystem von relationalen Datenbanken im Hinblick auf umfangreiche Texte, Excel-Tabellen, XML-Dokumente, oder Mediadaten, die entweder gar nicht oder nur mit erhöhtem Aufwand in einer relationalen Datenbank abgespeichert werden können. Weitere Schwierigkeiten ergeben sich auch bei der Abbildung von Objekten der realen Welt auf das relationale Modell, dies wird auch " impedance mismatch" bezeichnet.

Die Organisation großer Datenmengen

Das objektrelationale Datenbankmodell integriert das an einfach strukturierten Datensätzen orientierte Modell der Relationen mit den komplexeren Strukturen eines Objektmodells. Relationen sind quasi eine Sammlung von Tabellen, in denen Daten angeordnet werden können. Im objektrelationalen Modell werden die Daten als Relationen von komplexen Objekten gespeichert. Wiederum können über Referenzen Objekte verkettet werden und auch Relationen in Untermengenbeziehungen zueinander stehen. Dadurch wird ausgedrückt, dass eine Relation die Subrelation einer anderen sein kann. Dahingehend werden bei einer objektrelationalen Datenbank entsprechende Operationen benötigt, die auch Hierarchien von Relationen bearbeiten können; beispielsweise um typspezifisch Methoden der komplexen Objekte aufzurufen. Damit wird deutlich, dass mit der erhöhten strukturellen Komplexität der Daten auch der Anspruch an eine höhere funktionale Komplexität der objektrelationalen Datenbank verbunden ist.

Objektrelationales Datenmodell für die Datenbankstruktur

Für die Abbildung von komplexen Sachverhalten muss daher ein objektrelationales Datenmodell entsprechende Konzepte und Regeln zur Beschreibung der Struktur der Datenbank zur Verfügung stellen. Die Grundlage dafür sind die elementaren Datentypen der relationalen Datenbank, auf denen aufsetzend konstruierte Datentypen für komplexe Daten durch sogenannte Typkonstruktoren definiert werden. Dabei werden Typkonstruktoren u.a. für Tupel, Menge, Listen, Multi-mengen verwendet. Ein zentrales Konzept objektrelationaler Datenmodelle sind strukturierte Typen. Dieser ist vergleichbar mit einem Objekttyp, der die Eigenschaften (oder Attribute) und die Methoden (oder das Verhalten) von gleichartigen Objekten in der Datenbank definiert. Die strukturierten Typen erfüllen die Anforderungen der Objektorientierung beispielsweise hinsichtlich der Strukturierung der Daten, der Vererbung von Attributen und Methoden oder des Prinzips der Kapselung. Die Unterscheidung zwischen identischen und gleichen Datenbankobjekten sowie die eindeutige, unveränderliche Objektreferenz (OID) wird durch die Trennung von Objekt-Identität und Objekt-Wert garantiert. Das objektorientierte Konzept der Klasse wird in objektrelationalen Datenbanken mit sogenannten typisierten Tabellen abgebildet, die wiederum auf strukturierten Typen basieren und der Speicherung der Daten dienen. Durch einen benutzerdefinierten strukturierten Typ wird der Zeilentyp dieser Tabelle festgelegt. Benutzerdefinierte Datentypen erweitern das Datenmodell in objektrelationalen Datenbanken um anwendungsspezifische Datentypen.

Objektrelationale Datenbanken wurden mit dem Ziel entwickelt, die Vorteile von objektorientierten Datenbanken hinsichtlich der Speicherung komplexer Objekte zu nutzen, jedoch gleichfalls weiterhin die Möglichkeiten der eingeführten Abfragesprache SQL einsetzen zu können. Dafür wurde das vorhandene relationale Modell von verschiedenen Herstellern um entsprechende objektorientierte Konzepte so ergänzt, dass vorhandene Entwicklungen genutzt werden konnten. So wird das ursprüngliche Datenbanksystem mit zusätzlichen Erweiterungen bereit gestellt, die beispielsweise von Informix als DataBlades oder von Oracle als Cartridges bezeichnet werden. Weitere aktuelle Systeme sind IBM DB2, Intersystems Cache oder PostgreSQL.

Informationen zum Artikel
Deutsch: Objektrelationale Datenbank
Englisch: object relational database - ORD
Veröffentlicht: 28.10.2013
Wörter: 611
Tags: #Datenbanken
Links: Attribut, Aufwand, Cache, cartridge, Daten