Transaktionsverwaltung

Werbung
Informatik für Ökonomen II
Transaktionsverwaltung
Prof. Dr. Carl-Christian Kanne
Thursday, November 20, 2008
1
Transaktionsverwaltung
1. Lese den Kontostand von A in die Variable a:
read(A,a);
2. Reduziere den Kontostand um 50.- Euro:
a:= a – 50;
3. Schreibe den neuen Kontostand in die Datenbasis:
write(A,a);
4. Lese den Kontostand von B in die Variable b:
read(B,b);
5. Erhöhe den Kontostand um 50,- Euro:
b := b + 50;
6. Schreibe den neuen Kontostand in die Datenbasis:
write(B, b);
Thursday, November 20, 2008
2
Transaktionen
• Gruppierung von zusammengehörigen
Datenbankoperationen
• Transaktionsgrenzen durch Anwendung festgelegt
• Operationen
•
•
•
begin
commit: Transaktion festschreiben
abort: Transaktion rückgängig machen
Thursday, November 20, 2008
3
Transaktionseigenschaften
• Atomicity
•
Änderungen einer TA erfolgen “ganz oder gar nicht”
• Consistency
•
ACID
TA ist Transition zwischen konsistenten Zuständen
• Isolation
•
Jede Transaktion hat DB “für sich allein”
• Durability
•
Erfolgreiche Transaktionen gehen nie verloren
Thursday, November 20, 2008
4
Sicherungspunkte
• Weitere Operationen auf Transaktionsebene
•
•
define savepoint: Abschnitt markieren
backup transaction: Bis zum markierten Abschnitt
rückgängig machen
• Transaktion wird nicht beendet!
Thursday, November 20, 2008
5
Systemfehler
Absturz
T1
T2
t1
t2
t3
Zeitachse
Transaktionsbeginn und –ende relativ zu einem Systemabsturz
Thursday, November 20, 2008
6
Transaktionen in SQL
• commit [work]
•
Kann auch scheitern (ergibt Fehlercode + abort)
• rollback [work]
•
durch Anwendung veranlasster Abort
•
immer möglich
Thursday, November 20, 2008
7
Beispiel
insert into Vorlesungen
values (5275, `Kernphysik`, 3, 2141);
insert into Professoren
values (2141, `Meitner`, `C4`, 205);
commit work
Thursday, November 20, 2008
8
Herunterladen