Eine Rechnung durchläuft einen defnierten Prozess. Dabei soll bspw. an 6 Stellen in eine Log-DB geschrieben werden.
ReceiveDateiname - Archived - DocNr - Converted - Mail to test@test.de - ProcessEndsOk
Eine weitere Rechnung durchläuft einen leicht abgewandelten Prozess:
ReceiveDateiname - DocNr - Converted - SendPerMail to test@test.de - ProcessEndsNotOk
Die Datenbank soll so konzipiert sein, dass die Reihenfolge der Einträge pro Prozess wiederherstellbar ist. D.h. die Chronolgie ist wichtig. Des Weiteren soll jeder Eintrag mit seiner Eintragungszeit in die DB gespeichert werden.
Außerdem soll in der Spalte DocNr stets auch nur die DocNr stehen, um bspw Sortierungen zu gewährleisten. Daher war mein Gedanke jeden Logeintrag als Tripel zu sehen: Eintrag, Datum, Counter des Eintrags für diesen Prozess.
Bspw. hat DocNr in meinen 2 Beispielen einmal den Counter 3 und einmal 2.
Veranschaulichung: (erste Zeile = Spaltenname)
PROZESS_ID STEP_COL1 DATE_COL1 FILENAME STEP_COL2 DATE_COL2 ARCHIVE STEP_COL3 DATE_COL3 DOCNR .... ProcessEndsOk
qwewr3_ew 1 201003021012 a.txt 2 201003021013 CORON 3 201003021014 43554667 .... 1
edfddd_re 1 201004021016 b.txt 2 201004021017 43554668 .... 0
Der Counter gewährleistet, dass die Chronologie wiederhergestellt werden kann.
Eine ganz andere Konzeptionsmöglichkeit wäre die Einträge in einer Spalte untereinander zu schreiben:
Veranschaulichung:
PROZESS_ID STEP_COL DATE DESCRIPTION CONTENT
qwewr3_ew 1 201003021012 FILENAME a.txt
qwewr3_ew 2 201003021013 ARCHIVE CORON
qwewr3_ew 3 201003021014 DOCNR 43554667
edfddd_re 1 201004021016 FILENAME b.txt
edfddd_re 2 201004021017 DOCNR 43554668
Bei diesem Ansatz ist die Chronologie leichter herzustellen, aber man kann nicht mal eben nach der DocNr sortieren, oder Teilmengen heraussuchen. Eine Teilmenge ist z.B. "Nur die erfolgreich beendeten Prozesse". Letzlich brauche ich ein Konzept, dass
leicht das Finden von Teilmengen erlaubt.
Ihr könnt mir gern widersprechen, einen ganz anderen Weg zeigen.... . Mir geht es in erster Linie um Entwurfshilfe.
Die auftretenden Prozessmengen können 7 stellig werden, bevor zum ersten mal eine zeitgesteuerte Rotation in Kraft tritt.