Nenne die 3 Abstraktionsebenen (Sichten) eines Datenbanksystems und deren Ziele!
1. Konzeptionelle Datensicht:
- logische Gesamtsicht aller Daten
- Ankerpunkt des DB-Entwurfs
- Ziel: stabiler Bezugspunkt
2. interne Datensicht:
- pysische Datenorganisation, tatsächliche Speicherung der Daten
- Zugriffspfade
- Ziel: Festlegung für Benutzergemeinschaft, Zugriffshäufigkeiten
3. externe Datensicht:
- Benutzerschnittstelle
- logische Sichten einzelner Benutzergruppen auf Teile der DB
- Zugriffsschutz
- logische Gesamtsicht aller Daten
- Ankerpunkt des DB-Entwurfs
- Ziel: stabiler Bezugspunkt
2. interne Datensicht:
- pysische Datenorganisation, tatsächliche Speicherung der Daten
- Zugriffspfade
- Ziel: Festlegung für Benutzergemeinschaft, Zugriffshäufigkeiten
3. externe Datensicht:
- Benutzerschnittstelle
- logische Sichten einzelner Benutzergruppen auf Teile der DB
- Zugriffsschutz
Nennen Sie die Probleme bei redundanten Tabellen! (Mutationsanomalien)
1. Änderungsanomalie:
Ändert Lieferant seinen Name, muss er in allen Tupeln verändert werden
2. Löschanomalie:
Werden alle Zeilen mit Bestellungen eines Lieferanten gelöscht, geht auch Info über Lieferanten verloren
3. Einfügeanomalie
Solange ein Lieferant keine Bestellung gemacht hat, ist er nicht in Tabelle
Ändert Lieferant seinen Name, muss er in allen Tupeln verändert werden
2. Löschanomalie:
Werden alle Zeilen mit Bestellungen eines Lieferanten gelöscht, geht auch Info über Lieferanten verloren
3. Einfügeanomalie
Solange ein Lieferant keine Bestellung gemacht hat, ist er nicht in Tabelle
Was bedeutet ACID und warum brauch eine Transaktion dieses Prinzip?
Atomicity: ganz oder gar nicht
Consistency: nach Beendigung wird ein konsistenter Datenzustand hinterlassen, falls die Datenbank davor auch konsistent war
Isolation: Verhindert, dass sich nebenläufig in Ausführung befindliche Daten-Operationen gegenseitig beeinflussen
Durability: Daten werden nur nach dem erfolgreichen Abschluss einer Transaktion garantiert dauerhaft in der Datenbank gespeichert
--> garantiert jedem Anwender konsistente Datenbestände; bei zwischenzeitlicher Inkonsistenz ist diese nach außenhin unsichtbar und wird bei einem Fehler rückgängig gemacht.
Consistency: nach Beendigung wird ein konsistenter Datenzustand hinterlassen, falls die Datenbank davor auch konsistent war
Isolation: Verhindert, dass sich nebenläufig in Ausführung befindliche Daten-Operationen gegenseitig beeinflussen
Durability: Daten werden nur nach dem erfolgreichen Abschluss einer Transaktion garantiert dauerhaft in der Datenbank gespeichert
--> garantiert jedem Anwender konsistente Datenbestände; bei zwischenzeitlicher Inkonsistenz ist diese nach außenhin unsichtbar und wird bei einem Fehler rückgängig gemacht.
Was ist der Präzedenzgraph?
Kriterium für Serialisierbarkeit
Der Präzedenzgraph zu einem Ablauf S ist ein gerichteter Graph
GS mit
(1) den Knoten T1,T2, . . . für jede Transaktion Ti
in S
(2) den Kanten Ti --> Tj falls Ti und Tj konfligierende Aktionen
haben, bei denen die Aktion in Ti vor der in Tj
in S vorkommt.
Der Präzedenzgraph zu einem Ablauf S ist ein gerichteter Graph
GS mit
(1) den Knoten T1,T2, . . . für jede Transaktion Ti
in S
(2) den Kanten Ti --> Tj falls Ti und Tj konfligierende Aktionen
haben, bei denen die Aktion in Ti vor der in Tj
in S vorkommt.
Was ist C2PL? Vor-Nachteile
Conservative 2-Phase-Locking
- vor der Transaktion werden alle Daten gesperrt, auf die in der Transaktion zugegriffen werden
- Vorteil: es wird gewartet bis alle Datensätze verfügbar sind, bis die Transaktion Beginnt, somit entstehen keine Deadlocks/Verklemmungen während der Transaktion
- Nachteil: höhere Wartezeit
- vor der Transaktion werden alle Daten gesperrt, auf die in der Transaktion zugegriffen werden
- Vorteil: es wird gewartet bis alle Datensätze verfügbar sind, bis die Transaktion Beginnt, somit entstehen keine Deadlocks/Verklemmungen während der Transaktion
- Nachteil: höhere Wartezeit
Was ist der WFG- Algorithmus (Wait-for-graph)?
Ein Algorithmus, der die Zyklen im Wartegraphen analysiert um gegenseitige Behinderung zu erfassen.
Eine Wartegraph, ist der Graph der zeigt wie Transaktionen auf andere warten. Entsteht ein Zyklus im Wartegraph spricht man von einem Deadlock.
Eine Wartegraph, ist der Graph der zeigt wie Transaktionen auf andere warten. Entsteht ein Zyklus im Wartegraph spricht man von einem Deadlock.
Was macht das optimistische Verfahren bei Verklemmungen?
Was sind Vor/Nachteile?
Was sind Vor/Nachteile?
- nimmt Konflikte in Kauf, setzt keine Sperren
- behebt diese durch zurücksetzen der Transaktion, die den Konflikt ausgelöst hat im nachhinein
-Vorteil: verkürzte Wartezeiten, hoher Grad an Parallelität
-Nachteil: nur solange "Gut" bis 10% Kollisionen, danach ist Rücksetzungszeit größer als die gesparte Wartezeit
- behebt diese durch zurücksetzen der Transaktion, die den Konflikt ausgelöst hat im nachhinein
-Vorteil: verkürzte Wartezeiten, hoher Grad an Parallelität
-Nachteil: nur solange "Gut" bis 10% Kollisionen, danach ist Rücksetzungszeit größer als die gesparte Wartezeit
Flashcard set info:
Author: @destructive_influen...
Main topic: Datenbanken, MySQL
Topic: Datenbank-Entwurf
School / Univ.: DHBW Stuttgart
City: Stuttgart
Published: 27.04.2016
Tags: Weickert
Card tags:
All cards (29)
no tags