Schichtenarchitektur

Theorie Icon Wenn eine Datenbank aufgesetzt und mit Daten gefüllt wird, dann ist davon auszugehen, dass diese Datenbank über einen langen Zeitraum, Jahre, vielleicht sogar Jahrzehnte in Gebrauch ist. Die Anwendungen, die auf sie zugreifen, können sich über die Zeit ändern, auch können neue Anwendungen hinzu kommen.

Die Datenbank soll dabei von den Anwendungen entkoppelt sein, d. h. bei einer Änderung einer Anwendung soll die Datenbank nicht geändert werden müssen. Wir sprechen auch von Anwendungsunabhängigkeit. Dies ist auch unseren Geschäftsleuten vom Limo-Shop wichtig:

Die Webseite ist ein Erfolg und nun soll der Limo-Shop auch über eine mobile App für das Smartphone erreichbar sein.
Gleichzeitig wünscht ein Großhändler der Region eine Möglichkeit, die Produkte des Shops in das eigene Sortiment automatisiert einzubinden. Hierfür müssen Schnittstellen geschaffen werden. Dabei sollen möglichst wenige Änderungen an der Datenbank vorgenommen werden, damit die existierende Webseite nicht „kaputt geht“ und weiterhin für Bestellungen verwendet werden kann.

Anwendungsunabhängigkeit bedeutet, dass unsere Datenbank von diesen Änderungen entkoppelt ist.


Theorie Icon Viele verschiedene relationale Datenbanksysteme sind auf dem Markt erhältlich, darunter IBM DB2, Microsoft SQL Server, PostgreSQL und MySQL. Es besteht das Interesse, Datenbanken unabhängig von der konkreten Realisierung in einem Datenbanksystem (DBS) zu modellieren. Für die Modellierung einer Datenbank soll es irrelevant sein, wie die Daten intern gespeichert sind. Wir sprechen von Implementierungsunabhängigkeit

Um Anwendungsunabhängigkeit und Implementierungsunabhängigkeit zu erreichen, folgen Datenbanksysteme Datenbankarchitekturen, die verschiedene Schichten voneinander abgrenzen. Wir betrachten in diesem Modul vor allem die Drei-Schema-Architektur, auch ANSI-SPARC-Architektur genannt.

ANSI-SPARC-Architektur

Bei der Drei-Schema-Architektur werden drei Schichten unterschieden: die externe Ebene, die konzeptionelle Ebene und die interne Ebene.

Es werden drei Schichten übereinander dargestellt und farblich unterschieden. Die oberste grüne Schicht heißt "externe Ebene", darunter
                                liegt die konzeptionelle Ebene, darunter die interne Ebene. Rechts neben diesen Ebenen befinden sich nähere Erläuterungen zu den einzelnen
                                Ebenen. Rechts neben "externe Ebene" steht der Text "Benutzeroberflächen, Datensichten, API und Schnittstellen". Rechts neben der mittleren Ebene steht
                                "Beziehungen und Daten", neben der unteren Ebene steht der Text "Art und Form der Speicherung".

Die Funktionen dieser Schichten sind im Detail:

Zur externen Ebene gehören im Limo-Shop alle Benutzeroberflächen und Sichten mit Datenbezug, also z. B. das Bestellformular oder die Rechnung, welche dem Kunden zugestellt wird. Auch die Schnittstellen, die geschaffen werden, damit der Großhändler die Produkte automatisiert abrufen kann, gehören zur externen Ebene.

Die konzeptionelle Ebene wollen wir in diesem Datenbankmodul betrachten. Dabei lernst du, wie eine relationale Datenbank konzeptionell modelliert wird. und dieses Modell in ein Relationenmodell überführt werden kann.

Die interne Ebene (auch physische Ebene), stellt die physische Sicht der Datenbank im Computer dar. In ihr wird beschrieben, wie und wo die Daten in der Datenbank gespeichert werden, also z. B. das Speichermedium selbst oder das Datenbankprodukt. Muss der Datenbankserver einmal „umziehen“ also physisch auf einem anderen Rechner installiert werden, soll sich das nicht auf die konzeptionelle Modellierung der Datenbank auswirken.

Übung