Hier beginnt Teil VIII: Alternativen

mit den Kapiteln

23 Andere Datenmodelle

24 Nicht-konventionelle Datenbanken – NoSQL etc.

Wie in den obigen Kapiteln gezeigt, ist das Ergebnis der logischen Datenorganisation ein logisches Datenmodell, hier ein relationales. Nach der konzeptionellen Modellierung (vgl. Kapitel 3) und vor dem logischen Datenmodell kommt aber sehr oft ein weiterer Modellierungsschritt, die semantische Modellierung.

Nimmt man noch die physische Datenorganisation dazu, ergeben sich damit vier verschiedene Abschnitte auf dem Weg vom Anwendungsbereich zur Datenbank. Zwei davon stellen Datenmodelle dar:

Vgl. auch Abbildung 1.1-1

  • Konzeptionelle Modellierung (vgl. Kapitel 3)
  • Semantische Datenmodellierung, die zu semantischen Modellen führt, heute meist Entity Relationship - Modellen.
  • Logische Datenorganisation, die zu logischen Datenmodellen führt, heute meist zu relationalen Datenmodellen (RM), manchmal auch zu objektorientierten (OOM), früher auch zu hierarchischen (HM) und Netzwerkmodellen (NWM).
  • Physische Datenorganisation für die konkreten Daten der Datenbank (Dateien) und die Verwaltungsdaten (vgl. die Kapitel 20 und 21).

23.1 Semantische Datenmodelle

Der erste Schritt, um zu einer Datenbank zu kommen, besteht darin, den relevanten Anwendungsbereich aus der Realität zu abstrahieren und in ein geeignetes konzeptionelles Modell umzusetzen. Dies wurde in Kapitel 2 vorgestellt. Er führt über die Identifikation von Objekten, Beziehungen und Attributen zur Zusammenfassung zu Objekt- und Beziehungsklassen. Ziel ist es, den unstrukturierten Realitätsausschnitt in ein strukturiertes und inhaltlich fundiertes Datenmodell zu überführen.

Zuerst: Konzeptionelle Modellierung

Danach kann ein Modellierungsschritt kommen, der noch unabhängig von einem Datenbanksystemtyp (relational, objektorientiert, ...) eine Modellierung erlaubt, die möglichst viel von der "Semantik" des Anwendungsbereiches erfasst. Denn diesbezüglich ist die konzeptionelle Modellierung nicht sehr leistungsstark und auch die relationale Theorie ist, wenn sie nicht wie in diesem Buch erweitert wird (Muster, ...) in semantischer Hinsicht "arm".

ER-Modell

Mehr Semantik bedeutet zum Beispiel

  • eine Berücksichtigung der Muster, wie hier in Kapitel 14 vorgestellt, um die sich die eigentliche relationale Theorie nicht kümmert,
  • die Einbeziehung von Dynamikaspekten aus der Semantik der Geschäftsprozesse als semantische Integritätsbedingungen („Zahlungsverzug bei ansonsten zuverlässigen Kunden führt zu einer zweiten Erinnerung, bei den anderenn zur ersten Mahnung“),
  • die Präzisierung der Kardinalitäten hin zu Min-/Max-Angaben (wie hier auch schon geschehen).

Von den in den letzten Jahrzehnten gemachten Vorschlägen zur semantischen Modellierung konnte sich nur die Entity Relationship – Modellierung behaupten. Sie führt zu Entity Relationship – Modellen (ER-Modelle), die tatsächlich etwas mehr Semantik zu erfassen erauben als die logische Modellierung. Eine Kurzdarstellung hierzu findet sich auf

ER-Modelle

www.staud.info --> Datenbanken --> Entity Relationship - Modellierung.

Semantische Modellierung ist also unabhängig von einem Datenbanksystemtyp (relationale, objektorientiert,...). Mit ihr werden Datenmodelle erstellt, die noch nicht an eine bestimmte Datenbanktheorie gebunden sind, sondern die unabhängig davon und damit auch unabhängig von einem Datenbanksystem sind.

Unabhängig von einem Datenbanksystem

Oftmals werden semantische Datenmodelle auch für Übersichtsnotationen verwendet, z.B. in der Unternehmensmodellierung. Dann kann ein Element z.B. eine ganze Abteilung ausdrücken (Vertrieb, Beschaffung) und das Modell als Ganzes das gesamte Unternehmen. Vgl. dazu die Beispiele in [Scheer 1997].

Auch für Übersichtsnotationen

Eine Übersicht zu semantischen Datenmodellen findet sich in [Bullinger und Fähnrich 1997, S. 118].

23.2 Logische Datenmodelle

Wie oben schon mehrfach angeführt, wird mit dem Begriff "logisch" im Kontext der Datenmodellierung die Analyse der inhaltlichen Zusammenhänge von Datenbeständen bezeichnet, die zu Datenmodellen führt, welche direkt mit einem Datenbanksystem in eine Datenbank umgesetzt werden können. Der Begriff geht auf eine Unterscheidung zurück, die vom SPARC-Ausschuss des amerikanischen Normungsinstituts ANSI in den 1970er - Jahren eingeführt wurde:

  • externe Sicht,
  • logische Sicht,
  • interne Sicht (auf die Datenbank). Vgl. Abschnitt 1.4.

Die logische Datenorganisation beschreibt damit die inhaltliche Struktur der Daten (Objekte, deren Attribute und ihre Beziehungen untereinander). Dementsprechend versteht man unter Datenmodellierung die Abbildung der im Anwendungsbereich gefundenen Strukturen mit einer Modellierungstheorie (hier: relationale Theorie) in ein Datenmodell (hier: relationales Datenmodell).

Ein logisches Datenmodell wurde in den obigen Kapiteln in aller Ausführlichkeit vorgestellt, das relationale. Daneben gibt es aber weitere, die früher benutzt wurden oder die parallel zur relationalen Theorie existieren. Die bekanntesten sind das hierarchische Modell, das Netzwerkmodell und das objektorientierte Modell.

Das hierarchische Modell (HM) ist der älteste Ansatz, Daten in Datenbanksystemen zu strukturieren. Das geschah einfach in Baumstrukturen. Die Dateien waren fest hierarchisch angeordnet, jeder Datensatz enthielt einen Verweis auf die ihm zugeordneten Datensätze der nächst niedrigeren Ebene. Beim Zugriff auf die Daten musste man sich entlang der Verweise durch die Baumstruktur hangeln.

Hierarchische Modelle
In den 1950 und 1960er Jahren

Sie waren die ersten und erlaubten im wesentlichen die Modellierung hierarchischer Beziehungen (Baumstrukturen) in den Datenbeständen. Diese mussten bei der Erstellung der Datenbank fest angegeben werden. Hierfür gab es spezifische Datenbanksysteme, die ganze erste Generation der Datenbanksysteme erlaubte nur solche Datenbanken bzw. Datenmodelle.

Das Netzwerkmodell (NWM) ist eine Erweiterung des hierarchischen Modells um netzartige Strukturen. Sie führten zu sog. Netzwerkdatenbanken. Der Zugriff auf die Daten erfolgt auch hier, indem man durch die im Datenbanksystem fest verankerten Strukturen navigierte. Sie erlaubten aber die Überwindung der nur hierarchischen Strukturen, indem sie netzwerkartige Beziehungen zwischen den Datenbeständen ermöglichten. Auch hier mussten die Beziehungen bei der Erstellung der Datenbank fest angegeben werden.

Netzwerkmodelle . In den 1970er Jahren

Diese Inflexibilität bzgl. der Verwaltung der Beziehungen war ein Motiv für weitergehende Überlegungen bzgl. der Datenmodellierung, die zur relationalen Theorie führten. Relationen können beliebig miteinander in Beziehung gesetzt werden. Man navigiert in der Datenbank nicht mehr entlang "fest verdrahteter" Verweise, sondern über die Inhalte von Feldern, also anhand der Werte von Attributen.

Die objektorientierten Datenmodelle entstanden aus der ganz allgemeinen objektorientierten Theorie (vgl. [Staud 2019] für eine umfassende Darstellung). Diese hat ihren Schwerpunkt bei den objektorientierten Programmiersprachen, wirkt aber auch in das Datenbankgeschehen. Aus Datenbanksicht ist das wesentlich neue, dass hier zum ersten Mal in der Geschichte der Datenbanksysteme und der Datenmodellierung Struktur und Verhalten zusammen modelliert werden. Man verknüpft (kapselt) die Daten mit den Funktionen, die sie verarbeiten. Damit eignet sich die objektorientierte Datenmodellierung auch zur Abbildung komplexer Strukturen.

Objektorientierte Modelle - Struktur und Verhalten integriert

Echte objektorientierte Datenbanksysteme würden, gäbe es sie, objektorientierte Datenmodelle unterstützen. Das was heute allerdings als objektorientierte Datenbanksysteme angeboten wird, sind nur Werkzeuge, um (z.B. den C++-Programmierern) die persistente Datenhaltung zu erleichtern (wie z.B. POET).

Viele Relationale Datenbanksysteme integrieren deshalb eine objektorientierte Komponente. Man spricht dann von objektrelationalen Datenbanken.

Objektrelationale Datenbanken