Ein wirklich prägendes Element unserer Wirklichkeit ist die Zeitachse. Deshalb ist die Fixierung von Informationen auf Zeitpunkte, die Erfassung der historischen Dimension des Weltausschnitts, für viele Datenmodelle von großer Bedeutung.

7.1 Standardlösung

Bei einer Standardmodellierung wie oben ist sie allerdings nicht von vorneherein dabei. Oben ist dies nur beim Entitätstyp Begegnungen der Fall, weil diese Entitäten ohne zeitliche Festlegung nicht vorstellbar sind. Bei allen übrigen Entitäts- und Beziehungstypen wurde so modelliert, dass jeweils nur die aktuellen Daten erfasst werden.

Um dies zu verdeutlichen: Wechselt im Sportvereinsbeispiel ein Mitglied seine Adresse, wird die neue eingetragen, die alte ist überschrieben. Ändert ein Mitglied seinen Namen, wird der alte überschrieben. Und so weiter. Standardmodellierung bedeutet meist, dass Datenbanken entstehen, die den aktuellen Stand erfassen, nicht mehr.

Nur der aktuelle Stand

Wie könnte die Berücksichtigung zeitlicher Aspekte bei solchen Entitäts- und Beziehungstypen aussehen (vgl. auch Abschnitt 3.24)?

7.2 Erfassung Zeitabschnitt

Geht es um Zeitabschnitte kann der Anfang und das Ende als Attribut festgehalten werden. Z.B. könnten bei den Vereinsmitgliedern im obigen Beispiel auch die erfasst bleiben, die früher Mitglieder waren und die dies durch Austritt, Wegzug oder Tod nicht mehr sind. Realisiert werden könnte dies durch zwei Attribute Eintritt und Austritt, die in der Abbildung hervorgehoben wurden. Für alle aktiven Mitglieder müsste Austritt auf einen Nullwert gesetzt werden.


Abbildung 7.2-1:

Zeitliche Aspekte bei Entitätstypen

Eine solche Erweiterung hat natürlich Konsequenzen, die hier nur angedeutet werden können. Hier z.B. die, dass die totale Beteiligung an den beiden Subklassen natürlich nicht mehr gegeben ist, da die ehemaligen Mitglieder weder aktiv noch passiv sind.

Die gleiche Lösung kann für Beziehungen gewählt werden. Soll z.B. festgehalten werden, wer früher eine Mannschaft trainiert hat, muss der Beziehungstyp Trainieren erweitert werden um zwei Attribute von und bis, die das jeweilige Datum festhalten.


Abbildung 7.2-2:

Historische Aspekte bei Beziehungstypen

Hier werden ebenfalls die weiteren Konsequenzen einer Einführung der Zeitachse deutlich. So wie der obige Modellausschnitt jetzt vorliegt, können nur von den aktiven Mitgliedern die historischen Daten erhoben werden, die noch im Verein sind. Ansonsten müssten bei den aktiven Mitgliedern ebenfalls Datumswerte aufgenommen werden. Dasselbe gilt für die Mannschaften.

Grundsätzlich gilt für Attribute, die einen Zeitabschnitt festlegen, dass das Attribut für die Festlegung des Endzeitpunktes erst Gültigkeit erlangt, wenn das Ende des Zeitabschnitts erreicht ist. Dies ist ein Verstoß gegen die oben eingeführte Regel, dass ein Attribut (immer) für alle Entitäten Gültigkeit haben muss. Im obigen Beispiel zu den Mitgliedern kann das Attribut Austritt erst einen Eintrag erfahren, wenn der beschriebene Tatbestand eintritt. Mit diesem „Regelverstoß“ muss man allerdings im Falle der Erfassung von Zeitabschnitten leben. D.h., es gibt in der Datenbank Felder, die entsprechende Nulleinträge enthalten.

Regelverstoß?

7.3 Immer wachsend

Für alle Datenbanken mit Zeitpunkten gilt, dass jede einzelne Information zeitlich fixiert ist und nicht gelöscht wird, wenn dieselbe Information wieder anfällt: Der Umsatz des Februars überschreibt nicht den des Januars. Die neue Adresse des Vereinsmitglieds überschreibt nicht die alte. Insofern wachsen diese Datenbanken ständig, die schon vorhandenen Daten werden nicht überschrieben.