Diplomprüfung Datenbanksysteme (01665)

Datum: 02.03.99

Prüfer: Prof. Dr. Schlageter

Note: 1.0

Dauer: ca. 15 min

Welche Grundoperationen hat die Relationenalgebra?
Vereinigung, Differenz, Kart. Produkt, Projektion, Selektion
 
Was ist ein Join?
Definition + Darstellung durch Grundoperationen

Welchen Operationen in der Relationenalgebra entspricht ein SQL-Befehl?
SELECT -> Projektion
FROM   -> kart. Produkt
WHERE  -> Selektion

Wie stellt man einen Join in SQL dar?
Man nutzt Darstellung durch Grundoperationen der Relationenalgebra aus.

Was macht man bei einem Speicherfehler?
Neue Platte kaufen, Recovery: Dump einspielen, Informationen aus Logfile, soweit noch vorhanden, einspielen.

Welche Informationen aus dem Log braucht man?
After-Images der abgeschlossenen Transaktionen.
 
Wann werden diese geschrieben?
Wenn eine Transaktion COMMIT ausführen will.
 
Das kann man auch dann machen, wenn die Daten geändert werden. Wie läuft das dann mit dem Recovery?
Einspielen der After-Images abgeschlossenen Transaktionen.
 
Wie funktionieren optimistische Synchronisationsverfahren?
Arbeits-, Validierungs- und Schreibphase  erklärt.
 
Was geschieht genau in der Validierungsphase?
Abhängigkeitsgraph erstellen und auf Zyklus prüfen ...
 
Das geht noch einfacher.
Prüfen, ob die Objekte, die die Transaktion gelesen hat, von anderen Transaktionen geändert wurden.
 
Kann ein Deadlock auftreten?
Nein, bei optimistischen Verfahren nicht, da ja nicht gewartet wird.
 
Sperrverfahren, was versteht man unter Sperrhierarchie?
Sperrhierarchien und Intensionssperren erklärt.
 
Was weiß man, wenn eine Relation gesperrt ist?
Man darf in einer höheren Hierarchiestufe keine Sperre mehr setzen.
 
Was passiert bei einem Deadlock?
Man muß ihn erkennen und auflösen. Time-Out-Verfahren und Deadlockerkennung mit Hilfe des Wartegraphen erklärt.
 
Wann ist eine Transaktion "billig"?
Wenn ihr Abbruch und Neustart am wenigsten kostet, d.h. am wenigsten Datenbankzugriffe und CPU-Zeit beansprucht. Kein oder wenig fortgepflanzter Rollback.
 
Wann muß man fortgepflanzten Rollback machen?
Wenn die abgebrochene Transaktion das ACID-Prinzip verletzt (Isolation). Andere Transaktionen konnten die Änderungen der Transaktion schon lesen und müssen daher auch abgebrochen werden.
 
In der Praxis wird das vermieden, wie?
Verhindern, daß andere Transaktionen Zwischenergebnisse sehen können.Transaktionen arbeiten auf privaten Speicherbereichen. Erst mit COMMIT sind die Änderungen für andere Transaktionen sichtbar.