Sobes.tech
Junior

Warum werden Transaktionen in Datenbanken verwendet?

sobes.tech KI

Antwort von AI

Transaktionen gewährleisten die Atomarität, Konsistenz, Isolation und Dauerhaftigkeit (ACID) von Datenbankoperationen.

  • Atomarität: Alle Operationen in einer Transaktion werden vollständig ausgeführt oder gar nicht. Wenn eine Operation fehlschlägt, werden alle zurückgesetzt.
  • Konsistenz: Die Transaktion bringt die Datenbank von einem konsistenten in einen anderen Zustand. Verstöße gegen Einschränkungen (z.B. eindeutige Schlüssel) werden verhindert.
  • Isolation: Jede Transaktion wird so ausgeführt, als wäre sie die einzige im System. Änderungen, die eine Transaktion vornimmt, sind für andere erst nach Abschluss sichtbar.
  • Dauerhaftigkeit: Nach erfolgreichem Abschluss einer Transaktion werden ihre Änderungen gespeichert und gehen auch bei Systemausfällen nicht verloren.

Transaktionen sind wichtig, um die Integrität der Daten zu gewährleisten, insbesondere bei mehreren zusammenhängenden Operationen, die gemeinsam oder gar nicht ausgeführt werden sollen. Ein Beispiel ist die Überweisung von Geld von einem Sparkonto auf ein Girokonto.

-- Beginn der Transaktion
START TRANSACTION;

-- Abzug vom ersten Konto
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;

-- Wenn die vorherige Operation erfolgreich war, Gutschrift auf das zweite Konto
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

-- Überprüfung, ob beide Operationen erfolgreich waren und keine Fehler auftraten
-- IF Fehlerbedingung THEN
--   ROLLBACK; -- Alle Änderungen rückgängig machen
-- ELSE
--   COMMIT; -- Alle Änderungen bestätigen
-- END IF;

-- Angenommen, beide Befehle wurden erfolgreich ausgeführt, Beispiel
COMMIT; -- Transaktion bestätigen
-- ROLLBACK; -- Transaktion im Fehlerfall rückgängig machen