Hallo eltigree,
Ich möchte gerne meine Daten (MS SQL Server 2005) bitemporal halten, d.h. eine Datenhistorisierung einfügen und bräuchte hierzu noch Tipps.
Ich habe erstmal nachgesehen was "biotemporal" in diesem Kontext heißt. Das meint wohl "Gültigkeitszeitraum und Erzeugungszeitpunkt eines Datensatzes werden gespeichert". Also eine bestimmte art der "Historisierung".
Ich habe bereits gelesen, dass es von Vorteil ist, die Historisierung und die Stammdaten getrennt zu führen.
Wo hast Du das gelesen und welche Argumente wurden dafür genannt?
Von der "reinen Lehre des Datenbankentwurfs" her sehe ich nämlich kein Argument, das so zu tun. Du kannst einfach zusätzliche Spalten für den Gültigkeitstzeitraum und Erzeugungsdatum hinzufügen. Der "aktuelle" Datensatz ist eben der, der zum entsprechenden Zeitpunkt gültig ist. Die "aktuellen Daten" sind also nur eine Sicht (View) auf die Tabelle aller Daten.
Nun kann es evtl Performancegründe geben, nur die aktuellen Datensätze in einer eigenen Tabelle zu halten. SQL-Server unterstützt anscheinend so genannte "Indexed Views" also Sichten auf Tabellen die in irgend einer Weise zwischengespeichert werden. Ich würde mich mal informieren, ob diese geeignet sind, das Problem zu lösen.
Grüße
Daniel