transactions_Z Flashcards

1
Q

Was ist eine Transaktion in SQL?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Warum sind Transaktionen im Bankwesen besonders wichtig?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Eigenschaften definiert eine Transaktion?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was bedeutet die ACID-Eigenschaft “Atomicity”?

A

Atomicity bedeutet, dass eine Transaktion immer entweder vollständig erfolgreich oder vollständig fehlerhaft ist. Es gibt keine teilweise erfolgreichen Transaktionen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was bedeutet die ACID-Eigenschaft “Consistency”?

A

Consistency garantiert, dass die Datenbank vor und nach einer Transaktion konsistent ist, d.h., alle definierten Regeln und Einschränkungen der Datenbank werden eingehalten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was bedeutet die ACID-Eigenschaft “Isolation”?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was bedeutet die ACID-Eigenschaft “Durability”?

A

Durability garantiert, dass nach dem Ende einer Transaktion die Ergebnisse dauerhaft in der Datenbank gespeichert werden, selbst bei Systemausfällen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche grundlegenden Transaktionsbefehle gibt es?

A

Die grundlegenden Transaktionsbefehle sind begin, commit und abort (rollback).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche zusätzlichen Transaktionsbefehle gibt es?

A

Zusätzliche Transaktionsbefehle umfassen define save point und backup transaction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind die Anforderungen an Transaktionen?

A

Transaktionen müssen die Wiederherstellung und Fehlersuche unterstützen, Integritätsprüfungen bestehen und die Synchronisation mehrerer Benutzer gewährleisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist das “Lost Update” Problem bei Mehrbenutzerzugriffen?

A

Das “Lost Update” Problem tritt auf, wenn Updates von verschiedenen Benutzern verloren gehen, weil sie gleichzeitig auf dasselbe Datenbankobjekt zugreifen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist ein “Dirty Read”?

A

Ein “Dirty Read” liegt vor, wenn ein Benutzer unbestätigte Daten eines anderen Benutzers liest, die später möglicherweise zurückgerollt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist ein “Non-Repeatable Read”?

A

Ein “Non-Repeatable Read” tritt auf, wenn ein Benutzer in derselben Transaktion unterschiedliche Daten liest, weil sie von einer anderen Transaktion geändert wurden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist das “Phantom Problem”?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was bedeutet Serialisierbarkeit in Bezug auf Transaktionen?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist Konfliktserialisierung?

A

Konfliktserialisierung bezieht sich auf die Reihenfolge der Ausführung von Konfliktoperationen. Zwei Operationen sind im Konflikt, wenn sie auf dasselbe Datenbankobjekt zugreifen und mindestens eine davon eine Schreiboperation ist.

17
Q

Was ist ein Konfliktgraph?

A

Ein Konfliktgraph hilft zu prüfen, ob ein Zeitplan konfliktserialisierbar ist. Ein Zeitplan ist konfliktserialisierbar, wenn der Konfliktgraph azyklisch ist.

18
Q

Was bedeutet Fehlerresistenz bei Transaktionen?

A

Fehlerresistenz bedeutet, dass ein Zeitplan Transaktionen abbrechen kann, ohne andere Transaktionen zu beeinflussen. Kriterien dafür sind: Recoverable, Avoid Cascading Aborts und Strictness.

19
Q

Was bedeutet “Recoverable” in Bezug auf Transaktionen?

A

Recoverable bedeutet, dass eine Transaktion nur committen kann, wenn alle Transaktionen, von denen sie gelesen hat, auch committed sind.

20
Q

Was bedeutet “Avoid Cascading Aborts”?

A

Avoid Cascading Aborts bedeutet, dass schneeballartige Abbrüche vermieden werden, indem verhindert wird, dass Transaktionen unbestätigte Daten (Dirty Reads) lesen.

21
Q

Was bedeutet “Strictness” bei Transaktionen?

A

Strictness bedeutet, dass eine Transaktion keine Daten von anderen nicht-committen Transaktionen lesen oder modifizieren darf.

22
Q

Was sind optimistische Methoden zur Sicherstellung von Serialisierbarkeit und Fehlerresistenz?

A

Optimistische Methoden überprüfen die Serialisierbarkeit beim Commit, indem sie die Transaktionen in einer temporären Umgebung ausführen und erst am Ende überprüfen, ob Konflikte auftreten.

23
Q

Was sind pessimistische Methoden zur Sicherstellung von Serialisierbarkeit und Fehlerresistenz?

A

Pessimistische Methoden verwenden Sperren oder Zeitstempel, um die korrekte Reihenfolge der Transaktionen sicherzustellen und Konflikte zu vermeiden.

24
Q

Was ist Multi-Version Concurrency Control (MVCC)?

A

Multi-Version Concurrency Control (MVCC) ist eine Methode, bei der verschiedene Versionen der Datenbank verwaltet werden, um parallele Zugriffe ohne Konflikte zu ermöglichen. Benutzer sehen stets konsistente Schnappschüsse der Datenbank.