|
Transaktionen |
|
|
24.02.2010 Transaktionen
Transaktionen sind vor allem beim schreibenden Zugriff auf Datenbanken unerlässlich. Denn während eines Speichervorgangs kann es theoretisch zu unzähligen, nicht vorhersehbaren und meistens nicht beeinflussbaren Fehlern kommen, u.a. Abbruch der Verbindung, konkurrierender Schreibzugriff, Datenbank-Fehler, Speicherüberlauf, Absturz des Clients etc. In jedem Fall ist der Abbruch eines laufenden Schreibzugriffs fatal, da dadurch der Datenbestand mehr oder weniger stark verfälscht wird. Die Ausführung eines Speichervorgangs als Transaktion ist dagegen völlig sicher. Kommt es während der Transaktion zu einem Fehler, wird die Transaktion vollständig rückgängig gemacht und ein sog. Rollback von der Datenbank durchgeführt. Darüber hinaus werden die betroffenen Daten für andere, schreibende Zugriffe erst dann wieder freigegeben, wenn die Transaktion abgeschlossen ist.
» Bessere Performance « Die Performance einer Software-Anwendung hängt häufig entscheidend von der Geschwindigkeit der Datenbank-Zugriffe ab. Bei jedem einzelnen Datenbank-Zugriff muss Ihre Anwendung immer eine neue Verbindung (Connection) zu zur Datenbank aufbauen. In der Praxis dauert der Verbindungsaufbau meistens sogar wesentlich länger, als die eigentliche Datenübertragung. Um bei mehreren, unmittelbar nacheinander folgenden Datenbank-Zugriffen nicht unnötige Zugriffszeiten für vielfaches Konnektieren zu verlieren, können Sie entsprechend aufeinander folgende Datenbank-Zugriffe zu einer Transaktion zusammenfassen. Bei der Transaktion bleibt die Verbindung während der gesamten Ausführung des Transaktionsblocks offen und wird erst am Ende der Transaktion automatisch wieder geschlossen.
» Transaktion als Kontrollstruktur « In XDEV 2 ist der Einsatz von Transaktionen simpel, denn XDEV 2 bietet Ihnen dafür eine eigene Kontrollstruktur, die mit dem Schlüsselwort
» Verschachtelte Transaktionen « Transaktionen lassen sich im Code-Editor zwar ineinander verschachteln, intern ist dies jedoch immer nur 1 Transaktion. Mit einer Verschachtelung kann jedoch ggf. eine bessere Übersicht im Code erreicht werden.
Basiswissen: Datenbankabfragen.
|