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.