# Transaktionen und das ACID-Prinzip

> Eine Transaktion fasst mehrere Datenbankoperationen zu einer Einheit zusammen, die entweder ganz oder gar nicht ausgeführt wird. Die vier ACID-Eigenschaften sichern das ab: Atomarität (ganz oder gar nicht), Konsistenz (nur gültige Zustände), Isolation (Transaktionen stören sich nicht) und Dauerhaftigkeit (bestätigte Änderungen bleiben erhalten).

**Autor:** Mr. Benjamin · **Beruf:** IT-Grundlagen
**Veröffentlicht:** 2026-09-21 · **Aktualisiert:** 2026-09-21
**Quelle:** https://yellowbluetech.de/blog/transaktionen-acid

---

Eine Überweisung besteht aus zwei Schritten: beim einen Konto abbuchen, beim anderen gutschreiben. Was passiert, wenn nach dem Abbuchen der Strom ausfällt? Genau dieses Problem lösen Transaktionen – und das ACID-Prinzip garantiert, dass Daten nie in einem halben Zustand hängenbleiben.

## Was ist eine Transaktion?

Eine Transaktion bündelt mehrere Operationen zu **einer unteilbaren Einheit**. Entweder werden **alle** ausgeführt oder **keine**.

```sql
BEGIN;
UPDATE konto SET saldo = saldo - 100 WHERE id = 1;
UPDATE konto SET saldo = saldo + 100 WHERE id = 2;
COMMIT;   -- bestätigt beide Schritte gemeinsam
```

> **Merksatz**
>
> **COMMIT** bestätigt die Transaktion endgültig, **ROLLBACK** macht alles seit `BEGIN` rückgängig. Geht mittendrin etwas schief, sorgt der Rollback dafür, dass **kein halber Zustand** übrig bleibt.

## Die vier ACID-Eigenschaften

| Buchstabe | Eigenschaft | Bedeutung |
| --- | --- | --- |
| **A** | Atomarität | ganz oder gar nicht – keine Teilausführung |
| **C** | Konsistenz | nur gültige, regelkonforme Zustände |
| **I** | Isolation | parallele Transaktionen stören sich nicht |
| **D** | Dauerhaftigkeit | bestätigte Änderungen bleiben (auch nach Absturz) |

Am Überweisungsbeispiel: **Atomarität** verhindert, dass nur abgebucht, aber nicht gutgeschrieben wird. **Konsistenz** sorgt dafür, dass die Summe stimmt. **Isolation** verhindert, dass eine gleichzeitige Abfrage den Zwischenstand sieht. **Dauerhaftigkeit** garantiert, dass das Geld auch nach einem Serverneustart angekommen ist.

> **Prüfungstipp**
>
> Die vier ACID-Begriffe **benennen und je mit einem Satz erklären** zu können, ist eine sehr häufige Aufgabe. Merke besonders **Atomarität** („ganz oder gar nicht") und **Isolation** (parallele Transaktionen beeinflussen sich nicht). Ein beliebtes Beispiel ist die Banküberweisung – nutze es zur Erklärung, dann sitzt die Antwort.

## Wozu der Aufwand?

> **Hinweis**
>
> Ohne Transaktionen könnte ein Absturz zwischen zwei Schritten Daten dauerhaft beschädigen – Geld verschwindet, Bestände stimmen nicht, ein Datensatz verweist ins Leere. Transaktionen und ACID machen die [Datenbank](/blog/was-ist-eine-datenbank) **verlässlich**, gerade wenn viele Nutzer gleichzeitig schreiben. Das ist einer der Gründe, warum man für wichtige Daten eine echte Datenbank nutzt und nicht einfach Dateien. Übrigens: DDL-Befehle wie [DROP oder TRUNCATE](/blog/ddl-dml-sql) lassen sich meist **nicht** per Rollback zurückholen – Transaktionsschutz greift vor allem bei den DML-Änderungen.

## Selbstkontrolle

**Frage:** Was besagt die Atomarität (das A in ACID)?

- [ ] Jede Transaktion läuft möglichst schnell.
- [x] Eine Transaktion wird ganz oder gar nicht ausgeführt.
- [ ] Daten werden automatisch komprimiert.
- [ ] Mehrere Nutzer dürfen nie gleichzeitig zugreifen.

**Erklärung:** Atomarität bedeutet: Eine Transaktion wird entweder vollständig oder gar nicht ausgeführt. Es gibt keinen halben Zustand – schlägt ein Schritt fehl, werden alle vorherigen Schritte per Rollback zurückgenommen.

## Häufige Fragen

### Was ist der Unterschied zwischen COMMIT und ROLLBACK?

COMMIT schließt eine Transaktion erfolgreich ab und macht alle Änderungen dauerhaft sichtbar. ROLLBACK bricht sie ab und stellt den Zustand von vor Beginn der Transaktion wieder her. Solange kein COMMIT erfolgt ist, sind die Änderungen für andere in der Regel nicht endgültig.

### Warum ist Isolation wichtig?

Weil in der Praxis viele Transaktionen gleichzeitig laufen. Ohne Isolation könnte eine Transaktion Zwischenstände einer anderen lesen und daraus falsche Schlüsse ziehen, etwa einen Kontostand, der gleich wieder zurückgerollt wird. Isolation sorgt dafür, dass jede Transaktion so arbeitet, als wäre sie allein.

### Was ist ein Deadlock?

Ein Deadlock entsteht, wenn zwei Transaktionen jeweils auf eine Sperre warten, die die andere hält – beide blockieren sich gegenseitig endlos. Datenbanken erkennen das und brechen eine der Transaktionen mit einem Rollback ab, damit die andere weiterlaufen kann. Gut geschriebene Anwendungen fangen diesen Fall ab und versuchen es erneut.

### Haben alle Datenbanken ACID?

Klassische relationale Datenbanken sind auf ACID ausgelegt. Manche NoSQL-Systeme lockern einzelne Eigenschaften zugunsten von Geschwindigkeit und Skalierbarkeit und bieten nur „eventual consistency". Für Geschäftsdaten, bei denen Korrektheit zählt, sind ACID-Datenbanken die sichere Wahl.

**Weiterlesen:** [SQL-Grundlagen: Daten mit SELECT abfragen](/blog/sql-grundlagen-select) · [SQL-JOINs erklärt: INNER JOIN und LEFT JOIN](/blog/sql-joins) · [Normalisierung: Datenbanken ohne Redundanz](/blog/normalisierung)

## Das Wichtigste in Kürze

- Eine **Transaktion** ist eine unteilbare Einheit: **ganz oder gar nicht**.
- **COMMIT** bestätigt, **ROLLBACK** macht rückgängig.
- **ACID**: **A**tomarität, **C**onsistenz, **I**solation, **D**auerhaftigkeit.
- Standardbeispiel: die **Banküberweisung**.
- Transaktionen machen Datenbanken **verlässlich** bei parallelem Zugriff und Abstürzen.
