Objektorientierte Datenbank

Objektorientierte Datenbank

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:

  • Datenbank — Verzeichnis; Liste; Aufstellung; Tabelle; Register; Aufzählung; Gliederung; Auflistung; Datensammlung; elektronischer Karteikasten (umgangssprachlich) * * * …   Universal-Lexikon

  • Datenbank (Liste) — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • objektorientierte Datenbanken — Datenbankkonzept, das auf dem Prinzip der ⇡ Objektorientierung aufbaut. Im Gegensatz zu anderen ⇡ Datenbank Konzepten wird ein Objektmodell definiert, in dem die Strukturmerkmale wie auch das jeweilige Objektverhalten festgelegt werden …   Lexikon der Economics

  • Datenbank — Archiv von Daten im Computersystem mit leistungsfähigem Programm für Datenpflege, Such und Auswerteverfahren. Man verwendet heute hauptsächlich relationale oder objektorientierte Datenbanken …   Erläuterung wichtiger Begriffe des Bauwesens

  • Relationale Datenbank — Eine relationale Datenbank dient zur elektronischen Datenverwaltung in Computersystemen und beruht auf dem relationalen Datenbankmodell. Dieses wurde 1970 von Edgar F. Codd erstmals vorgeschlagen und ist bis heute trotz einiger Kritikpunkte ein… …   Deutsch Wikipedia

  • Vererbung (objektorientierte Programmierung) — Vererbung dargestellt mittels UML. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der… …   Deutsch Wikipedia

  • Aggregation (objektorientierte Programmierung) — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Eine Aggregation in der Informatik ist entweder eine Verbindung… …   Deutsch Wikipedia

  • Caché (Datenbank) — Caché ist eine proprietäre, im Kern hierarchische Datenbank von InterSystems. InterSystems bezeichnet das Konzept als „postrelational“. Mit der so genannten Unified Data Architecture bietet das Datenbanksystem auf die hierarchische Datenstruktur… …   Deutsch Wikipedia

  • Objektrelationale Datenbank — Eine Objektrelationale Datenbank (kurz ORDB), auch objektrelationales Datenbankmanagementsystem (kurz ORDBMS) genannt, stellt das Bindeglied zwischen klassischen relationalen Datenbanken und Objektdatenbanken dar. Sie kommen überall dort zum… …   Deutsch Wikipedia

  • Object-relational impedance mismatch — Als Object relational Impedance Mismatch – oft auch nur Impedance Mismatch – (englisch etwa für objekt relationale Unverträglichkeit) bezeichnet man ein Problem der Informatik in der Anwendungsentwicklung, das auftritt, wenn Objekte aus einer… …   Deutsch Wikipedia

Share the article and excerpts

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