SQL - Die Sprache der relationalen Datenbanken
5. Datenmanipulation und Transaktionsmanagement
5.5 Das Transaktionskonzept

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 Lehrtext
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.