Einleitung
Abfrage von Datenbanken
Erstellen von Datenbanken
Administration von Datenbanken
Datenbankprogrammierung

Transaktions-Level

Transaktion im Mehrbenutzerbetrieb

Bisher haben wir gesehen, wie wir eine Transaktion starten und beenden können – für einen Nutzer. Was jedoch ist, wenn viele Nutzer gleichzeitig auf den Server zugreifen und Daten ändern? Wir müssen bedenken, dass die Nutzer nichts voneinander wissen. Jeder denkt, er ist der Einzige. Die parallele Änderung von Daten kann zu Problemen führen. Zum Beispiel könnten zwei Nutzer gleichzeitig den Preis eines Buches ändern sollen. Welcher Preis wird denn dann final gespeichert?  Oder denken wir an das Eintragen eines neues Buches. Und wenn nun ein Nutzer seine Änderung rückgängig macht, welcher Preis steht dann in der Tabelle? 

Level 1: Read uncommitted

Bei diesem Level werden alle Änderungen – auch die nicht bestätigten – sofort allen anderen Usern angezeigt. 

Bestätigt bedeutet: Autocommit hat den Wert 1 

Unbestätigt bedeutet: Die SQL-Anweisung kann noch mit Rollback rückgängig gemacht werden. 

Level 2: Read Committed

Bei diesem Level werden nur bestätigte Transaktionen den anderen Usern angezeigt. 

Alle Nutzer müssen mit Aufbau einer Client-Verbindung eine Transaktion starten. Alle Aktivitäten während der Transaktion werden nur lokal angezeigt, aber sobald ein User seine Transaktion bestätigt, erhalten aller anderen Nutzer die neuen Daten. 

Level 3: Repeatable Read

Das ist die Standardeinstellung. 

Hier werden dem Nutzer keine Änderungen der Daten durch andere Nutzer angezeigt, auch wenn diese bestätigt wurden. Dadurch hat der Nutzer genau das Abbild der Daten, welches zum Beginn seiner Verbindung zum Server bestand. 

Level 4: Serializable

In diesem Fall kann kein paralleler Zugriff auf die Daten einer Tabelle erfolgen. Vielmehr erfolgt ein sequentieller Zugriff. Derjenige, welcher zuerst auf die Daten einer Tabelle zugreift, hat das exklusive Recht für die Tabelle. Die anderen User müssen warten. 

Cookie Consent Banner von Real Cookie Banner