Kurzdefinition
Eine Transaktion fasst Datenbankoperationen zu einer logischen Arbeitseinheit zusammen. COMMIT macht die Änderungen der aktuellen Transaktion dauerhaft. ROLLBACK verwirft nur solche noch nicht bestätigten Änderungen, die im jeweiligen System und Kontext tatsächlich rollback-fähig sind; implizite Commits oder nicht transaktionale Operationen können die Wirkung begrenzen.
Sicherer Änderungsworkflow
Die genaue Syntax für Transaktionsstart, Fehlerbehandlung und einzelne Sperroptionen ist produktabhängig. Entscheidend ist die fachliche Grenze der zusammengehörigen Änderungen.
Konzeptionelles Muster
BEGIN;
UPDATE konto
SET saldo = saldo - 100
WHERE id = 1;
UPDATE konto
SET saldo = saldo + 100
WHERE id = 2;
COMMIT;
Isolation und Parallelität
Isolation beschreibt, wie gleichzeitig laufende Transaktionen gegenseitige Zwischenzustände wahrnehmen beziehungsweise abschirmen. Konkrete Isolationsstufen, Sperren und Implementierungsdetails unterscheiden sich zwischen Datenbanksystemen.
Kritisch unterscheiden
- Eine DML-Anweisung ist nicht automatisch dasselbe wie eine vollständige Transaktion.
- ACID beschreibt Transaktionsprinzipien; konkrete Locking- und MVCC-Mechanismen sind Implementierungsdetails.
- ROLLBACK wirkt innerhalb der aktiven Transaktions- oder Savepoint-Grenze nur auf rollback-fähige Änderungen; produktabhängige implizite Commits oder nicht transaktionale Operationen können Ausnahmen bilden.
Typische Fehler und Missverständnisse
- Mehrere fachlich zusammengehörige Änderungen ohne bewusst definierte Transaktionsgrenze auszuführen.
- Autocommit-Verhalten als in jedem Client und Datenbanksystem identisch anzunehmen.
- Isolation nur als Performance-Thema statt auch als Korrektheitsfrage zu behandeln.
Praxisfall
Umbuchung zwischen zwei Konten
Eine Anwendung reduziert ein Konto und erhöht ein anderes. Zwischen beiden Änderungen tritt ein Fehler auf.
- Welche fachliche Transaktionsgrenze ist sinnvoll?
- Welche inkonsistente Situation soll verhindert werden?
- Welche produktbezogenen Einstellungen müssen zusätzlich geprüft werden?
Selbsttest
Verständnis prüfen
Transfer
Auf die eigene Praxis übertragen
Identifizieren Sie in einem Änderungsprozess den Punkt, an dem ein teilweiser Erfolg fachlich nicht akzeptabel wäre. Genau dort beginnt die Frage nach einer Transaktionsgrenze.
Weiterlernen
Verknüpfungen
Quellen, Prüfstand und Grenzen
Fachliche Nachvollziehbarkeit
- Quellen geprüft
- 2026-09-18
- Versionsrahmen
- Gemeinsamer SQL-Kern mit explizit gekennzeichneten Varianten für SQLite 3.53.4, PostgreSQL 18 und MySQL 8.4 LTS.
- Aussagebereich
- ACID und Transaktionsprinzipien werden gemeinsam vermittelt. Locking, affected rows und einzelne Syntaxformen werden je Datenbanksystem getrennt.
- Originalität
- Faktenbasis aus Primärquellen; Einordnung, Struktur, Beispiele, Selbsttests und Transfer sind eigenständige SemaTrain-Inhalte.
Grenzen
- Produktspezifische Syntax und Verhalten können sich zwischen SQLite, PostgreSQL und MySQL unterscheiden.
- Versionsabhängige Aussagen gelten für den im Quellenbereich ausgewiesenen Prüfstand.
Primärquellen
Norm-/Standardreferenz
ISO/IEC 9075
Version: ISO/IEC 9075-1:2023
Bezug: SQL-Framework, Begriffe und Standardkontext.
Projekt-Primärdokumentation
SQLite
Version: SQLite 3.53.4
Bezug: BEGIN, COMMIT, ROLLBACK und SQLite-Transaktionsverhalten.
Projekt-Primärdokumentation
SQLite
Version: SQLite 3.53.4
Bezug: changes() und weitere SQLite-Kernfunktionen.
Projekt-Primärdokumentation
PostgreSQL
Version: PostgreSQL 18
Bezug: BEGIN, COMMIT, ROLLBACK und SAVEPOINT.
Projekt-Primärdokumentation
PostgreSQL
Version: PostgreSQL 18
Bezug: UPDATE und RETURNING.
Projekt-Primärdokumentation
PostgreSQL
Version: PostgreSQL 18
Bezug: Row-level locks und explizites Locking.
Hersteller-Primärdokumentation
MySQL
Version: MySQL 8.4 LTS
Bezug: START TRANSACTION, COMMIT und ROLLBACK.
Hersteller-Primärdokumentation
MySQL
Version: MySQL 8.4 LTS
Bezug: SAVEPOINT, ROLLBACK TO SAVEPOINT und RELEASE SAVEPOINT.
Hersteller-Primärdokumentation
MySQL
Version: MySQL 8.4 LTS
Bezug: ROW_COUNT() und weitere Informationsfunktionen.
Hersteller-Primärdokumentation
MySQL / InnoDB
Version: MySQL 8.4 LTS
Bezug: SELECT FOR UPDATE und SELECT FOR SHARE.