Hallo,

wieso machst Du es nicht so, wie es Microsoft selbst in seiner Business
Software (Microsoft Business Solutions- Axapta)
macht?

Dort hat jede Tabelle 6 "Verwaltungsfelder" (createdby, createddate,
createdtime, modifiedby, modifieddate, modifiedtime).

Bei Tabellen die eine "ausf�hrliche" Historie ben�tigen, wird f�r die
Historie eine extra Tabelle die die gleichen Felder wie die eigentliche
Datentabelle hat genutzt. Bei einem Insert wird jeweils in die Datentabelle
und in die Historytabelle geschrieben (und die "Verwaltungsfelder" werden
gef�llt). Bei einem Update werden die jeweiligen Felder in der Datentabelle
geupdatet und ein neuer Datensatz in mit den ge�nderten Daten in der
Historytabelle geschrieben. Dadurch hast du zwar in 2 Tabellen immer die
gleichen Daten, kannst aber ganz gut von der einen zur andern Version
wechseln und �nderungen verfolgen.

Da das ganze �ber SP`s erledigt wird, erledigt der SQL-Server das anlegen
der Historie dann automatisch.

Gru�

Axel



-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Auftrag von Christoph Wille
Gesendet: Dienstag, 7. September 2004 17:07
An: [EMAIL PROTECTED]
Betreff: [Coffeehouse] Versionierung von Datens�tzen


Ich habe da ein Problem (na ja, ein selber gestelltes):

F�r jede Zeile in einer Tabelle m�chte ich Revision Tracking machen: (a)
wer hat wann was ge�ndert, (b) was waren die vorherigen Werte in den
Spalten. Mir kommen folgende Ans�tze in den Sinn:

* Zus�tzliche Spalten einf�hren: Author, RevisionDate; die Zeile mit dem
aktuellsten RevisionDate ist die letztge�nderte Zeile, die letztge�nderte
wird bei einer �nderung quasi dupliziert. Meines Erachtens bescheiden
abzufragen ("Liste alle Zeilen mit den letztge�nderten Werten")

* Eine einzige Spalte, RevisionHistory (vartext). Dort ein XML reingeben
das die ganze Revisionhistory speichert. Nachteil: direkt abfragen kann man
es nicht ("Welche Zeile wurde am h�ufigsten ge�ndert")

* Eine separate Change History Tabelle die so aussieht wie im ersten
L�sungsansatz dargestellt. Die aktiven Eintr�ge sind einfach greifbar,
Changes k�nnen leicht abgefragt werden, sogar UNION ist m�glich. (Auch der
letztge�nderte Eintrag wird hier dupliziert um zu wissen wer die letzte
�nderung verbrochen hat). Vorteil: die Produktionstabelle mu� nicht
angetascht werden.

... andere Ideen? Oder was w�rdet Ihr von den vorgestellten Ans�tzen
pr�ferieren?

Chris


_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse


_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an