transactions_Z Flashcards
Was ist eine Transaktion in SQL?
Eine Transaktion in SQL besteht aus einer Gruppe von SQL-Operationen, die als eine Einheit behandelt werden. Sie endet entweder mit COMMIT
(alle Änderungen werden auf die Datenbank angewendet) oder ROLLBACK
(alle Änderungen seit Beginn der Transaktion werden verworfen).
Warum sind Transaktionen im Bankwesen besonders wichtig?
Transaktionen sind wichtig, um Überlappungen bei Bankkontenoperationen zu vermeiden und die Integrität der Daten sicherzustellen. Ohne Transaktionen könnten mehrfach Geldabhebungen von verschiedenen Geldautomaten zu unautorisierten Überziehungen führen.
Welche Eigenschaften definiert eine Transaktion?
Eine Transaktion besteht aus einer Folge von Lese- und Schreiboperationen, hat einen definierten Anfang und ein definiertes Ende und transformiert die Datenbank von einem konsistenten Zustand in einen anderen.
Was bedeutet die ACID-Eigenschaft “Atomicity”?
Atomicity bedeutet, dass eine Transaktion immer entweder vollständig erfolgreich oder vollständig fehlerhaft ist. Es gibt keine teilweise erfolgreichen Transaktionen.
Was bedeutet die ACID-Eigenschaft “Consistency”?
Consistency garantiert, dass die Datenbank vor und nach einer Transaktion konsistent ist, d.h., alle definierten Regeln und Einschränkungen der Datenbank werden eingehalten.
Was bedeutet die ACID-Eigenschaft “Isolation”?
Isolation stellt sicher, dass Benutzer nicht bemerken, dass andere Benutzer gleichzeitig mit der Datenbank arbeiten. Jede Transaktion läuft so, als wäre sie die einzige in der Datenbank.
Was bedeutet die ACID-Eigenschaft “Durability”?
Durability garantiert, dass nach dem Ende einer Transaktion die Ergebnisse dauerhaft in der Datenbank gespeichert werden, selbst bei Systemausfällen.
Welche grundlegenden Transaktionsbefehle gibt es?
Die grundlegenden Transaktionsbefehle sind begin
, commit
und abort (rollback)
.
Welche zusätzlichen Transaktionsbefehle gibt es?
Zusätzliche Transaktionsbefehle umfassen define save point
und backup transaction
.
Was sind die Anforderungen an Transaktionen?
Transaktionen müssen die Wiederherstellung und Fehlersuche unterstützen, Integritätsprüfungen bestehen und die Synchronisation mehrerer Benutzer gewährleisten.
Was ist das “Lost Update” Problem bei Mehrbenutzerzugriffen?
Das “Lost Update” Problem tritt auf, wenn Updates von verschiedenen Benutzern verloren gehen, weil sie gleichzeitig auf dasselbe Datenbankobjekt zugreifen.
Was ist ein “Dirty Read”?
Ein “Dirty Read” liegt vor, wenn ein Benutzer unbestätigte Daten eines anderen Benutzers liest, die später möglicherweise zurückgerollt werden.
Was ist ein “Non-Repeatable Read”?
Ein “Non-Repeatable Read” tritt auf, wenn ein Benutzer in derselben Transaktion unterschiedliche Daten liest, weil sie von einer anderen Transaktion geändert wurden.
Was ist das “Phantom Problem”?
Das “Phantom Problem” tritt auf, wenn hinzugefügte oder entfernte Datensätze zu inkonsistenten Ergebnissen führen, weil eine Transaktion während der Ausführung neue Daten sieht, die vorher nicht vorhanden waren.
Was bedeutet Serialisierbarkeit in Bezug auf Transaktionen?
Serialisierbarkeit bedeutet, dass mehrere Transaktionen korrekte Ergebnisse erzeugen, wenn sie so ausgeführt werden, als ob sie nacheinander in einer seriellen Reihenfolge ausgeführt worden wären.