Das Relationenmodell ist mit ganzheitlicher Darstellung überfordert

Objektorientierte Datenbank: Mit Codd nicht realisierbar

13.12.1991

Objektorientierte Datenbank Systeme (OODBMS) sind Werkzeuge für die Darstellung und Manipulation von komplexen Objekten. Im Gegensatz zu relationalen Datenbanken (RDBMS) der ersten Generation, die auf Bertrand Russels "logischem Atomismus" beruhen und die Welt durch atomare Sachverhalte darstellen sollen (Normalisierung), liegt den OODBMS die Doktrin des Holismus zugrunde.

Der Holismus erklärt das Verhalten eines Systems aus seiner Ganzheit, der Atomismus aus dessen (atomaren) Teilen. Der Versuch, intelligentes Verhalten atomistisch zu erklären, wird von einigen Fachleuten als gescheitert angesehen. Marvin Minsky wendet eine holistische Methode an, um ein Modell des menschlichen Verstandes zu entwickeln. Er erklärt intelligentes Verhalten durch eine Vielzahl miteinander vernetzter "Agenten". Diese, so der KI-Theoretiker, müßten selbst nicht notwendigerweise intelligent sein; vielmehr bilden sie "Agenturen für intelligente Teilaufgaben". Intelligentes Verhalten ergibt sich in Minskys Modell durch ein abgestimmtes Zusammenwirken der Agenturen.

Aristoteles stellte die Frage: "In welchem Sinn enthält die Definition des Ganzen die Definition der Teile?" In der Sprache der Wissensdarstellung von strukturierten Objekten in Datenbanksystemen lautet diese Frage nur geringfügig anders: "Angenommen, ein strukturiertes Objekt ist definiert. Können dann die grundlegenden Eigenschaften von Teilen aus den Eigenschaften und der Struktur des Ganzen abgeleitet werden?"

Aristoteles unterschied übrigens zwischen Gesamtheiten (Mengen) und Ganzheiten. In ersteren spielt die interne Ordnung keine Rolle: Der Status der Elemente und ihre Beziehungen zueinander haben keinen Einfluß auf eine Gesamtheit. Eine Ganzheit im aristotelischen Sinne jedoch verliert ihre Gestalt oder Funktion, wenn man ihre Teile umordnet.

Streitende Parteien reden über verschiedene Konzepte

Die über objektorientierte und relationale Datenbanken streitenden Parteien reden also eigentlich - ohne gemeinsame theoretische Grundlage - über verschiedene Konzepte. Auf einer höheren Ebene der Abstraktion jedoch bietet die Relationentheorie eine Plattform zur Behandlung beider Darstellungsformen.

Die Dichotomie zwischen relationalen und objektorientierten Datenbanken wird über wunden, wenn man die logischen Einschränkungen von RDBMS beseitigt. Codds relationales Datenmodell kennt in der Datendefinition nur symmetrische Relationen. Dieser Typus erlaubt es, die Spalten einer Tabelle beliebig zu vertauschen. Logische Schlüsse oder Ordnungsstrukturen sind dagegen mit diesem Modell kaum darstellbar; dazu muß man die Logik der relationalen Datendefinitionen erweitern. Objektorientierte Technologien verwenden im Gegensatz dazu strukturierte Objekte.

Die Hersteller von RDBMS sind aufgeschreckt worden durch das neue Konzept. Autoren sprechen von einer "Revolution im Softwaremarkt"; die Fachzeitschrift "Datamation" sieht gar einen "Krieg" zwischen relationalen und objektorientierten Datenbanken im Gange. Die Argumente in dieser Auseinandersetzung sind folgende:

Die Anhänger der Objektorientierungs-Lehre, unterstützt auch von akademischen Kreisen, behaupten, RDBMS seien für die Darstellung komplexen Objekte im CAD/CASE-Bereich Oberhaupt nicht einsetzbar. Die Codd-Jünger dagegen bestehen darauf, daß jede Abbildung der realen Welt aus Gründen der Datenintegrität eine Zerlegung komplexen Sachverhalte erfordere. Als Kronzeugen führt diese Gruppe sämtliche exakten Wissenschaften an, die Ordnungs- oder Mengenrelationen beziehungsweise algebraische Beziehungen verwenden.

Tatsache ist: Die Schwächen der heute verfügbaren relationalen Datenbanken sind in den Unzulänglichkeiten von Codds Relationenmodell begründet, wie es syntaktisch und semantisch durch SQL ausgedruckt wird. Werden aber die Dogmen des SQL-Standards gebrochen und die Syntax und Sematik ergänzt, ergibt sich eine stärkere Ausdruckskraft. Ein Beispiel ist die Erweiterung CONNECT BY, START WITH, PRIOR in Oracles SQL * Plus.

Bis heute gibt es kein allgemein akzeptiertes Modell für objektorientierte Datenmodellierung. Ein solches Modell wäre eine Menge von grundlegenden Konzepten für die Definition, Manipulation und die Abfrage von Daten sowie für die Sicherung der Integrität von Ganzheiten. Gäbe es ein solches objektorientiertes Datenmodell, müßten eine entsprechende Syntax und eine eindeutige Semantik definiert werden. Es wäre wünschenswert, eine solche Sprache im internationalen Rahmen als Standard zu etablieren. Dann dürfte man auch mit einigem Recht erwarten, daß die Software-Industrie objektorientierte Datenbanksysteme nach einheitlichen Konzepten auf den Markt bringt.

Davon sind wir leider noch meilenweit entfernt. Versuche, SQL so zu erweitern, daß im relationalen Datenmodell Ganzheiten definiert und behandelt werden können, waren bisher erfolglos. Die amerikanische Ontologic Inc. zum Beispiel hatte noch 1990 ein objektorientiertes SQL angekündigt. Heute existiert das Unternehmen nicht mehr, und im Nachfolgeunternehmen Ontos spricht niemand mehr von einem objektorientierten SQL.

Die Ausdrucksmöglichkeiten des relationalen Datenmodells sind sehr beschränkt. Mit dem Verzicht auf antisymmetrische Relationen kann es die Ausdruckskraft des Prädikatenkalküls nicht mehr erreichen. Logische Konsequenzen, Strukturen, Sinn und Bedeutung von Daten sind ohne antisymmetrische Relationen nicht oder nur wenig effizient darstellbar. Auch die Definition von VIEWS mit zahlreichen JOINS, um atomare Sachverhalte wieder in sinnvoller Weise für ein logisches Schließen zusammenzuführen, ist kaum hilfreich: Die Prozeduren von relationalen Datenbanksystemen werden dadurch sehr schwerfällig und verlieren ihre Effizienz.

Erst wenn man relationale Konzepte so erweitert, daß ihre Syntax und Semantik die volle Ausdruckskraft des Prädikatenkalküls besitzen, kann der Markt eine neue Generation von objektorientierten Datenbanken hervorbringen. Solche Lösungen würden dann keinen Unterschied mehr machen zwischen Gesamtheiten (entsprechend den traditionellen Klassen, wie sie mit CREATE TABLE definiert werden) und Ganzheiten beziehungsweise strukturierten Objekten.

Die Stärken der relationalen Datenbanken zeigen sich, wenn relativ flache Datenstrukturen vorliegen, die in tabularen Sätzen gespeichert werden können, Überlegen sind die RDBMS auch, wenn es um Online-Transaktionsverarbeitung von Massendaten geht, in denen stets die gleichen Satzformen verwendet werden, oder wenn nur relativ einfache Abfragen vorgesehen sind. Objektorientierte Datenbanken hingegen sind unschlagbar beim Entwurf von Systemen mit hoher Komplexität, bei denen einheitliche Prozeduren für den gesamten Entwicklungsprozeß gefordert werden. Auch für die Verarbeitung unterschiedlicher Datentypen (Bitmaps, Bilder, Video- und Sprachdaten) ist der Einsatz eines OODBMS zu empfehlen. Ein solches System macht weiterhin Sinn, wenn es um die Änderung einzelner Datenfelder (nicht: Sätze!) geht und wenn die Konsequenzen solcher Manipulationen in einer komplexen Dateistruktur festgeschrieben werden müssen.

Gegenwärtig sind herkömmliche, also relationale und objektorientierte Datenbanken noch Werkzeuge für verschiedene Aufgabenstellungen. Beide Typen von DBMS werden vermutlich noch Jahre nebeneinande existieren und in den Gebieter angewendet werden, in denen sie ihre jeweiligen Stärken haben.