GDB Klausur 19.02.07 - Gefühle & Gedächtnisprotokoll
2007-02-18 15:10
f0k
Mal allgemein: Die Klausur war schwerer als erwartet, besonders vom Zeitaufwand. Sie kommt zwar nicht an den Aufwand der AD-Klausur heran (zumindest bei mir… in GDB hab ich zumindest überall was stehen), aber sie war schon arg zeitkritisch, in etwa so wie die Matheklausuren sonst.
Das Gedächtnisprotokoll ist jetzt nicht soo wichtig, da wir noch Einsicht in die Klausuren erhalten werden [img]http://www.fb18.de/gfx/14.gif[/img] - ich fang trotzdem mal an.
1. Aufgabe, 20 Punkte:
Textuelle Beschreibung eines Krankenhauses, umsetzen in ein ER-Diagramm.
2. Aufgabe, 5 oder 10 Punkte?:
ER-Diagramm (mit Studenten, Aktionen und Organisationen und Relationen dazwischen - jede Organisation hat einen Gründer und mehrere Mitglieder, jede Aktion hat einen Organisator und mehrere Teilnehmer). Umsetzen ins Relationenmodell.
3. Aufgabe:
- Was sind die Basisoperatoren der Relationenalgebra? (alle möglichen Operatoren angegeben, nur die Basis (eine Basis? oder *die* Basis? darüber haben wir nach der Klausur kurz diskutiert) ankreuzen.
- Natürlichen Verbund zwischen zwei Relationen R(A,B,C,D,E) und S(A,B,X,E,Y,Z) mittels der Basisoperatoren ausdrücken.
- Anfrage auf die Relation aus Aufgabe 2: Welche Studenten haben an der Aktion "Störung der Amtseinführung der Uni-Präsidentin 2007" teilgenommen?
4. Aufgabe:
Relation gegeben in 1NF.
- Welche Einfüge-, Lösch- und Änderungsanomalien können sich ergeben? Geben Sie Beispiele.
- Funktionale Abhängigkeiten dazu gegeben, nach und nach in 2NF, 3NF, BCNF umformen.
Ab hier bin ich mir nicht mehr so sicher mit der Reihenfolge und so.
5. Aufgabe:
Datenbank gegeben (als Relationenschema; Filmdatenbank mit ausgelagerter Personenrelation und Filmstudiorelation, jeder Film verwies auf eine Person als Regisseur und ein Studio als Produzent, zusätzlich eine Relation Film<->Person, die die Schauspieler eines Films angab), SQL-Anfragen stellen. Im Aufgabentext stand anscheinend, man sollte keine Subqueries benutzen. Aus Zeitmangel habe ich den Aufgabentext allerdings nicht gelesen und an einer Stelle ein Subquerie benutzt, um sicherzugehen, dass es funktioniert [img]http://www.fb18.de/gfx/12.gif[/img].
Achso, und ein View definieren und erläutern, aus welchen Gründen das View in SQL nicht änderbar ist (es trafen alle drei zu).
6. Aufgabe:
Schema gegeben mit mehreren Views, die aufeinander aufbauten (aber leider nicht alle aufeinander, so wie ich das in aller Eile gelesen habe). 4 Beispielanfragen und 4 oder 5 Kombinationen von "CHECK OPTION CASCADE" für verschiedene Relationen. In einer Tabelle jeweils eintragen, ob die Anfrage erlaubt ist und wenn ja, in welchen Views die geänderten / eingefügten Tupel sichtbar bleiben / werden.
7. Aufgabe:
- Transaktionen - wie heißt die Anomalie, die sich ergibt, wenn eine Transaktion die Preise aller roten Autos aufaddiert und eine nebenläufige Transaktion gleichzeitig ein rotes Auto einfügt, so dass die erste Transaktion das Auto übersieht?
- Die aus der Vorlesung hoffentlich bekannte Tabelle mit R und X auf beiden Seiten, die angibt, welche Sperre genehmigt wird, wenn welche Sperre gesetzt ist. Zusätzlich eintragen, welche Anomalie dadurch verhindert wird, wenn eine Sperre nicht genehmigt wird.
7. Aufgabe:
- In einen B-Baum \tau(2,2) ein paar Werte einfügen und nach jedem Splitvorgang den Baum neu zeichnen.
- Aus einem weiteren B-Baum \tau(2,3) (der bis auf ein kleines Detail so aussah wie der Baum, den man im ersten Teil herausbekommt) einige Werte löschen und angeben, welche Operation (Merge, Ausgleich, Nichts) angewendet wurde.
- Knotenstruktur von B-Bäumen und B*-Bäumen skizzieren.
- Allgemein: Maximal besetzter B-Baum \tau(2,3) und minimal besetzter B*-Baum \tau(7,3,3). Wie viele Knoten und wie viele Datensätze haben die beiden Bäume? Wie viele Seiten müssen gelesen werden, um einen Datensatz zu finden (beim B*-Baum genau, beim B-Baum mindestens)? Wie viele Seiten müssen gelesen werden, um alle Datensätze zu finden? (Hier wäre noch die Frage: Wenn man im B-Baum nach unten geht und dann wieder nach oben, muss man die Seite dann noch einmal lesen oder kann man von einem unendlich großen Cache ausgehen?)
8. Aufgabe:
DTD gegeben, 4 XPath-Anfragen schreiben (mit Referenzen und allem).
Das Gedächtnisprotokoll ist jetzt nicht soo wichtig, da wir noch Einsicht in die Klausuren erhalten werden [img]http://www.fb18.de/gfx/14.gif[/img] - ich fang trotzdem mal an.
1. Aufgabe, 20 Punkte:
Textuelle Beschreibung eines Krankenhauses, umsetzen in ein ER-Diagramm.
2. Aufgabe, 5 oder 10 Punkte?:
ER-Diagramm (mit Studenten, Aktionen und Organisationen und Relationen dazwischen - jede Organisation hat einen Gründer und mehrere Mitglieder, jede Aktion hat einen Organisator und mehrere Teilnehmer). Umsetzen ins Relationenmodell.
3. Aufgabe:
- Was sind die Basisoperatoren der Relationenalgebra? (alle möglichen Operatoren angegeben, nur die Basis (eine Basis? oder *die* Basis? darüber haben wir nach der Klausur kurz diskutiert) ankreuzen.
- Natürlichen Verbund zwischen zwei Relationen R(A,B,C,D,E) und S(A,B,X,E,Y,Z) mittels der Basisoperatoren ausdrücken.
- Anfrage auf die Relation aus Aufgabe 2: Welche Studenten haben an der Aktion "Störung der Amtseinführung der Uni-Präsidentin 2007" teilgenommen?
4. Aufgabe:
Relation gegeben in 1NF.
- Welche Einfüge-, Lösch- und Änderungsanomalien können sich ergeben? Geben Sie Beispiele.
- Funktionale Abhängigkeiten dazu gegeben, nach und nach in 2NF, 3NF, BCNF umformen.
Ab hier bin ich mir nicht mehr so sicher mit der Reihenfolge und so.
5. Aufgabe:
Datenbank gegeben (als Relationenschema; Filmdatenbank mit ausgelagerter Personenrelation und Filmstudiorelation, jeder Film verwies auf eine Person als Regisseur und ein Studio als Produzent, zusätzlich eine Relation Film<->Person, die die Schauspieler eines Films angab), SQL-Anfragen stellen. Im Aufgabentext stand anscheinend, man sollte keine Subqueries benutzen. Aus Zeitmangel habe ich den Aufgabentext allerdings nicht gelesen und an einer Stelle ein Subquerie benutzt, um sicherzugehen, dass es funktioniert [img]http://www.fb18.de/gfx/12.gif[/img].
Achso, und ein View definieren und erläutern, aus welchen Gründen das View in SQL nicht änderbar ist (es trafen alle drei zu).
6. Aufgabe:
Schema gegeben mit mehreren Views, die aufeinander aufbauten (aber leider nicht alle aufeinander, so wie ich das in aller Eile gelesen habe). 4 Beispielanfragen und 4 oder 5 Kombinationen von "CHECK OPTION CASCADE" für verschiedene Relationen. In einer Tabelle jeweils eintragen, ob die Anfrage erlaubt ist und wenn ja, in welchen Views die geänderten / eingefügten Tupel sichtbar bleiben / werden.
7. Aufgabe:
- Transaktionen - wie heißt die Anomalie, die sich ergibt, wenn eine Transaktion die Preise aller roten Autos aufaddiert und eine nebenläufige Transaktion gleichzeitig ein rotes Auto einfügt, so dass die erste Transaktion das Auto übersieht?
- Die aus der Vorlesung hoffentlich bekannte Tabelle mit R und X auf beiden Seiten, die angibt, welche Sperre genehmigt wird, wenn welche Sperre gesetzt ist. Zusätzlich eintragen, welche Anomalie dadurch verhindert wird, wenn eine Sperre nicht genehmigt wird.
7. Aufgabe:
- In einen B-Baum \tau(2,2) ein paar Werte einfügen und nach jedem Splitvorgang den Baum neu zeichnen.
- Aus einem weiteren B-Baum \tau(2,3) (der bis auf ein kleines Detail so aussah wie der Baum, den man im ersten Teil herausbekommt) einige Werte löschen und angeben, welche Operation (Merge, Ausgleich, Nichts) angewendet wurde.
- Knotenstruktur von B-Bäumen und B*-Bäumen skizzieren.
- Allgemein: Maximal besetzter B-Baum \tau(2,3) und minimal besetzter B*-Baum \tau(7,3,3). Wie viele Knoten und wie viele Datensätze haben die beiden Bäume? Wie viele Seiten müssen gelesen werden, um einen Datensatz zu finden (beim B*-Baum genau, beim B-Baum mindestens)? Wie viele Seiten müssen gelesen werden, um alle Datensätze zu finden? (Hier wäre noch die Frage: Wenn man im B-Baum nach unten geht und dann wieder nach oben, muss man die Seite dann noch einmal lesen oder kann man von einem unendlich großen Cache ausgehen?)
8. Aufgabe:
DTD gegeben, 4 XPath-Anfragen schreiben (mit Referenzen und allem).