Kennzeichen einer Transaktion (1 von 2)
Erinnern Sie sich noch an das Transaktionsbeispiel aus Kapitel 2.3? Wir möchten nun etwas systematischer und ausführlicher an das Thema herangehen.

Definition
Im Standard wird festgelegt: "Eine SQL-Transaktion kann (...) nicht explizit
beendet werden. Wenn die Ausführung eines atomaren SQL-Statements nicht erfolgreich
ist, dann werden die Änderungen an SQL-Daten oder -schemata, die durch das SQL-Statement
gemacht wurden, zurückgenommen. (An SQL-transaction cannot be explicitly terminated
within an atomic execution context. If the execution of an atomic SQL-statement
is unsuccessful, then the changes to SQL-data or schemas made by the SQL-statement
are canceled.)" Das bedeutet: Das Ergebnis der Ausführung ist entweder vollständig
erfolgreich oder hat keinerlei Effekt auf irgendein SQL-Schema oder auf SQL-Daten.
Im Allgemeinen werden Transaktionen fünf Eigenschaften zugeordnet, die zur besseren
Merkbarkeit mit dem Akronym ACID (engl. für: Säure) bezeichnet werden. Gerade
bei solchen sprachlich verdichtet dargestellten Konzepten ist eine Übersetzung
nicht ganz einfach. Es besteht die Gefahr, dass man unzulässige semantische Einengungen
oder Erweiterungen der Begriffe macht (Beispiel: Der englische Begriff instance heißt auch Instanz, aber eben auch Ausprägung und Beispiel. Er wird mit dem deutschen Instanz meist falsch übersetzt):
- A Atomicity: engl. für: Atomarität, Atomzahl im Molekül
- C Consistency: engl. für: Konsistenz, Folgerichtigkeit, Übereinstimmung
- I Isolation: engl. für: Isolation, Entkopplung, Abriegelung
- D Durability: engl. für: Dauerhaftigkeit, Lebensdauer, Widerstandsfähigkeit
Wir werden deshalb im Folgenden die englischen Begriffe benutzen. Gehen wir nun
die einzelnen Bestandteile durch:
- A für Atomicity bedeutet, dass die Bestandteile einer Transaktion als eine unteilbare Gruppe gesehen werden. Die Gruppierung ist so gewählt, dass eine weitere Aufteilung zu falschen Daten führen könnte/würde. Im Allgemeinen ist es Ihre Aufgabe und nicht die des Datenbankmanagementsystems festzulegen, welche Anweisungen zu einer unteilbaren Gruppe gehören. Diese Entscheidung treffen Sie anhand der Erfordernisse des Unternehmens, für das ein Datenbanksystem arbeitet.
- C für Consistency bedeutet, dass die Datenbank vor und nach der Transaktion in einem sinnvollen/konsistenten Zustand ist. Dieser Zustand hat in der Regel eine Entsprechung in der Wirklichkeit. Bei der Konto-Transaktion auf der nächsten Seite oder in Kapitel 2.3 ist die Datenbank nach Be- und Entlastung in einem konsistenten Zustand, nach einer Entlastung ohne Belastung nicht.
- I für Isolation bedeutet, dass konkurrierende Transaktionen keinen Einfluss aufeinander haben. Zwei Transaktionen, die einen Kontostand verändern, können z.B. nur nacheinander ausgeführt werden.
- D für Durability bedeutet, dass die Datenänderung nach Ende der Transaktion dauerhaft ist. Hard- oder Softwarefehler, die durch Recovery behoben werden, führen (idealerweise) nicht zu einem Zustand, wie er vor Beginn der Transaktion vorlag.