Transaktionen und Integrität - Offene

Werbung
Wir bilden Zukunft.
Transaktionen und Integrität
Datenbanken
Wir bilden Zukunft.
Um was geht es hier?
Warum Transaktionen?
Was ist das Problem?
Wie kann man das Problem lösen?
Was sind Transaktionen?
Arbeiten ohne Transaktionen
– AUTO COMMT Mode
Arbeiten mit Transaktionen
Transaktionen und Fehlerfall
3. Januar 2017
Modul 8335 Datenbanken
Seite 2
Wir bilden Zukunft.
3. Januar 2017
Warum über Transaktionen reden?
Modul 8335 Datenbanken
-3-
Wir bilden Zukunft.
3. Januar 2017
Was ist das Problem?
Modul 8335 Datenbanken
-4-
Wir bilden Zukunft.
3. Januar 2017
Was ist die Lösung?
Modul 8335 Datenbanken
-5-
Wir bilden Zukunft.
Bisher AUTO COMMIT Mode
Checkbox bei H2
3. Januar 2017
Modul 8335 Datenbanken
-6-
Wir bilden Zukunft.
3. Januar 2017
Mit Transaktionen
Modul 8335 Datenbanken
-7-
Wir bilden Zukunft.
3. Januar 2017
Transaktionen & Fehlerfall
Modul 8335 Datenbanken
-8-
Wir bilden Zukunft.
3. Januar 2017
Was sind Transaktionen?
Modul 8335 Datenbanken
-9-
Wir bilden Zukunft.
3. Januar 2017
ACID
Modul 8335 Datenbanken
- 10 -
Wir bilden Zukunft.
Was muss ich wissen?
 INSERT , UPDATE und DELETE verändern die
Daten
 Eine Transaktion ist eine Folge von SQL Statements
und beginnt mit der ersten Anweisung
 Eine Transaktion wird entweder mit COMMIT oder
ROLLBACK beendet
 Eine READ-ONLY Transaktion verändert keine
Daten
 In einer Datenbank-Session kann nur eine
Transaktion zu einer Zeit stattfinden
 Transaktion in einer Transaktion ist nicht erlaubt
3. Januar 2017
Modul 8335 Datenbanken
- 11 -
Wir bilden Zukunft.
Was muss ich wissen?
 Transaktionen erlauben das Gruppieren von SQL
Anweisungen
 Entweder ALLE SQL Anweisungen in einer Gruppe
werden erfolgreich ausgeführt oder gar keine
 Arbeitet man im AUTO COMMIT Mode, dann wird
jede einzelne SQL Anweisung als eine Transaktion
ausgeführt
 Die Anzahl SQL Anweisungen in einer Transaktion
wird auch als Transaktionslänge bezeichnet
 Die Länge von Transaktionen hat Auswirkungen auf
die Performance (Antwortzeiten der Datenbank)insbesondere in Verbindung mit dem Isolation Level
(siehe Abschnitt Isolation Level)
3. Januar 2017
Modul 8335 Datenbanken
- 12 -
Wir bilden Zukunft.
Was muss ich wissen?
 ACID ist eine Abkürzung
 ACID steht für
– Atomicity
Transaktion ist atomar
– Consistency
Daten haben immer einen konsistenten Zustand
– Isolation
Ergebnis einer Transaktion ist immer erst nach „Commit“ für andere
sichtbar
– Durability
Daten werden erst bei einem „Commit“ dauerhaft gespeichert
3. Januar 2017
Modul 8335 Datenbanken
- 13 -
Herunterladen