Grundlagen der Datenbanken
In einer Kontentabelle wird eine Transaktion gestartet, und ein UPDATE, das vom Saldo von Konto A 300 abzieht, sowie ein UPDATE, das zum Saldo von Konto B 300 addiert, werden ausgeführt. Danach wird statt COMMIT ein ROLLBACK ausgeführt. Was geschieht mit der Kontentabelle?
- ANur die Addition auf Konto B wird verworfen; der Abzug von Konto A bleibt bestehen
- BBeide UPDATEs werden verworfen, und die Tabelle kehrt in den Zustand vor Beginn der Transaktion zurück
- CDa die UPDATEs bereits ausgeführt wurden, wird keines von beiden verworfen
Antwort und Erläuterung anzeigen
Antwort: B. Beide UPDATEs werden verworfen, und die Tabelle kehrt in den Zustand vor Beginn der Transaktion zurück
Eine Transaktion ist ein Mechanismus, der eine Folge von Operationen auf einer Datenbank als eine Einheit behandelt. Innerhalb einer Transaktion vorgenommene Änderungen werden mit COMMIT dauerhaft und mit ROLLBACK sämtlich verworfen, sodass die Daten in den Zustand vor Beginn der Transaktion zurückkehren. Hier werden sowohl der Abzug von Konto A als auch die Addition auf Konto B verworfen, und beide Salden bleiben unverändert. Tritt mitten in einer Überweisung ein Fehler auf, sorgt ein ROLLBACK dafür, dass kein halbfertiger Zustand zurückbleibt, in dem nur ein Konto geändert ist. Um nur einen Teil zu verwerfen, kann man mit SAVEPOINT eine Markierung setzen und mit ROLLBACK TO SAVEPOINT dorthin zurückkehren.