Klausur Datenbanksysteme für Hörer anderer Fachrichtungen

Werbung
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
INSTITUT FÜR INFORMATIK
DER TECHNISCHEN UNIVERSITÄT MÜNCHEN
LEHRSTUHL III · DATENBANKSYSTEME · PROF. DR. GRUST
Klausur
Datenbanksysteme für Hörer
anderer Fachrichtungen
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Termin:
Prüfungsdauer:
Erlaubte Hilfsmittel:
24. Juli 2006 / 17:00–18:30 Uhr
90 Min.
ein Blatt DIN A4
Aufgabe max. Punkte Punkte
A
12
B
16
C
14
D
16
E
15
F
9
G
9
X
Punkte
Beurteilung: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prüfer: Prof. Dr. Torsten Grust
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
Relationale Algebra
V
(2 + 2 + 2 + 2 + 2 + 2 Punkte)
In einem Datenbanksystem sind zwei Relationen R und S gespeichert:
A
1
2
3
4
R
B
’A’
’B’
’C’
’C’
S
A B
D
3 ’B’ ’x’
4 ’C’ ’y’
C
’a’
’b’
’a’
’b’
Geben Sie die Ergebnisrelation in tabellarischer Form für folgende Anfragen
an:
1 πA,B (σB=’B’ (R))
2 πC,Z (R × πX←A,Y ←B,Z←D (S))
3 R nA=S.A %S (S)
4 R − πA,B,C←D (S)
5 πZ←X.D (%X (S) 1X.A<Y.A %Y (S))
Folgende Anfrage wird zu einem Fehler führen. Begründen Sie kurz warum.
6 R ∪ (R 1 S)
DBMS f. andere Fachrichtungen
2/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B
Relationale Algebra / SQL
V
(4 + 4 + 4 + 4 Punkte)
Eine Datenbank enthält Informationen über Musik-CDs und die enthaltenen Titel:
ALBEN
AID
INTERPRET
ALBUMNAME
47 Lenny Kravitz 5
59 Morcheeba
Big Calm
TITEL
TID
TITELNAME
SPIELZEIT
AID
13 Live
310
47
19 Supersoulfighter
298
47
24 The Sea
348
59
33 Destiny
447
(null)
Dabei implementiert das Feld AID der Tabelle TITEL eine Referenz (Fremdschlüssel)
auf die Tabelle ALBEN:
• ALBEN (AID, INTERPRET, ALBUMNAME)
• TITEL (TID, TITELNAME, SPIELZEIT, AID → ALBEN (AID))
Formulieren Sie folgende Fragestellungen in relationaler Algebra oder SQL:
1 Geben Sie TITELNAMEn aller Titel aus, die mehr als 300 s Spielzeit haben.
2 Von welchem INTERPRETen stammt der Titel ‘Live’ ?
3 Geben Sie die ALBUMNAMEn aller Alben aus, die Titel kürzer als 360 s enthalten.
4 Geben Sie alle TITELNAMEn des Albums aus, auf dem auch der Titel ‘Live’
enthalten ist.
DBMS f. andere Fachrichtungen
3/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C
Schlüssel und Fremdschlüssel
V
(2 + 2 + 2 + 2 + 2 + 2 + 2 Punkte)
In der Musik-Datenbank aus Aufgabe B wurden die Attribute ALBEN.AID und
TITEL.TID als Primärschlüssel der jeweiligen Relationen deklariert.
ALBEN
AID INTERPRET
.
.
.
.
.
.
ALBUMNAME
.
.
.
TITEL
TID TITELNAME SPIELZEIT AID
.
.
.
.
.
.
.
.
.
.
.
.
Das Schema der Datenbank enthält die Fremdschlüsselbeziehung zwischen TITEL
und ALBEN:
TITEL (TID, TITELNAME, SPIELZEIT, AID → ALBEN (AID))
1 Welche Auswirkungen hat das Definieren der Primärschlüssel auf das Verhalten
des Datenbanksystems?
2 Warum fordert man, dass Schlüssel minimal sein sollen?
3 Erklären Sie den Begriff der referenziellen Integrität.
Ausgehend von anfänglich leeren Tabellen möchte der Datenbankadministrator nun
in der folgenden Reihenfolge Werte eintragen. Welche der Einfügeoperationen
wird das Datenbanksystem erfolgreich verarbeiten können? Weshalb führen
die anderen zu Fehlermeldungen?
4 Einfügen von (59, ’Morcheeba’, ’Big Calm’)
in die Tabelle ALBEN (AID, INTERPRET, ALBUMNAME)
5 Einfügen von (24, ’The Sea’, 348, 59)
in die Tabelle TITEL (TID, TITELNAME, SPIELZEIT, AID)
6 Einfügen von (19, ’Supersoulfighter’, 298, 47)
in die Tabelle TITEL (TID, TITELNAME, SPIELZEIT, AID)
7 Einfügen von (59, ’Red Hot Chili Peppers’, ’Californication’)
in die Tabelle ALBEN (AID, INTERPRET, ALBUMNAME)
DBMS f. andere Fachrichtungen
4/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D
ER-Modellierung I
V
(16 Punkte)
Leiten Sie aus der folgenden natürlichsprachlichen Beschreibung eines WM-Fußballturniers ein ER-Diagramm ab, das die beschriebene Miniwelt modellieren kann.
Jede Fußball-WM findet in einem vorherbestimmten Gastgeberland
”
und Jahr statt. 32 Mannschaften—jeweils trainiert von einem Trainer—
aus verschiedenen Ländern nehmen am Turnier teil. Während des Turniers werden 64 Spiele an festgelegten Austragungsorten und -tagen
ausgetragen. Jedes Spiel hat eine Sieger- und Verlierermannschaft, die
in dem Spiel eine Anzahl von Toren schießen, es sei denn das Spiel geht
unentschieden aus, dann spricht man nicht von Siegern oder Verlierern,
sondern lediglich von Gegnern (in diesem Fall haben beide jeweils die
gleiche Anzahl von Toren geschossen).“
Hinweis: Sehen Sie die Entities ‘WM’, ‘Spiel’ und ‘Mannschaft’ vor.
Geben Sie Attribute und Schlüssel der Entities an und markieren Sie vor allem die
Kardinalitäten der Relationships, die Sie vorsehen.
DBMS f. andere Fachrichtungen
5/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E
ER-Modellierung II
V
(15 Punkte)
Übersetzen Sie die folgenden ER-Diagramme jeweils so getreu wie möglich in
relationale Tabellenschemata. Benennen Sie die entstehenden Tabellen und skizzieren Sie deren Schema. Markieren Sie die Schlüssel in den Tabellen und geben
Sie evtl. notwendige Fremdschlüsselbeziehungen an. Geben Sie auch an, falls für
spezielle Tabellenspalten Nullwerte unzulässig sind.
A
1
E1
C
(1,1)
B
(0,1)
R
E
D
A
2
E1
C
(0,∗)
(1,1)
R
B
E1
E2
D
A
3
E2
C
E
(1,∗)
B
(0,∗)
R
F
E2
D
Hinweis: Achten Sie auf die durch Unterstreichen markierten Schlüsselattribute in den
obigen ER-Diagrammen.
DBMS f. andere Fachrichtungen
6/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F
Vereinfachung von Anfragen
V
(3 + 3 + 3 Punkte)
Gegeben seien zwei Relationen R und S mit den Schemata R(A, B, C) und S(C, D).
Ein Datenbankbenutzer hat für drei Anfragen jeweils Vereinfachungen vorgeschlagen. Untersuchen Sie jeweils, ob diese Vereinfachungen generell richtig sind. Falls
eine Vereinfachung nur unter bestimmten Voraussetzungen korrekt ist, nennen Sie
diese Voraussetzungen genau.
1
?
πA,B,C (R 1 S) ⇒ R
2
SELECT DISTINCT C
FROM R
?
⇒
SELECT C
FROM R
3
SELECT ∗ FROM R WHERE A = 42
UNION
SELECT ∗ FROM R WHERE A <> 42
DBMS f. andere Fachrichtungen
7/9
?
⇒ R
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
G
Defekte“ Anfragen
”
V
(2 + 1 + 3 + 3 Punkte)
1 Erklären Sie so genau wie möglich, was man unter einer monotonen Anfrage
versteht.
2 Ein Programmierer möchte folgende Anfrage nutzen, um den Schlüsselwert
(Spalte A) desjenigen Tupels zu ermitteln, dessen B-Wert maximal ist.
Für die Beispieltabelle
R
A
1
2
3
B
10
50
20
sollte also als Ausgabe die einspaltige Tabelle
A
2
erzeugt werden (50 ist der
maximale B-Wert).
Der Datenbankprogrammierer hat sich dazu die Anfrage
πA (R) − (πA (σB≥C (R × πC←B (R))))
überlegt. Leider liefert sie jedoch immer die leere Relation.
(a) Ist diese Anfrage monoton oder nicht?
(b)
Reparieren“ Sie die Anfrage des Programmierers.
”
Hinweis: Überlegen Sie sich dazu, welches Zwischenergebnis nach der Auswertung
des Selektionsoperators σ entsteht.
DBMS f. andere Fachrichtungen
8/9
24. Juli 2006
Name/Matrikel-Nr.: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V
3 Gegeben seien folgende Tabellen Messungen, SI und Namen, mittels derer Messwerte X aus der Tabelle Messungen in SI-konforme Einheiten übersetzt werden
können.
Messungen
X
Einheit
120
cm
200
cm
3.4
km
5
miles
SI
Einheit SI Faktor
cm
m
0.01
km
m
1000
min
s
60
Namen
SI SI_Einheit
m
Meter
s
Sekunden
Zwischen den Tabellen existieren die folgenden Fremdschlüsselbeziehungen:
• Messungen (X, Einheit → SI (Einheit))
• SI (Einheit, SI → Namen (SI), Faktor)
• Namen (SI, SI_Einheit)
Ein Benutzer verwendet zur Umrechnung von Einheiten die folgende Anfrage:
SELECT m.X * s.Faktor AS X, n.SI_Einheit
FROM Messungen m, SI s, Namen n
WHERE m.Einheit = s.Einheit
und erwartet dazu als Ergebnis
X
SI_Einheit
1.2
Meter
2
Meter
3400
Meter
.
Tatsächlich gibt das Datenbanksystem jedoch ein unerwartetes Ergebnis aus:
X
SI_Einheit
1.2
Meter
1.2
Sekunden
2
Meter
2
Sekunden
3400
Meter
3400
Sekunden
.
(a) Ist die Anfrage des Datenbankbenutzers monoton oder nicht?
(b)
Reparieren“ Sie die SQL-Anfrage sodass sie das erwartete Ergebnis lie”
fert.
DBMS f. andere Fachrichtungen
9/9
24. Juli 2006
Herunterladen