Was ist eine Transaktion?
Eine Transaktion ist eine von der Anwendung definierte Arbeitseinheit, die mit der Datenbank ausgeführt wird. Die Transaktion wird gestartet, Änderungen an der Datenbank werden vorgenommen, und dann wird die Transaktion übernommen oder rückgängig gemacht. Sobald die Transaktion übernommen wurde, werden die von der Transaktion vorgenommenen Änderungen für andere Benutzer und Anwendungen sichtbar.
Transaktionen besitzen die folgenden, nach deren Anfangsbuchstaben in der englischen Sprache auch als "ACID" bezeichneten Standardeigenschaften, auf die sich Benutzer und Anwendungen stützen:
Atomisch – Transaktion weisen ein "Alles-oder-Nichts"-Verhalten auf. Wenn sie übernommen werden, werden alle Änderungen auf die Datenbank angewendet. Wenn sie zurückgesetzt werden, wird keine der Änderungen angewendet.
Konsistent (Consistent) – Der konsistente Zustand einer Datenbank wird von Transaktionen nicht beeinträchtigt.
Isolierung – Bei Transaktionen können die Änderungen von anderen Transaktionen isoliert werden, bis sie übernommen werden. Andere Benutzer können die Daten in der Transaktion während deren Ausführung nicht einsehen.
Dauerhaft – Sobald eine Transaktion übernommen wurde, werden die Ergebnisse dauerhaft gespeichert.
Um diese Eigenschaften zu erreichen, verwenden Datenbankmanagementsysteme eine Vielzahl von Sperrmechanismen, mit denen sichergestellt wird, dass mehrere gleichzeitige Transaktionen gegeneinander abgeschirmt und voneinander isoliert sind.