Objektdatenbank
Eine objektorientierte Datenbank ist eine Datenbank, deren Inhalt Objekte im Sinn der objektorientierten Programmierung sind. Als ein Objekt wird die Zusammenfassung von zugehörigen Attributen bezeichnet, also gehört zum Beispiel die Farbe und das Gewicht eines Autos zu dem Objekt Auto. Attribute beschreiben ein Objekt näher. Daten und Methoden werden nicht getrennt gespeichert. Der Vorteil einer objektorientierten Datenbank liegt in der Möglichkeit, Objekte ineinander zu schachteln, um Strukturen abbilden zu können, wie zum Beispiel Firma --> Abteilung --> Mitarbeiter.
Im englischen und auch im deutschen Sprachgebrauch ist anstelle der Bezeichnung objektorientierte Datenbank auch die Bezeichnung Objektdatenbank (engl. object database) gebräuchlich. Diese Bezeichnung ist kürzer und genauer, denn die Datenbank selbst ist nicht objektorientiert, sondern speichert nur Objekte.
Objektorientierte Datenbanksysteme
Im Gegensatz zu herkömmlichen Datenbanksystemen, welche satzorientiert (netzwerkartiges und hierarchisches Datenbankmodell) beziehungsweise mengenorientiert (relationales Datenbankmodell) sind, besteht die Datenbasis eines objektorientierten Datenbanksystems (OODBS) aus einer Sammlung von Objekten, wobei jedes Objekt einen physischen Gegenstand, ein Konzept, eine Idee usw. repräsentiert.
In einem solchen System werden reale Gegenstände direkt durch Datenbankobjekte repräsentiert. Ihre Identifikation erfolgt über eindeutige und unveränderliche Objektidentifikatoren, welche vom System vergeben werden. Solche Datenbankobjekte können, außer den üblichen, meist numerischen oder alphanumerischen Attributen, Bestandteile haben, die ihrerseits selbst wieder Objekte sind. Sie werden deshalb auch als komplexe Objekte bezeichnet. Es existieren auch Operatoren, mit deren Hilfe mit solchen Objekten umgegangen werden kann.
Wird beispielsweise die Information über einen Angestellten im relationalen Datenbankensystem (DBS) über mehrere Relationen "verstreut", so wird sie in einem OODBS als Gesamteinheit in einem Datenbankobjekt "gehalten". Möchte man nun im Relationenmodell bestimmte Informationen abrufen, so müssen diese unter Umständen aus verschiedenen Relationen zusammengesetzt werden (mit Hilfe der vergleichsweise sehr aufwendigen Verbundoperationen).
Im OODBS betrifft eine solche Anfrage nur ein Datenbankobjekt. Dadurch werden vor allem Konsistenzregeln vereinfacht, da bei einer Modifikation eines Umweltgegenstandes nicht die ganze Datenbasis nach eventuell betroffenen Tupeln (Sätzen) abgesucht werden muss. Bedenkt man, dass bei komplexen Umweltsituationen Informationen über bestimmte Gegenstände über sehr viele Relationen (Sätze) verteilt sein können, so können sich daraus erhebliche Leistungsvorteile für OODBS ergeben. Daneben werden auch die Anwenderprogramme von Aufgaben der Informationsverwaltung entlastet.
Ganz abgesehen von solchen Leistungsüberlegungen liegt der große Vorteil von OODBS darin, dass mit seiner Hilfe wesentlich mehr an Semantik innerhalb der Datenbasis festgehalten werden kann, als dies mit traditionellen Datenmodellen möglich ist.
Als weitere Konzepte von OODBS sei hier noch die Definition neuer Objekttypen durch den Systembenutzer und die der Vererbung (von Eigenschaften eines "Oberobjekttyps" an einen "Unterobjekttyp") erwähnt.
Objektdatenbanken haben seit 2004 eine Renaissance erlebt, seit sie als Opensource-Produkte verfügbar sind und sich speziell auf den Bereich der einbettbaren Datenbanken fokussiert haben.
Siehe auch
- Datenbankmodell
- Hierarchisches Datenbankmodell
- Netzwerkdatenbankmodell
- Relationales Datenbankmodell
- Objektrelationale Datenbank
Literatur
- Rainer Unland: Objektorientierte Datenbanken. Konzepte und Modelle. Thomson Publishing, Bonn 1995, ISBN 3-929821-82-6
- ODBMS.ORG ODBMS.ORG Portal mit einer Zusammenstellung aller verfügbaren Literatur über Objektdatenbanken
Weblinks
deutsch
- db4o Opensource Objektdatenbank - deutsches Portal
- Einführung in die Objektorientierte Datenbank ZODB
- FAQ: Zope Object Database
- Vorlesungskript zu OODB
- Titel: Objektorientierte Datenbanken - Entstehung, Konzepte, Systeme
- ODABA - Free licence and Open Source Objektdatenbank
englisch
- db4o Free, Open Source Object Database for Java and .NET
- ODBMS.ORG Resource Portal for Education and Research on Object Databases
- OOmega.net ODBMS for Java
- ObJectRelationalBridge
- Speedo
- Object-Oriented databases in Python
- Java based, object-oriented database management system