1733 Ansichten seit 2012-08-11 Seite zuletzt am 2012-08-12 modifiziert.
  XHTML RSS QR Commons
Valid XHTML 1.0 Transitional RSS Logo and linkseite Hist-Op URL in QR Form Creative Commons licensing

tem·po·ral adjektiv tɛmpoˈʀaːl

Im Kontext der Datenverarbeitung sind “temporale Daten” Informationen, die zeitlich komponenten haben. Die folgenden 3 Tabellen sind alle temporal, die erste Tabelle hat nur einen Zeitpunkt, die zweite eine ganze Zeitdimension und die letzte ist eine 2-dimensionale Tabelle. Alle stellen den gleichen Vorgang dar (ein Kunde zieht um), aber mit jeweils unterschiedlichen Details. Im Beispiel wir Max Mustermann am 2007-01-01 als Kunde aufgenommen und zieht am 2008-08-05 von Hessen nach Bayern um und dia Adressänderung wird erst am 2009-03-22 bekanntgegeben.

Tabelle mit temporaler Spalte
Cust Name Land Gültig
1 Max M. HES 2008-08-05
       
1-dimensionale Tabelle
Cust Name Land FachVon FachBis
1 Max M. HES 2007-01-01 2008-08-04
1 Max M. BAY 2008-08-05 9999-12-31
2-dimensionale Tabelle
Cust Name Land FachVon FachBis TechVon TechBis
1 Max M. HES 2007-01-01 2008-08-04 2007-01-10 12:00:00 2009-03-22 17:59:59
1 Max M. BAY 2008-08-05 9999-12-31 2009-03-22 18:00:00 9999-12-31 23:59:59

In der ersten Tabellen gibt es nur eine Spalte für temporale Daten, da kann immer nur der letzte Wert gespeichert werden, der alte Wert wird überschrieben und keine historischen Daten können gespeichert werden.

In der zweiten Tabelle werden die Spalten FachVon und FachBis verwendet, um die Periode der fachlichen Gültigkeit darzustellen. Es gibt für jeden Zustand einen Satz und die fachliche Gültigkeitsperioden der Sätze dürfen nicht überlappen.

Die dritte Tabelle stellt beide Zeitachsen 2-dimensionale dar. Die erste Achse ist die der fachlichen Gültigkeit, wie schon in der 1-dimensionalen Tabelle dargestellt. Die zweite Zeitachse ist die der technischen Gültigkeit. In anderen Worten, die erste Dimension ist das "was" und die zweite ist das "wann".

Mit der bi-temporalen oder 2-dimensionalen Historisierung von Daten lassen sich wiederholbare Abfragen gestalten sowie eine absolute Revisionsfähigkeit implementieren. Nehmen wir die 1-dimensionale Tabelle und stellen die Anfrage "Wie viele Kunden hatten wir am 2008-10-01 in Hessen?" - da bekämen wir die Antwort "1" wenn die Frage am 2009-03-01 gestellt wäre, und die Antwort "0" wenn die gleiche Anfrage am 2009-04-01 gestellt wird. Das unterschiedliche Ergebnis lässt sich nicht ohne weiteres erklären und in der Datenbank auch nicht mehr nachvollziehen.

Bei einer 2-dimensionalen Datenbank wird jede Anfrage mit 2 Zeitpunkte gestellt, beim obigen Beispiel wäre die Anfrage "Wie viele Kunden hatten wir am 2008-10-01 mit Kenntnistand am 2009-04-01". Da historische Daten in beiden Zeitachsen gespeichert werden, ergibt diese Anfrage jedes Mal das gleiche Ergebnis, egal was für Änderungen in der Datenbank gemacht worden sind.