Kapitel 9: Transaktionsverwaltung Flashcards
Beispiel für Transaktionsverwaltung
Wird als Einheit ausgeführt:
BOT
(read A,a)
a:= a - 50;
write (A,a);
read(B,b);
b:=b+50;
write (B,b);
Welche Operaitonen auf Transaktionsebene gibt es?
- BOT: Beginn of Transaction
- Commit: Beendigung von Transaktion wird eingeleitet. Alle Änderungen werden festgeschrieben.
- Abort: Selbstabbruch der Transaktion. DBS muss sicherstellen, dass Datenbasis wieder auf Zustand vor BOT zurückgesetzt wird.
Welche Erweiterte Operationen gibt es? Was machen diese?
- define savepoint: Punkt an den die (noch aktive) Transaktion zurückgesetzt wird. Bisherige Änderungen werden gemerkt, aber noch nicht festgeschrieben, da abort folgen kann. z.b. rollback to savepoint a.
- backup transaction: roll back to savepoint.
Wie kann eine Transaktion abgeschlossen werden?
- Erfolg: commit
- Abbruch: abort
Welche Eigenschaften haben Transaktionen?
-
Atomicity (Atomarität)
- Alles oder nichts
-
Consistency (Konsistenz)
- Konsistenter Zustand der DB
-
Isolation
- Jede Transaktion hat die DB für sich alleine
-
Durability
- Änderungen erfolgreicher Transaktionen dürfen nie verloren gehen
Einfluss von Zeitpunkt von commit in Transaktionen auf Konsistenz (Beispiel)
BOT
insert into Vorlesung
values (123, ‘Physik’, 3, 101)
insert into Professor
values (101, ‘Name’, ‘Raum’, 111)
commit
In diesem Fall funktionert es, da Vorlesung weiß, dass ein geeigneter Professor eingefügt wird. Würde es ohne TAK laufen, könnte dies Konsistenz nicht gewährleistet werden.