Aufgabe Serie 4

Werbung
VORLESUNG
EI
U NIVERSIT ÄT B ERN
I NFORMATIK
T YP
UA
AUSGABE
HS 08
B LATT
4 (1/2)
Übungsserie 4 – Datenbanken
1. Sie haben die Begriffe Datensatz (Record), Datei (File) und Index kennen gelernt.
Skizzieren Sie eine Dateiorganisation, welche mit diesen 3 Elementen realisiert ist
und das folgende praktische Problem löst:
In einer Datei sollen alle verwalteten Wohnungen einer Liegenschaftsverwaltung gespeichert werden. Die Records der Datei Wohnungen seien gemäss folgendem Schema aufgebaut:
(Wohnungs-ID, PLZ, Ort, Strasse, Nummer, Anzahl Zimmer)
Wie könnte eine Dateiorganisation aussehen, so dass effizient nach jedem der 6
Attribute/Felder gesucht werden kann?
Hinweis: Die Wohnungs-ID ist eine für jede Wohnung eindeutige Nummer.
2. Lesen Sie auf de.wikipedia.org die Beiträge zu den Begriffen Relationale Datenbank
und SQL durch und beantworten Sie die folgenden Fragen zu den beiden Themen.
Sie müssen nicht jedes neue Detail verstehen, das dort erklärt ist. Sie finden darin
aber die wesentlichen Inhalte der Vorlesung noch einmal mit anderen Worten erklärt.
(a) Wie wird ein Datensatz (Record) in einer relationalen Datenbank genannt?
(b) Wie kann man einem Attribut (Spalte einer Tabelle) auch noch sagen?
(c) Wann ist ein Attribut ein Primärschlüssel?
(d) Wann ist ein Attribut ein Fremdschlüssel?
(e) Was für Daten können Sie mit SQL in einem Attribut des Datentyps varchar(20)
speichern?
(f) Was bewirkt die Verwendung des Keywords DISTINCT in einer SQL SelectAbfrage?
3. Betrachten Sie die zwei Varianten einer Bücherausleih-Datenbank, welche in den
Abbildungen 1 und 2 dargestellt werden. Diskutieren Sie Vor- und Nachteile beider
Varianten.
AUSLEIHEN Name
Müller
Müller
Meier
Vorname
Markus
Markus
Hans
Titel
The Shawshank Redemption
Das Kapital
Die Räuber
Autor
Stephen King
Karl Marx
Friedrich Schiller
Ausleihdatum
14.07.2000
10.07.2000
03.05.2000
Abbildung 1: Bücherausleih-DB Variante 1
BÜCHER
BuchID
1
2
3
Titel
The Shawshank Redemption
Das Kapital
Die Räuber
AUSLEIHER
Autor
Stephen King
Karl Marx
Friedrich Schiller
AusleiherID Name
1
Meier
2
Müller
AUSLEIHEN
BuchID
1
2
3
Vorname
Hans
Markus
Abbildung 2: Bücherausleih-DB Variante 2
AusleiherID
2
2
1
Ausleihdatum
14.07.2000
10.07.2000
03.05.2000
U NIVERSIT ÄT B ERN
I NFORMATIK
VORLESUNG
EI
T YP
UA
B LATT
4 (2/2)
AUSGABE
HS 08
4. Eine Fotoagentur erstellt und verwaltet Fotos, die sie an grosse Verlagshäuser und
andere Kunden verkauft. Entwerfen Sie für die Verwaltung der Fotos und Kunden
eine Datenbank mit 3–5 Tabellen/Relationen.
5. Gehen Sie von der Universitäts-Datenbank (Beilage 4.18) aus. Das Datenbankschema
sieht im Detail wie folgt aus:
STUDIERENDE
Name:String, Vorname:String, Matrikelnummer:String, Hauptfach:String
VERANSTALTUNGEN
Veranstaltung:String, Titel:String, ECTS:Zahl, Institut:String
DURCHFÜHRUNGEN
Veranstaltung:String, Nummer:String, Jahr:Zahl, DozentIn:String
NOTEN
Matrikelnummer:String, Nummer:String, Jahr:Zahl, Note:Zahl
VORAUSSETZUNGEN
Veranstaltung:String, Voraussetzung:String
Einige Beispiel-Queries in SQL:
select * from Noten where Nummer=’W7050’
Zeigt alle Records der Tabelle Noten an, welche für die Veranstaltung W7050 ausgestellt wurden.
select Matrikelnummer, Note from Noten where Note<4.0
Zeigt die Matrikelnummern mit der erzielten Note an, sofern die Note ungenügend
ist.
select Vorname, Name, Note FROM Studierende, Noten
where Jahr=2001 and Studierende.Matrikelnummer=Noten.Matrikelnummer
Zeigt Vornamen, Namen und Noten aller Studierenden an, welche im Jahr 2001 benotet wurden.
Formulieren Sie Select-Queries in SQL, welche die Antworten auf die untenstehenden
Fragen geben. Überprüfen Sie Ihre Queries, indem Sie diese in der dafür vorgesehenen Web-Applikation ausführen lassen. Den Link auf die Applikation finden Sie auf
der Seite zu dieser Übungsserie.
(a) Welche Daten stehen in der Tabelle Veranstaltungen?
(b) Wie lauten die Namen, Vornamen und Hauptfächer sämtlicher Studierenden?
(c) Welche Veranstaltungen (nur Titel) werden mit mehr als 3 ECTS angerechnet?
(d) Welches sind die Namen und Vornamen aller Studierenden, welche eine genügende Note erhalten haben?
(e) Welche Vorlesungen hat Prof. Bieri im Jahr 2001 gehalten?
(f) (Fakultativ:) Erstellen Sie eine Liste mit folgenden Angaben: Vorname und
Name des Studierenden, Titel der Veranstaltung, erzielte Note.
Herunterladen