Eine Transaktion bündelt mehrere Datenbank-Operationen zu einer logischen Einheit, die entweder komplett ausgeführt oder komplett verworfen wird. Dadurch bleiben Datenbestände auch bei Fehlern oder parallelen Zugriffen konsistent. Transaktionen sind das Fundament der ACID-Eigenschaften relationaler Datenbanken.

BEGIN, COMMIT und ROLLBACK

Eine Transaktion läuft in drei Schritten ab:

  • BEGIN startet die Transaktion.
  • COMMIT macht alle Änderungen endgültig (dauerhaft).
  • ROLLBACK verwirft alle Änderungen seit dem BEGIN.
BEGIN;
INSERT INTO bestellungen (kunde, artikel) VALUES (7, 'Laptop');
UPDATE lager SET menge = menge - 1 WHERE artikel = 'Laptop';
COMMIT;

Schlägt das UPDATE fehl, rollt ROLLBACK auch das INSERT zurück — es entsteht keine halbe Bestellung ohne Lagerabzug.

Warum Transaktionen wichtig sind

Ohne Transaktionen können zusammengehörige Operationen teilweise durchlaufen: Ein Geldtransfer, bei dem nur der Abzug gespeichert wird, die Gutschrift aber nicht, führt zu falschen Kontoständen. Transaktionen verhindern genau solche Inkonsistenzen — auch wenn zwei Benutzer gleichzeitig auf dieselben Daten zugreifen (Isolation).

Die Integrität zwischen Tabellen sichern außerdem Primär- und Fremdschlüssel. Wie man Abfragen über mehrere Tabellen aufbaut, zeigen die SQL-JOINs.