Zum Inhalt

Transaktionskonzept

Transaktionskonzept#

Unter Transaktion wird an dieser Stelle die Zusammenfassung aller notwendigen Einzeloperationen eines logisch geschlossenen Vorganges verstanden. Bei einer einzelnen Ist-Buchung können z.B. folgende Einzelaktionen notwendig sein:

  • Eintragen des BuchungssatzesVerwalten der ZeitbuchnummerAktualisieren der HaushaltsstelleAktualisieren des Kontogegenbuches u.m. Da diese Aktionen nur zeitlich nacheinander und nicht parallel ausgeführt werden, kann in kritischen Situationen (z.B. Stromausfall) der Zustand entstehen, dass ein Teil ausgeführt ist und vor dem Abschluss der letzten Aktivität der Abbruch der Verarbeitung erfolgt. In SASKIA®.de wird nun um solch einen Vorgang eine Transaktion gelegt und die Datenbank registriert jede nicht beendete Transaktion. Eine abgebrochene Transaktion wird zum frühestmöglichen Zeitpunkt auf den Zustand vor Beginn dieser Transaktion zurückgesetzt. Weiterhin verhindert das Transaktionskonzept in Zusammenhang mit weiteren Datenbankmechanismen, dass gleiche Datensätze gleichzeitig von mehreren Nutzern manipuliert werden.

Transaktion am Arbeitsplatz

Fällt bei einer Client/Server-Installation nur der Arbeitsplatz aus, z.B. durch Stromunterbrechung, wird die abgebrochene Transaktion sofort über den Datenbankserver auf den Ausgangszustand zurückgesetzt, eine Rückmeldung darüber erfolgt nicht, der Arbeitsplatz ist ja außer Betrieb.

Transaktionen am Server

Wird die Arbeit des Datenbankservers unterbrochen, sind alle begonnen und noch  nicht beendeten Transaktionen vermerkt. Wird der Datenbankserver wieder in Betrieb genommen, erfolgt durch die Datenbank zunächst ein Analyse über den aktuellen Zustand der Datenbank und für alle abgebrochenen Transaktionen wird die Datenbank über ein so genanntes Recovery auf den Zustand vor Beginn der Transaktion zurückgesetzt. Auch hier erfolgt nur eine Rückmeldung über die Bereitschaft der Datenbank und nicht über die einzelnen zurückgesetzten Transaktionen.

Aktivitäten durch die Anwender:

Bei einem unkontrollierten Abbruch der Arbeit am Arbeitsplatz muss der Anwender zum Zeitpunkt der Wiederaufnahme der Arbeit prüfen, ob die zuletzt gestartete Aktivität, z.B. eine gestartete und unterbrochene Buchung, abgeschlossen wurde oder nicht. Dabei werden die Transaktionen nicht mit Beginn der Dateneingabe in die einzelnen Felder einer Bildschirmmaske gestartet, sondern immer erst mit dem Abschicken dieser Daten über den Button "Übernehmen". Dabei bekommen eventuell entstandene Belegnummern, die nicht vollständig verbucht wurden, den Status "verworfen" und können somit nicht doppelt vergeben werden.

Dabei ist es für den Anwender ohne Belang, ob der Abbruch der Arbeit nur direkt am einzelnen Arbeitsplatz erfolgte oder zentral durch die Datenbank.