Objektorientiertes Datenbankmodell

Objektorientiertes Datenbankmodell

Eine Objektdatenbank oder Objektorientierte Datenbank ist eine Datenbank, die auf dem Objektdatenbankmodell basiert. Im Unterschied zur relationalen Datenbank werden Daten hier als Objekte im Sinn der Objektorientierung verwaltet. Das zugehörige Datenbankmanagementsystem wird als das Objektorientierte Datenbankmanagementsystem bezeichnet. Objektdatenbank und Objektdatenbankmanagementsystem bilden gemeinsam das Objektdatenbanksystem.

Ein Objekt modelliert normalerweise einen Gegenstand oder Begriff der realen Welt und enthält insbesondere dazu gehörige Attribute; so gehört zum Beispiel die Farbe und das Gewicht eines Autos zu dem Objekt Auto. Attribute beschreiben ein Objekt näher. Daten und Methoden (die Funktionen zum Zugriff auf die Daten) werden in den Objekten zusammen abgelegt.

Inhaltsverzeichnis

Objektdatenbankmanagementsystem

Das Datenbankmanagementsystem (DBMS) ist die Software, die zur Verwaltung einer Datenbank benötigt wird. Im Falle einer Objektdatenbank wird diese als das Objektdatenbankmanagementsystem (ODBMS) bezeichnet. Das ODBMS ist für die Speicherung und den zuverlässigen Zugriff auf die Daten zuständig. Neben den klassischen Eigenschaften eines DBMS hat es folgende zusätzliche Anforderungen zu erfüllen, um als vollwertige ODBMS verwendbar zu sein:

  • Verwaltung komplexer Objekte. Ein Objekt setzt sich aus beliebigen anderen Datentypen zusammen.
  • Sicherstellung der Objektidentität. Jedes Objekt bekommt eine systemweit eindeutig Identifikation OID.
  • Kapselung der Objekte nach dem Konzept der objektorientierten Programmierung. Der Zugriff auf das Objekt findet über Methoden statt.
  • Objekte sind einer Objektklasse zugeordnet.
  • Objektklassen sind in einer Klassenhierarchie angeordnet.
  • Durch späte Bindung werden bei vererbten Objekten die überladenen Methoden verwendet.
  • Das ODBMS muss eine Turing-vollständige Manipulationssprache (DML) bereitstellen.

Neben diesen Eigenschaften gibt es eine Reihe optionaler Anforderungen, die hier nicht im einzelnen dargestellt sind. Sie wurden auf der Konferenz DOOD'98 festgelegt.

Als Abfragesprache wurde von der ODMG die Sprache Object Query Language (OQL) standardisiert. Als Datenmanipulationssprache wird Object Definition Language (ODL) verwendet.

Vorteile

Objektdatenbanksysteme schließen eine Lücke, die bei der Programmierung moderner Datenbankanwendungen entsteht, wenn die Anwendung in einer objektorientierten Programmiersprache entwickelt wurde, die Datenbank jedoch ein klassisches relationales Datenbanksystem ist. Beide Konzepte widersprechen sich in einigen wichtigen Punkten. Dieses Problem wird allgemein als der "Object-relational impedance mismatch" bezeichnet. Als Lösung für das Problem werden sogenannte Objektrelationale Abbildungen verwendet. Dies sind Softwarekomponenten, die zwischen einer relationalen Datenbank und einer objektorientierten Software vermittelt. Durch die Verwendung eines Objektdatenbanksystems wird diese Vermittlung überflüssig. Die Anwendung kann direkt mit der Datenbank kommunizieren.

Das Zusammensetzen komplexer Datenobjekte mittels Joins über mehrere Datenbanktabellen entfällt. Objekte können einfach über die in der Datenbank gespeicherten Beziehungen abgefragt werden.

Weiterhin hilft ein ODBMS beim Zugriff auf Daten. Da Objekte eine komplexe Struktur haben können, sind semantische Zusammenhänge zwischen Objekten dem Datenbanksystem bekannt. Das Datenbanksystem hat also ein Verständnis davon, welche Daten zusammengehören. Dieses Wissen kann bei der Abfrage der Daten mittels einer Abfragesprache wie OQL verwendet werden. Im Gegensatz zu relationalen Datenbanksystemen ist das Ergebnis einer Anfrage nicht eine Menge von Datensätzen. OQL erlaubt die Abfrage einzelner Objekte.

Außerdem wird das Problem der Objektidentität gelöst. Während bei relationalen Datenbanken der Datenbankentwickler oft einen künstlich erzeugten Schlüssel (Surrogate Key) zu seinen Daten hinzufügen muss, wird dies von einem ODBMS automatisch in Form eines OIDs gemacht. Die Verwaltung dieser IDs wird dabei vollständig vom System übernommen.

Nachteile

Objektdatenbanken haben bis heute nur eine geringe Verbreitung. Entsprechend sind viele Schnittstellen und Tools wie JDBC/ODBC, ETL oder OLAP für den Einsatz mit einer ODBMS nicht vorbereitet.

Bei bestimmten Anfragen sind Objektdatenbanken noch immer im Nachteil gegenüber Relationalen Datenbanken. Dies ist beispielsweise durch Zugriffspfade zu Objekten über mehrere Pfadarten (bspw. Vererbung und Assoziation) verursacht. Dies führt bei Schreiboperationen in der Sperrverwaltung zu einer exponentiellen Komplexität und somit zu Performanceproblemen. Die Leistungsprobleme wurden in den objektrelationalen Datenbanken aufgegriffen, in denen nur die Konstrukte aus objektorientierten Datenbanken mit niedrigerer Komplexität (bspw. n * log(n)) übernommen wurden.

Geschichtliches

Objektdatenbanken wurden Ende der 80er Jahre entwickelt. Somit gehören sie zu den vergleichsweise neuen Datenbankkonzepten. Bis heute spielen sie auf dem Datenbankmarkt, der von den relationalen Datenbanksystemen dominiert wird, eine eher geringe Rolle. Dennoch sind seit 2004 mehrere Objektdatenbanksysteme entwickelt worden, die zum Teil als Open Source verfügbar sind.

Siehe auch

Literatur

  • Heuer, Andreas: Objektorientierte Datenbanken - Konzepte, Modelle, Standards und Systeme. 2., aktualisierte Auflage - Bonn: Addison-Wesley-Longman 1997: ISBN 3-89319-800-8
  • Saake, Gunter; Türker, Can; Schmitt, Ingo: Objektdatenbanken. Redline GmbH (1997), ISBN 978-3826602580
  • Unland, Rainer: Objektorientierte Datenbanken. Konzepte und Modelle. Thomson Publishing, Bonn 1995, ISBN 3-929821-82-6

Weblinks

deutsch

englisch

  • ODBMS.ORG Resource Portal for Education and Research on Object Databases
  • ODMG Standardisierungsgremium der OMG für Objektdatenbanken
  • ICOODB.org Konferenz für Objektdatenbanken

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Datenbankmodell — Fünf Beispiele für Datenbankmodelle Ein Datenbankmodell ist die theoretische Grundlage für eine Datenbank und bestimmt, auf welche Art und Weise Daten in einem Datenbanksystem gespeichert und bearbeitet werden können. Es legt damit die… …   Deutsch Wikipedia

  • Netzwerk-Datenbankmodell — Das Netzwerkdatenbankmodell wurde von der Data Base Task Group (DBTG) des Programming Language Committee (später COBOL Committee) der Conference on Data Systems Language (CODASYL) vorgeschlagen, der Organisation die auch für die Definition der… …   Deutsch Wikipedia

  • Logisches Datenbankmodell — Ein Datenmodell oder auch Datenbankmodell ist die theoretische Grundlage für ein Datenbanksystem und bestimmt, auf welche Art und Weise Daten in einem Datenbanksystem gespeichert und bearbeitet werden können. Es legt damit die Infrastruktur fest …   Deutsch Wikipedia

  • Hierarchische Datenbank — Datei:Hierarchisches Datenbankmodell.png Hierarchisches Datenbankmodell Ein Hierarchisches Datenbankmodell ist das älteste Datenbankmodell, es bildet die reale Welt durch eine hierarchische Baumstruktur ab. Jeder Satz (Record) hat also genau… …   Deutsch Wikipedia

  • Hierarchisches Datenbanksystem — Datei:Hierarchisches Datenbankmodell.png Hierarchisches Datenbankmodell Ein Hierarchisches Datenbankmodell ist das älteste Datenbankmodell, es bildet die reale Welt durch eine hierarchische Baumstruktur ab. Jeder Satz (Record) hat also genau… …   Deutsch Wikipedia

  • Netzwerk-Datenbank — Das Netzwerkdatenbankmodell wurde von der Data Base Task Group (DBTG) des Programming Language Committee (später COBOL Committee) der Conference on Data Systems Language (CODASYL) vorgeschlagen, der Organisation die auch für die Definition der… …   Deutsch Wikipedia

  • Netzwerk-Datenbanksystem — Das Netzwerkdatenbankmodell wurde von der Data Base Task Group (DBTG) des Programming Language Committee (später COBOL Committee) der Conference on Data Systems Language (CODASYL) vorgeschlagen, der Organisation die auch für die Definition der… …   Deutsch Wikipedia

  • Netzwerkdatenbank — Das Netzwerkdatenbankmodell wurde von der Data Base Task Group (DBTG) des Programming Language Committee (später COBOL Committee) der Conference on Data Systems Language (CODASYL) vorgeschlagen, der Organisation die auch für die Definition der… …   Deutsch Wikipedia

  • Netzwerkdatenbanksystem — Das Netzwerkdatenbankmodell wurde von der Data Base Task Group (DBTG) des Programming Language Committee (später COBOL Committee) der Conference on Data Systems Language (CODASYL) vorgeschlagen, der Organisation die auch für die Definition der… …   Deutsch Wikipedia

  • Datenbankmodelle — Ein Datenmodell oder auch Datenbankmodell ist die theoretische Grundlage für ein Datenbanksystem und bestimmt, auf welche Art und Weise Daten in einem Datenbanksystem gespeichert und bearbeitet werden können. Es legt damit die Infrastruktur fest …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”