Objektorientierte und relationale Welt

Technologiebrüche beseitigen

10.12.2001

Das relationale Modell beschreibt alle Daten anhand eines standardisierten Formats von Tabellen mit Zeilen und Spalten. Zur Darstellung komplexer Datenstrukturen benötigt man meistens eine Vielzahl von Tabellen. Deren Verknüpfung lässt sich über externe Schlüssel - so genannte Foreign Keys - herstellen. Anweisungen und logische Operationen sind ebenfalls extern zu definieren und auszuführen, können aber oft über Stored Procedures aus der Datenbank heraus gestartet werden. Um effiziente Anwendungen zu entwickeln, braucht man eine tiefgehende Kenntnis der Tabellen, ihrer Beziehungen untereinander und der im Datenbanksystem verankerten Stored Procedures.

Das OO-Modell dagegen verbindet Daten und zugehörige Operationen zu einer Einheit (Objekt), die einem hierarchisch gegliederten System von Klassen angehört. Daten sind dabei als Eigenschaften, Verarbeitungsschritte als Methoden definiert.

Keine einfache Abbildung

Über Schnittstellen greift der Entwickler direkt auf die Methoden zu, ohne sich mit der Komplexität des darunter liegenden Codes auseinander setzen zu müssen. Zwischen Oberklasse und Unterklasse gibt es eine "Vererbung" genannte Beziehung, die dafür sorgt, dass die in der Oberklasse definierten Eigenschaften und Methoden automatisch allen Unterklassen zur Verfügung stehen. Ist auch Polymorphismus implementiert, können diese Komponenten in verschiedenen Unterklassen trotz gleicher Bezeichnung unterschiedlich sein, ohne dass das Anwendungen daran hindern würde, mit ihnen zu arbeiten.

Will man nun objektorientierten Code mit einer relationalen Datenbank verbinden, sind folgende Aspekte zu beachten:

- Assoziation von Objektklassen mit Tabellen: Die Hauptaufgabe besteht darin, die Eigenschaften jeder Klasse auf Tabellenspalten abzubilden. Im Regelfall erfordert das Objektmodell eine Klasse, die sich über mehrere Spalten einer Mehrzahl von Tabellen erstreckt. Oft werden auch auf dieselbe Tabelle mehrere Klassen abgebildet, welche die Informationen in der Tabelle jeweils gemäß ihren eigenen Bedürfnissen interpretieren. Eine einfache direkte Abbildung ist also nur selten möglich.