Aufg. Thema bearbeitet Punkte von 1 Allgemeine Fragen

Werbung
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
11.03.02
Klausur „Datenbanken und Informationssysteme“
Studiengänge AI, MI und WI
11.03.2002
Dozentin: Dr. H. Faeskorn – Woyke
Name
......................................
Vorname..............................................
Matrikel-Nr
......................................
Unterschrift .......................................
eingeschrieben seit ...........................
Bitte beachten Sie:
•
•
•
•
•
Es sind keinerlei schriftliche Unterlagen als Hilfsmittel zugelassen.
Zum Bestehen der Klausur sind 50 % der insgesamt erreichbaren Punkte notwendig.
Heftung bitte nicht lösen !
Bearbeitungszeit maximal 120 Minuten.
Lösungen bitte auf dem hinter der Aufgabenstellung vorgesehenen Platz durchführen. Falls
dieser Platz nicht ausreicht, können Sie Zusatzblätter verwenden. Aufgabenteil bitte auf Zusatzblatt angeben und bei entsprechender Aufgabenstellung einlegen.
• Jedes Zusatzblatt bitte mit Namen und Matrikelnummer versehen.
• Bearbeitete Aufgaben bitte auf der Tabelle im Deckblatt ankreuzen.
Aufg. Thema
1 Allgemeine Fragen
2 ER-Modell
3 Vermischtes
4 Normalformen
5 SQL-Abfragen
6 B*-Baum
bearbeitet
GESAMT
Punkte von
25
20
15
12
18
10
100
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
Aufgabe 1
Allgemeine Fragen:
11.03.02
10 x 2,5 = 25 Punkte
a) Was versteht man unter Persistenz bei Datenbanken?
b) Was versteht man unter einem konzeptionellen Schema ?
b) Was ist funktionale Abhängigkeit ? Geben Sie bitte ein Beispiel!
c) Welcher Operator aus der relationalen Algebra wird unter SQL nicht unmittelbar abgebildet ?
d) Was ist ein versteht man unter einem Locking und Logging in der Datenbanktechnik?
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
11.03.02
e) Was ist der Unterschied zwischen optimistischem und pessimistischem Locking ?
f)
Was ist eine Metadatenbank ?
g) Mit welcher Anweisung löscht man in SQL Benutzerrechte in einer Datenbank?
h) Welche Bestandteile hat ein Datenbanktrigger?
j) Was versteht man unter einem „Dirty Read“ ?
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
Aufgabe 2: ER-Modellierung
11.03.02
15 + 5 Punkte
Ein Gourmet blickt nicht mehr durch. Welche Weinflaschen hat er im Keller und was passt zu welchem Gericht? Deshalb will er sich die Mühe machen, seinen Weinbestand und seine Lieblingsgerichte in einer Datenbank zu speichern. Können Sie ihm helfen ? Er möchte abspeichern:
-
-
-
Über seine Weinflaschen: Die Rebsorte, z.B., Riesling, die Lage, das Anbaujahr und den Alkoholgehalt.
Den Lagerbestand: Welche Weinflaschen er von welcher Wein auf dem Lager hat, in welcher
Menge und bei welchem Mindestbestand eine Neubestellung erforderlich ist.
Über die Rebsorten: Die Sorte, z.B. Riesling und die Farbe, z.B. rot, rose und weiß
Welches Gericht passt zu welcher Rebsorte, z.B. Riesling zu Seezunge.
Die Rezepte der Gerichte
a) Erstellen Sie ein ER-Modell als konzeptionelles Schema!
b) Lösen Sie das Schema in ein relationales Datenbankschema auf! Relationen in der Form Tabellename(Spaltenname, ...) beschreiben.
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
11.03.02
Aufgabe 3: (Vermischtes)
15 Punkte
Bitte wählen Sie zu jeder der folgenden Teilaufgaben die richtige(n) Antwort(en) durch ankreuzen
() bzw. tragen Sie die richtige Lösung in das dafür vorgesehene Feld ( [___] ) ein.
(je richtige Antwort: +1 Punkt; je falsch angekreuzte Antwort: -1 Punkt; je Teilaufgabe: mind. 0 Punkte)
3.1. Welche der folgenden Aussagen trifft zu?
Das konzeptionelle Schema ist unabhängig vom konkreten Datenbanksystem.
Das konzeptionelle Schema ist abhängig vom konkreten Datenbanksystem.
3.2. Welche der folgenden Operatoren gehören nicht zur relationalen Algebra
Multiplikation
Projektion
Differenz
Division
Addition
3.3. Welche der folgenden Aussagen trifft zu?
Von einem eindeutigen Schlüssel sind alle anderen Attribute funktional abhängig.
Eine Relation kann nur einen eindeutigen Schlüssel haben.
Ein eindeutiger Schlüssel besteht immer aus einem einzigen Attribut.
Die Nicht-Schlüsselattribute sind von keiner echten Teilmenge des Schlüssels funktional
abhängig
3.4. In einer SELECT- Anweisung sind die Zeilen durcheinander geraten.
Sortieren Sie die im Folgenden angegebenen Zeilen so, dass sich wieder eine korrekte SQL – Anweisung ergibt. Nummerieren Sie dazu die Zeilen in einer richtigen Reihenfolge, bei 1 beginnend,
fortlaufend durch.
Zeile
Zeilen-Nr.:
SELECT K.Kun_Nr, K.Nachname, K.Ort, COUNT(A.AuftragsNr)
[ 1 ]
ORDER BY K.Nachname
[_____]
GROUP BY K.Kun_Nr, K.Nachname, K.Ort
[_____]
WHERE K.Kun_Nr = A.Kun_Nr AND K.Ort = 'Köln'
[_____]
FROM Kunden K, Auftraege A
[_____]
HAVING COUNT(*) > 1;
[_____]
3.5. In welcher der folgenden Zeilen tritt ein Fehler auf?
SELECT Abt_Nr, avg(Gehalt)
FROM Angestellte
GROUP BY Ang_Nr.
Es tritt kein Fehler in dieser SQL – Anweisung auf.
3.6 Welche der folgenden Funktionen ist keine Gruppenfunktion ?
AVG
SUM
SQRT
MAX
COUNT
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
11.03.02
3.7 Welche der Abfragen liefert das gewünschte Ergebnis?
Der Theaterdirektor Herr Gucklos möchte sein Theater reformieren. Er möchte wissen, ob es
Schauspieler gibt, die alle Rollen dargestellt haben. In seiner Datenbank finden sich folgende Relationen
Schauspieler( PNr, Name, Gehalt...)
Rolle(Figur, Titel, Typ, ...)
Stellt_dar(PNr, Figur)
Die folgenden Abfragen liegen ihm vor:
SELECT PNr
FROM Schauspieler
WHERE PNr NOT IN
(SELECT PNr FROM Stellt_dar
WHERE Figur NOT IN
(SELECT Figur FROM Rolle
WHERE Schauspieler.PNr =
stellt_dar.PNr
SELECT PNr
FROM Schauspieler
WHERE NOT EXISTS
(SELECT * FROM Rolle
WHERE NOT EXISTS
(SELECT * FROM Stellt_dar
WHERE Schauspieler.PNr =
AND stellt_dar.Figur =
stellt_dar.PNr
rolle.Figur));
AND stellt_dar.Figur =
rolle.Figur));
SELECT PNr, count(Figur)
FROM Stellt_dar
GROUP BY PNr
HAVING COUNT(Figur) =
(SELECT COUNT(figur)
FROM Rolle);
SELECT PNr
FROM Stellt_dar
WHERE Figur = ALL( SELECT
Figur FROM Rolle);
Keine dieser Anweisungen liefert
das gewünschte Ergebnis.
3.8 Welche der Abfragen liefert das gewünschte Ergebnis?
Der Theaterdirektor Herr Gucklos möchte auch wissen, welcher Schauspieler das höchste Gehalt
hat. Die folgenden Abfragen liegen ihm vor:
5
SELECT MAX(Gehalt) FROM Schauspieler;
SELECT PNR, Gehalt FROM Schauspieler WHERE Gehalt = (SELECT MAX(Gehalt)
FROM Schauspieler);
SELECT PNr, Gehalt FROM Schauspieler WHERE GEHALT = MAX(Gehalt);
SELECT PNR, MAX(Gehalt) FROM Schauspieler;
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
Aufgabe 4: Normalformen
11.03.02
3 +3+3+3 Punkte
Betrachten Sie die folgende Auftragsrelation:
Auftrag (ProduktNr, ProduktName, KundenNr, KundenName, Datum, Stückpreis, Anzahl,
Mehrwertsteuersatz)
a) Bestimmen Sie die funktionalen Abhängigkeiten in der Auftrag-Relation. Was sind die Schlüsselkandidaten?
b) In welcher Normalform ist diese Relation? Begründen Sie, warum sie nicht in einer entsprechend
höheren Normalform ist.
c) Überführen Sie die Relation in die zweite Normalform!
d) Überführen Sie die Relation in die dritte Normalform !
Hinweise:
Beachten Sie, dass der Mehrwertsteuersatz vom Produkt anhängt (z. B. 8 % für Bücher oder 16 %
für Luxusartikel).
Geben Sie das Datenbankschema in c) und d) in der Form Relation(Attributname, ..) an. Kennzeichnen Sie Primärschlüssel und Fremdschlüssel!
1
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
11.03.02
Aufgabe 5: SQL-Abfragen.
18 Punkte
Die Schulungsabteilung einer Großfirma bietet Kurse an, die als Kursläufe zu bestimmten Zeiten und
an unterschiedlichen Orten durchgeführt werden. Hörer nehmen an bestimmten Kursläufen teil. Die
Datenbank SCHULUNG hat die folgende Form:
HOERER
HoererNr
123
321
234
Name
Weber
Zwickel
Ast
Vorname
Peter
Christa
Thomas
KURSLAUF
LauflNr KursNr
111
987
222
876
333
987
444
765
Ort
München
Berlin
Stuttgart
München
TEILNAHME
LaufNr HoererNr
111
123
444
234
333
234
...
...
Note
1,3
2,7
1,0
......
GebDat
12.01.70
22.07.71
03.02.72
DatumAb
04.10.2000
10.10.2000
16.10.2000
16.10.2000
Adresse
München
Ottobrunn
Starnberg
TelefonNr
123456
234567
345678
Beruf
Buchhalt.
Informatiker
Konstrukt.
Abteilung
GS12
RZ01
KO03
DatumBis
06.10.2000
13.10.2000
18.10.2000
19.10.2000
KURS
KursNr
987
876
765
...
Kursname
WindowsNT
MSWordMSWord...
Abstract
BlaBla
LaberLaber
GluGlu
...
Bitte bearbeiten Sie folgende Anforderungen in SQL!
a) Geben Sie alle Hörer an (HoererNr, Name, Vorname), die an dem Kurs ’WindowsNT’ teilgenommen haben.
b) Geben Sie für alle Kurse die Durchschnittsnote an (Kursname, Durchschnittsnote).
c) Geben Sie den Ort / die Orte mit den meisten Kursläufen an.
d) Geben Sie die Hörer an, die an allen angebotenen Kursen teilgenommen haben.
e) Ändern Sie die Telefonnummer des Hörers mit der HoererNr = 321 auf 765432.
2
Klausur Datenbanken und Informationssysteme
Dr. Heide Faeskorn - Woyke
Aufgabe 6: B*Baum
11.03.02
10 Punkte
Fügen Sie in einen B-Baum vom Typ 1 nacheinander folgende Zahlen ein:
1 , 3 , 5 , 7 , 9 , 10, 8, 6, 4 und 2 !
1
Herunterladen