Springe zum Inhalt oder Footer
SerloDie freie Lernplattform

Datenbanktransaktionen

Datenbankoperationen werden Transaktionen genannt. Eine Transaktion kann aus mehreren Befehlen bestehen; beispielsweise besteht eine Geldüberweisung aus zwei Befehlen: Der Betrag muss vom einen Konto abgezogen werden, und dann zum anderen Konto hinzugefügt werden.

Datenbanken nutzen meistens die ACID-Eigenschaften, um sicherzustellen, dass niemals Daten verloren gehen.

SQL

In SQL gibt es verschiedene Befehle, um Transaktionen zu verwenden:

BEGIN

Mit BEGIN wird eine Transaktion gestartet.

ROLLBACK

Mit ROLLBACK wird die begonnene Transaktion wieder rückgängig gemacht.

COMMIT

Mit COMMIT wird die Transaktion abgeschlossen, und kann nicht mehr rückgängig gemacht werden.

Beispiel

Auf einer Website möchte jemand einen Account erstellen. Dazu müssen wir Datensätze in 3 Tabellen einfügen. Dies fassen wir zu einer Transaktion zusammen:

BEGIN;

INSERT INTO nutzer (email, name, `alter`, geschlecht)
VALUES ("john@doe.de", "John Doe", 17, "m");

INSERT INTO adressen (email, plz, strasse, hausnummer)
VALUES ("john@doe.de", "12345", "Bachallee", "14b");

INSERT INTO social_media (email, name, url)
VALUES ("john@doe.de", "Facebook", "https://www.facebook.com/JohnDoe");

COMMIT;

Autocommit

Standardmäßig ist oft die Autocommit-Option aktiviert, sodass alle Anfragen sofort committed werden. Wenn man Transaktionen nutzen will, die aus mehreren Befehlen bestehen, muss man Autocommit deaktivieren.


Dieses Werk steht unter der freien Lizenz
CC BY-SA 4.0Was bedeutet das?