Sie sind auf Seite 1von 14

Fakultät für Informatik

Professur Datenverwaltungssysteme

Datenbanken Grundlagen
Übung 12, Thema 7:
Transaktionen
dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil A: Lösungen

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil B: Theorie

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

ACID-Prinzip

• Atomicity – Atomar
• ganz oder gar nicht
• Consistency – Konsistent
• nach Ende der Transaktion konsistentes DBMS
• Isolation – Isoliert
• keine gegenseitige Beeinflussung
• Durability – Dauerhaft
• permanente Effekte

4 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Ausführungsplan / Schedule

• Anordnung der Operationen von Transaktionen


• Konflikterkennung
• Operationen unterschiedlicher Transaktionen
• Zugriff auf dasselbe Datenobjekt
• darunter mindestens eine Schreiboperation
• Erzeugung eines Log für jedes Datenbankobjekt hilfreich
• zeitliche Folge von Datenbankoperationen auf einem Datenbankobjekt

• Prüfung auf Konfliktserialisierbarkeit


➔ Präzedenzgraph (precedence graph) erzeugen
• Erzeugung eines Knotens für jede Transaktion
• bei Konflikt Einfügen von Kante von älterer zu jüngerer Operation
• Beschriftung der Kante mit Datenbankobjekt
• wenn kein Zyklus existiert, ist Plan serialisierbar

5 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil C: Live

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1
Untersuchen Sie mit Hilfe eines Präzedenzgraphen, ob folgender
Schedule S serialisierbar ist!
T1 T2 T3 T4 T5
Read a
Read a
Write a
Read b
Read c
Read a
Read c
Write d
Write c
Read d
Read b
Write b
8 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 1
Musterlösung
Log: Log(a) Log(b) Log(c) Log(d)
R1 R2 R2 W3
R2 R5 R4 R5
W2 W2 W4
R3

T4
Präzedenzgraph: C

T1 A T2 A T3

B T5 D

Wegen des Zyklus T2 > T3 > T5 > T2 ist S nicht serialisierbar.


9 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

S1 S2 S3
Aufgabe 2
T1 Read A T1 Read A T1 Read A
T1 Write A T2 Read C T2 Read C
T2 Read C T2 Write C T2 Write C
T2 Write C T3 Read B T3 Read B
T3 Read B T4 Read D T4 Read D
T3 Write B T1 Write A T1 Write A
Sind die Schedules
T3 Read A T3 Write B T3 Write B
S1, S2 und S3 T3 Write A T5 Read C T5 Read C
T4 Read D T3 Read A T5 Read B
serialisierbar?
T4 Write D T5 Read B T4 Write D
T5 Read C T4 Write D T5 Read A
Nutzen Sie einen T5 Read B T3 Write A T5 Write A
Präzedenzgraphen! T5 Read A T5 Read A T6 Read A
T5 Write A T5 Write A T6 Write A
T6 Read A T6 Read A T3 Read A
T6 Write A T6 Write A T3 Write A
10 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 2 Log(A) Log(B) Log(C) Log(D) Log(A) Log(B) Log(C) Log(D)

Musterlösung R1 R3 R2 R4 R1 R3 R2 R4
W1 W3 W2 W4 W1 W3 W2 W4
Log:
R3 R5 R5 R5 R5 R5
W3 W5
R5 R6
W5 W6
R6 R3
Präzedenzgraph: W6 W3

T1 A T3 A/B T5 T1 A T5 A T6

S2: A S3: A
C C
B
T4 T2 T6 T4 T2 T3
S1 und S2 sind serialisierbar und S3 ist aufgrund T5 > T6 >T3 nicht
serialisierbar!

11 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3
Prüfen Sie, ob folgender Ausführungsplan serialisierbar ist!
T1 T2 T3
Read a
Write a
Write a
Write b
Read b
Write b

Aufgabe: Prüfen Sie mit Hilfe von einem Präzedenzgraph, ob folgende


Schedule S serialisierbar ist!

12 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Aufgabe 3
Musterlösung

Log(A) Log(B)
Präzedenzgraph: Log: R2 W3
B A W2 R2
T3 T2 T1 W1 W2

S ist serialisierbar, da keine Konflikte auftreten

13 www.tu-chemnitz.de/informatik/DVS
Fakultät für Informatik
Professur Datenverwaltungssysteme

Teil D: Hausaufgaben

dvs.informatik.tu-chemnitz.de

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS


Fakultät für Informatik
Professur Datenverwaltungssysteme

Nächste Woche:
PVL-Ausgabe
Probe-Klausur

Chemnitz ∙ 27.01.2021 ∙ Florian Hahn, Daniel Richter www.tu-chemnitz.de/informatik/DVS