Objektdatenbank - LinkFang.de





Objektdatenbank


Eine Objektdatenbank oder objektorientierte Datenbank ist eine Datenbank, die auf dem Objektdatenbankmodell basiert. Im Unterschied zur relationalen Datenbank werden Daten hier als Objekte im Sinne 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 und enthält insbesondere dazugehö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.

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 vollwertiges 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 eindeutige 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 vermitteln. 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 einem 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. [math]n \cdot \log(n)[/math]) übernommen wurden.

Geschichte

Objektdatenbanken wurden Ende der 1980er 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 wie zum Beispiel db4o 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
  • Gunter Saake, Ingo Schmitt, Can Türker: Objektdatenbanken – Konzepte, Sprachen, Architekturen. 1. Auflage. International Thomson Publishing, Bonn 1997, ISBN 3-8266-0258-7.
  • Unland, Rainer: Objektorientierte Datenbanken. Konzepte und Modelle. Thomson Publishing, Bonn 1995, ISBN 3-929821-82-6

Weblinks


Kategorien: Datenbanken

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Objektdatenbank (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.