title image


Smiley Trace-Tabellen, Logging, Logstruktur, Änderungsüberwachung
Ich sehe eigentlich gar keine sinnvolle Möglichkeit, das schlüssig nachzuvollziehen. Denn das ganze kann beliebig komplex sein, bei deinem Beispiel mit den simplen 3 Tabellen mit lediglich zwei cas-Verbindungen ist es noch einfach, aber sobald du das mit 50 unterschiedlichen Tabellen mit -zig solchen Verbindungen machst, kannst du das nicht mehr handlen.

Denn wenn eine Tabelle von 2 unterschiedlichen Tabellen abhängig ist - natürlich über unterschiedliche Felder -, dann hilft dir deine simple LOG-Tabelle nicht mehr.



Ich habe mich dafür entschieden, für diese Anforderung einfach eine zusätzliche LOG-Tabelle pro "zu überwachender Tabelle" zu erzeugen. Diese Tabelle T$tabellenname (Tracing) hat drei zusätzliche Felder:

trace_timestamp, trace_action, trace_sequence.



trace_timestamp ist wohl klar . trace_action hat die Infos Insert, Update und Delete. Ich überwache also nicht nur das DELETE, sondern eben auch andere Ereignisse.



trace_sequence wird aus einer SEQUENCE (eine für alle T$tables) gefüllt. Es kommt nämlich öfters mal vor, dass in meinen Anlagen mehrere Updates innerhalb weniger Millisekunden passieren, da kann man dann zusätzlich zum Timestamp noch über die Sequence sortieren, denn die Nummern werden innerhalb einer Sekunde eigentlich immer aufsteigend vergeben (zumindest für meine Zwecke sicher genug).



Wenn ich also im Nachhinein herausbekommen will, über welche Schiene etwas gelöscht wurde, erfordert es doch eingehende Kenntnis des DB-Schemas.



Übrigens ist in den Tabellen, so wie ich sie standardmäßig erstelle, auch immer eine Spalte "last_changed_by" und eine "last_changed_timestamp". Letztere bräuchte ich eigentlich nicht mehr, da über das Tracing mehr Info herauszubekommen ist. Aber die "last_changed_by" wird bei jedem Insert/Update/Delete (naja, klar, in einem kleinen Update davor) beschrieben und enthält den Namen des löschenden Programmes oder der Maske.



Grüße

Saluk



diu vive floreque.
Spockus

erreicht am 04.03.2008 09:47:23

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: