Klausur WS 2007/2008 - Informatik

Werbung
Universität Augsburg, Institut für Informatik
Prof. Dr. W. Kießling
Dr. A. Huhn, M. Endres, T. Preisinger
Wintersemester 2007/2008
08. Februar 2008
Datenbanksysteme I
Semesterklausur
Hinweise:
• Die Bearbeitungszeit beträgt 90 Minuten.
• Verwenden Sie für ihre Lösungen ausschließlich die gehefteten Blätter des Lösungsteils. Die
Heftklammern dürfen nicht entfernt werden. Melden Sie sich bei der Aufsicht, falls die Blätter
nicht ausreichen sollten!
• Es sind nur Hilfsmittel in Papierform zugelassen.
• Benutzen Sie einen dokumentenechten Stift! Verwenden Sie keinen Bleistift! Benutzen Sie
außerdem keinen roten und keinen grünen Stift!
• Überprüfen Sie, ob ihre Platznummer mit der auf der Klausur vermerkten Platznummer übereinstimmt. Melden Sie sich sofort bei der Aufsicht, falls das nicht der Fall sein sollte.
• Unterschreiben Sie auf dem Deckblatt des Lösungsteils an der vorgesehenen Stelle mit ihrem
vollen Vor- und Nachnamen.
• Schreiben Sie auf jedes Blatt des Lösungsteils ihren Namen und ihre Matrikelnummer.
• Die Klausur besteht aus 6 Aufgaben mit insgesamt 40 Punkten:
1. ER-Transformation [7 Punkte]
2. SQL
[8 Punkte]
3. Queryoptimierung [7 Punkte]
4. B-Bäume
[5 Punkte]
5. Seralisierbarkeit
[6 Punkte]
6. Normalformtheorie [7 Punkte]
Aufgabe 1: ER-Transformation, 7 Punkte (7)
Gegeben sei folgendes ER-Modell.
Transformieren Sie dieses ER-Modell gemäß der Vorlesung in SQL-DDL-Statements.
• Wählen Sie hierzu geeignete Domänen.
• Es sollen nur Artikel eingegeben werden können, die nach dem Jahr 2000 geschrieben wurden
Aufgabe 2: SQL, 8 Punkte (1+1+1+1+2+2)
Gegeben ist das bereits aus den Übungen bekannte Schema der Universitäts-Datenbank. Auf die
Angabe der Domänen wurde aus Gründen der Übersichtlichkeit verzichtet.
Um die Lesbarkeit zu erleichtern wird bei Personenbezeichnungen die männliche Form verwendet.
Professoren
Assistenten
Studenten
Vorlesungen
voraussetzen
hören
prüfen
(PersNr, Name, Rang, Raum, GebDatum)
(PersNr, Name, Fachgebiet, Boss)
(MatrNr, Name, Semester, GebDatum)
(VorlNr, Titel, SWS, gelesenVon)
(Vorgänger, Nachfolger)
(MatrNr, VorlNr)
(MatrNr, VorlNr, PersNr, Note)
Dabei gilt:
• Unterstrichene Attribute sind Primärschlüssel.
• Kursiv geschriebene Attribute sind Fremdschlüssel.
• gelesenVon referenziert PersNr von Professoren.
• Vorgänger sowie Nachfolger referenzieren VorlNr in Vorlesungen.
Formulieren Sie die folgenden Anfragen in SQL.
a) Listen Sie mit einer SQL-Anfrage die Namen aller Assistenten und Professoren auf.
b) Welche direkten Vorgänger-Vorlesungen (VorlNr) muss man hören, um die Vorlesung Der Wiener Kreis zu verstehen?
c) Bestimmen Sie alle Prüfungen (MatrNr, Note), deren Note besser als durchschnittlich ist.
d) Finden Sie alle Professoren, die keine Vorlesungen halten.
e) Finden Sie alle Studenten, die älter als der jüngste Professor sind.
f) Suchen Sie die Studenten, die mindestens eine Vorlesung über Themen mit Ethik gehört haben.
Dabei sollen Vorlesungen berücksichtigt werden, die das Wort Ethik bzw. ethik enthalten.
Aufgabe 3: Queryoptimierung, 7 Punkte (1+6)
Folgender Ausschnitt aus dem Schema der Universitäts-Datenbank ist gegeben. Auf die Angabe
der Domänen wurde aus Gründen der Übersichtlichkeit verzichtet.
Professoren
Studenten
Vorlesungen
hören
(PersNr, Name, Rang, Raum, GebDatum)
(MatrNr, Name, Semester, GebDatum)
(VorlNr, Titel, SWS, gelesenVon)
(MatrNr, VorlNr)
SELECT DISTINCT s.Name
FROM Studenten s, hören h, Vorlesungen v, Professoren p
WHERE s.MatrNr = h.MatrNr
AND h.VorlNr = v.VorlNr
AND v.gelesenVon = p.PersNr
AND v.SWS > 2
AND p.Name = ’Kopernikus’;
a) Geben Sie die kanonische, nicht optimierte Darstellung dieser Anfrage in relationaler Algebra
an.
b) Optimieren Sie Ihren relationen Algebraausdruck mit Hilfe des Hill-Climbing Algorithmus aus
der Vorlesung. Geben Sie den Operatorbaum nach den Schritten 2, 3 und 5 an.
Aufgabe 4: B-Bäume, 5 Punkte (3+2)
Bearbeiten Sie mit Verfahren aus der Vorlesung die folgenden Teilaufgaben:
a) Gegeben ist der folgende B-Baum der Klasse Γ(1, 3).
i) Fügen Sie in den B-Baum die 100 ein.
ii) Löschen Sie aus dem B-Baum die 16.
iii) Löschen Sie aus dem B-Baum die 7.
Zeichnen Sie nach jedem Schritt den geänderten Teilbaum neu.
b) Bestimmen Sie maximales k für einen B-Baum der Klasse Γ(k, h) bei gegebener Seitengröße.
Dabei gilt:
• Die Seitengröße ist P = 4096.
• Die Schlüsselgröße ist x = 2.
• Verweise innerhalb des Baums haben die Größe p = 6.
• Die gespeicherten Informationen haben eine maximale Größe von α = 2.
Hinweis: h ist für die Bestimmung von k nicht notwendig.
Aufgabe 5: Serialisierbarkeit, 6 Punkte (1+1+4)
Gegeben seien die Datenbankobjekte A und B, die Transaktionen T1, T2, T3, T4 und ein Schedule
S. Dabei sind RLOCKs Lesesperren und XLOCKs exklusive Sperren.
S =
(
XLOCK(A, T3),
UNLOCK(A, T3),
RLOCK(A, T1),
XLOCK(B,T3),
RLOCK(A, T2),
UNLOCK(B, T3),
XLOCK(B, T1),
UNLOCK(A,T2),
UNLOCK(A,T1),
XLOCK(A,T4),
UNLOCK(B,T1),
RLOCK(B,T2),
UNLOCK(A,T4),
UNLOCK(B,T2)
)
a) Handelt es sich bei S um einen legalen Schedule? Begründung.
b) Erfüllt obiger Schedule S die 2-Phasen-Eigenschaft?
c) Bestimmen Sie den Serialisierungsgraph zu S nach der Vorlesung. Ist S serialisierbar?
Aufgabe 6: Normalformentheorie, 7 Punkte (1+3+3)
Gegeben sei das nachstehende Relationenschema:
AssistentenBossDiplomanden ( PersNr, Name, Fachgebiet,
BossPersNr, BossName,
MatrNr, SName, Semester, SWohnOrt)
Beachten Sie:
• Auf die Angabe der Domänen wurde verzichtet. Diese können aber als atomar angesehen
werden.
• Es gelten die folgenden funktionalen Abhängigkeiten:
PersNr −→ Name, Fachgebiet, BossPersNr, BossName
BossPersNr −→ BossName
MatrNr −→ PersNr, Name, Fachgebiet, BossPersNr, BossName, SName, Semester, SWohnOrt
• Einziger Schlüsselkandidat ist MatrNr.
Bringen Sie obiges Schema in die 3. Normalform. Bearbeiten Sie dazu folgenden Teilaufgaben:
a) In welcher höchsten Normalform ist obiges Relationenschema? Geben Sie eine Begründung an.
b) Bestimmen Sie eine minimale Überdeckung der FDs.
c) Zerlegen Sie obiges Schema abhängigkeitserhaltend und verlustfrei in die 3. Normalform.
Herunterladen