Objektorientierte Datenbank

Bei einer objektorientierten Datenbank (object database) handelt es sich um eine Datenbank, in welcher Datensätze als Objekte gespeichert werden, wodurch komplexe Datenstrukturen übersichtlich abgebildet werden können. Bei der objektorientierten Datenbank handelt es sich um eine Datenbank von mehreren Typen an Datenbanken. Diese Typen an Datenbanken unterscheiden sich in Bezug auf Ziele und Funktionsweise. Auf diese Weise wird die Kategorisierung von verschiedenen Datenbanksystemen in verschiedene Typen erst möglich.
Objektorientierte Datenbank
© Friends Stock
Teilen

Objektorientierte Datenbank Begriffsbedeutung

Bei einer objektorientierten Datenbank handelt es sich um eine Art der Datenbank, in der Daten im Sinne der Objektorientierung als Objekte verwaltet werden. Unter der Objektorientierung wird die Sichtweise verstanden, dass komplexe Systeme durch ein Zusammenspiel von miteinander kooperierenden Objekten beschrieben werden können. Bei einem Objekt handelt es sich hierbei um einen bestimmten Datensatz. Diese gebündelte Kombination aus Daten, also das Objekt, wird durch Attribute (Eigenschaften) und Methoden (Funktionen) beschrieben. Attribute beschreiben das statische Wesen und Methoden das dynamische Verhalten des Objekts. Die Attribute beschreiben also, welche Eigenschaften von dem Objekt angenommen werden können. So kann dem Attribut „Geschwindigkeit“ des Objekts „Auto“ z.B. der Wert „120 km/h“ zugewiesen werden. Die Methoden beschreiben das Verhalten von Objekten. So kann dem Objekt „Auto“ die Methode „bremsen“ zugewiesen werden. Anstatt also alle Daten über verschiedene Tabellen zu verteilen, sind durch diese Definition des Objekts alle Informationen in Bezug auf den hinter dem Objekt stehenden Datensatz zusammengefasst und direkt verfügbar.

Funktionsweise

Die Funktionsweise des Objektdatenbankmanagementsystem gestaltet sich folgendermaßen:

  1. Ein Datensatz wird mit den passenden Attributen und Methoden in einem Objekt zusammengefasst.
  2. Diese Objekte werden wiederum in abstrakten Klassen zusammengefasst. Somit wird eine Klasse aus verschiedenen Einheiten an Objekten gebildet. Die Klassen werden wiederum innerhalb eines Konstrukts untereinander geordnet, wodurch eine Hierarchie an verschiedenen Klassen und Unterklassen entsteht. Unterklassen übernehmen hierbei die Eigenschaften von übergeordneten Klassen und ergänzen diese Eigenschaften durch zusätzliche Eigenschaften. Zudem werden die Objekte miteinander verbunden, wodurch eine Vernetzung entsteht. Hierdurch lassen sich einfache Objekte in komplexen Objekten bündeln.
  3. Jeder Objekteinheit wird eine einmalige Identifikation vergeben, wodurch Objekte nach der Speicherung ohne großen Aufwand aufgerufen werden können.

Funktionen eines Objektdatenbankmanagementsystems

Bei einem Datenbankmanagementsystem (DBMS) handelt es sich im Allgemeinen um eine Systemsoftware, welche für die Erstellung und Verwaltung von Datenbanken zuständig ist. Bei der Objektorientierten Datenbank kommt ein Objektdatenbankmanagementsystem (ODBMS) zur Anwendung. Die Objektdatenbank (object database) und das Objektdatenbankmanagementsystem bilden zusammen das Objektdatenbanksystem. Das Objektdatenbankmanagementsystem hat die folgenden Funktionen auszuüben:

  • Klassische Funktionen eines Datenbankmanagementsystems (DBMS)
  • Speicherung und Verwaltung komplexer Objekte: Der hinter einem Objekt stehende Datensatz (also auch die Attribute und Methoden) müssen von dem ODBMS gespeichert und verwaltet werden.
  • Definition der Objektidentität: Das ODBMS weist jedem Objekt eine unverwechselbare Identität zu.
  • Kapselung der Objekte: Als Kapselung beschreibt man den kontrollierten und abgegrenzten Zugriff auf die Attribute und Methoden eines Objekts innerhalb einer Klasse.
  • Zuordnung der Objekte in Objektklassen
  • Zuordnung der Objektklassen in Klassenhierarchien
  • Ermöglichen einer dynamischen Bindung: Innerhalb einer Klassenhierarchie ist es, wie bereits beschrieben, so, dass Oberklassen ihre Eigenschaften an ihre Unterklassen vererben. Sucht man nun nach Informationen innerhalb der Klasse kann es dazu kommen, dass dieselbe Information in sowohl einer Oberklasse als auch einer Unterklasse enthalten ist. Bei der dynamischen Bindung kann in einem solchen Fall sowohl die Ober- als auch die Unterklasse ausgewählt werden. Falls das ODBMS immer die Oberklasse auswählen würde, würde man von einer statischen Bindung sprechen. Die dynamische Bindung ist für die objektorientierte Datenbank von großer Bedeutung.
  • Betreiben einer Turing-vollständigen Manipulationssprache (DML): Der Begriff „Manipulationssprache“ beschreibt die Datenbanksprache, welche verwendet wird, um Daten zu lesen, zu schreiben, zu löschen und zu ändern. Diese Datenbanksprache muss turingmächtig sein. Die Datenbanksprache ist dann turingmächtig, wenn sie in der Lage ist, alle Funktionen zu berechnen, welche eine universelle Turingmaschine berechnen kann. Hierbei wird die Annahme getätigt, dass die Datenbanksprache auf unbegrenzten Speicherplatz zugreifen kann. Bei einer Turingmaschine handelt es sich um ein Rechnermodell der theoretischen Informatik und somit um ein mathematisches und abstraktes Objekt. Falls die Datenbanksprache in der Lage ist, die Funktionen der Turingmaschine zu emulieren, entspricht sie den mit Typ-0-Grammatiken definierbaren Sprachen. Typ-0-Grammatiken sind Teil einer Hierarchie an Sprachen. Je weiter unten sich eine Sprache in dieser Hierarchie befindet, desto erzeugungsmächtiger ist die jeweilige Sprache. Typ-0-Grammatiken bzw. Turing-vollständige Manipulationssprachen, also auch objektorientierte Programmiersprachen, werden in ihrer Schaffungskraft in keiner Weise von Produktionsregeln eingeschränkt. Eine kleine Anmerkung am Rande: Alan Turing war ein britischer Mathematiker und Informatiker.

Beispiel

Das folgende Beispiel soll verdeutlichen, wie eine Objektdatenbank bzw. objektorientierte Datenbanken aussehen kann/können: Das konkrete Objekt „Notebook von Isa“ wird abgespeichert. Diesem Objekt „Notebook von Isa“ werden verschiedene Attribute zugeordnet: z. B., dass es eine schwarze Außenseite hat und 30 cm lang ist. Auch werden dem Objekt Methoden zugeordnet: z. B., dass es eine Verbindung zum Internet aufbauen kann und in der Lage ist Rechenaufgaben auszurechnen. Das Objekt „Notebook von Isa“ wird nun der Klasse „Notebooks“ zugeteilt. Die Klasse „Notebooks“ ist wiederum eine Unterkategorie von „Personal Computer“. Die Unterkategorie „Personal Computer“ umfasst zum Beispiel auch die Klasse „Desktop-Computer“. Das Objekt „Notebook von Isa“ hat zudem eine Verbindung zur Klasse „Arbeitsmaterial“ hergestellt, da Isa das Notebook für die Arbeit benötigt. Zudem wurde dem Objekt „Notebook von Isa“ eine Identifikationsnummer zugeteilt, um das Objekt mit all seinen Attributen und Methoden problemlos aufrufen zu können.

Vorteile

Eine objektorientierte Datenbank (object database) bringt die folgenden Vorteile mit sich:

  • Abbildung komplexer Objekte: Durch objektorientierte Datenbanksysteme lassen sich komplexe Objekte abbilden, welche schnell und leicht aufgerufen werden können. Auf der flachen Tabellenstruktur einer relationalen Datenbank ist dies nur mit einem großen Aufwand möglich. So ist die Funktionsweise der relationalen Datenbank darauf ausgerichtet, die Informationen mehrerer Datenbanken zu verknüpfen. Diese Informationen werden in einem Tabellensystem abgebildet und gespeichert. Um in diesem Tabellensystem komplexe Objekte abzubilden, fällt durch relationale Datenbanksysteme ein hoher Aufwand an. Trotzdem genießen relationale Datenbanksysteme eine große Verbreitung. Dies ist unter anderem der Tatsache verschuldet, dass Anwendungen häufiger auf relationale Datenbanksysteme ausgelegt sind.
  • Gute Zusammenarbeit mit objektorientierten Programmiersprachen: Objektorientierte Datenbanksysteme arbeiten gut mit objektorientierten Programmiersprachen zusammen. Aus diesem Grund lohnt sich die Einführung einer objektorientierten Datenbank insbesondere dann, wenn bereits mit objektorientierten Programmiersprachen gearbeitet wird.
  • Automatische Vergabe der Identifikationsnummern: Hierdurch wird das Problem der Objektidentität gelöst, ohne dass ein besonderer Aufwand entsteht. Die Verwaltung der Identifikationsnummern wird vollständig vom System übernommen.

Nachteile

Gleichzeitig müssen bei der Nutzung einer objektorientierten Datenbank folgende Nachteile in Kauf genommen werden:

  • Schlechte Verbreitung: Objektdatenbanken bzw. objektorientierte Datenbanken verfügen, insbesondere im Vergleich zu relationalen Datenbanksystemen, nur über eine geringe Verbreitung, wodurch viele Schnittstellen auf eine Anwendung in Verbindung mit einem ODBMS nicht ausgerichtet sind.
  • Performanceprobleme: Durch die hohe Komplexität der Objekte können Performanceprobleme entstehen. Diese Performanceprobleme können möglicherweise sogar durch recht einfache Anfragen ausgelöst werden.

Meistverbreitete objektorientierte Programmiersprachen

Bei den folgenden Programmiersprachen handelt es sich um die meistverbreiteten objektorientierten Programmiersprachen:

  • Java
  • Python
  • C++
  • C#
  • R
  • PHP
  • Smalltalk

Wann ist eine objektorientierte Datenbank sinnvoll?

Objektorientierte Datenbanksysteme bieten sich besonders dann an, wenn die folgenden Merkmale auftreten:

  • Die Organisation möchte komplexe Objekte abbilden lassen.
  • Die Organisation nutzt bereits eine oder mehrere objektorientierte Programmiersprachen. Auf diese Weise ist keine Umstellung notwendig.

Objektorientierte Datenbank von TenMedia erstellen lassen

Die Gestaltung eines Objektdatenbankmanagementsystems, welches auf alle Bedürfnisse einer Organisation ausgerichtet ist, stellt eine Herausforderung dar. TenMedia, ein lebendiges Softwareunternehmen in der Mitte von Berlin, hat sich seit 2011 exakt auf solche Herausforderungen spezialisiert und versucht den individuellen Bedürfnissen einer jeden Organisation durch die Gestaltung einer maßgeschneiderten Individualsoftware nachzukommen. Unser Team freut sich auf eine unverbindliche Kontaktaufnahme oder konkrete Anfragen.

Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Gefällt dir was du siehst? Teile es!
Kontaktperson
Anica Piontek
+49 (0) 30 5 490 650-0
anica.piontek@tenmedia.de
Du hast auch ein spannendes Projekt?
Gerne bespreche ich ganz unverbindlich alle Projektdetails in einem persönlichen Gespräch.

Zufällige Beiträge

Sinnbildlich für die künstliche Intelligenz hält ein Roboter einen Schraubenschlüssel. Glossar > Begriffe
Skyline Frankfurt mit Hochhäusern und dem Main Glossar > Städte

Zufällige Glossareinträge

schöne Straße in München mit Häusern Glossar > Städte
Ein Angler sitzt mit seiner Angelrute im Wohnzimmer vor einem Fernseher. Glossar > Begriffe