Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 19. November 2004
Dr. Johannes Mayer Blatt 5
Software Engineering Praxis (WS 2004/2005)
Abgabetermin: 26. November 2004
Nachdem uns Ingo Melzer schon vor einiger Zeit leider verlassen hat,
fehlt uns ein Administrator für SLC - bisher hat sich niemand um
den Job gerissen. ;-)
Aber kein Problem, Sie können ja jetzt
alle perfekt SQL. Da verteilen wir die Aufgaben einfach an Sie,
dann sind wir entlastet. ;-) Sie brauchen ja schließlich den Schein. :-))
- (1 Punkt)
Legen Sie zunächst eine eigene MySQL-Datenbank für diese
Aufgabe nach der Beschreibung auf dem
Netz
an.
- (3 Punkte)
Verändern Sie nun das Skript
createtables
so, dass die folgenden kleinen Unix-Datenbanken eingefügt
werden können: Ass_Done.db, Course.db,
Lecture.db, Participates.db, Sheep.db
und Studies.db
(die erste Zeile dieser Tabellen
enthält jeweils die Spaltennamen).
Zum Einfügen der kleinen Unix-Datenbanken können Sie danach dann das
Skript importtable
verwenden.
Beschreibung der einzelnen Tabellen:
- Lecture
- enthält den Titel zur Vorlesung mit dem Schlüssel
lid
. (Eine Vorlesung kann in mehreren Semestern stattfinden!)
- Participates
- Nimmt ein Student an einer Vorlesung teil,
so kommt hier ein Datensatz mit Vorlesungs-ID, Semester
und Login des Studenten hinzu.
- Sheep
- enthält die Zuteilung Student (
sheep
, sein Login)
zu Tutor (ta
, sein Login) für eine Vorlesung.
- Ass_Done
- Für jeweils eingetragene Punkte werden hier
Vorlesungs-ID, Semester, Login des Studenten, Blattnummer,
erhaltene Punkte und Login des Tutors (
ta
) eingetragen.
- Course
- enthält die Studiengänge. Eine künstliche
ID
courseid
und den Titel.
- Studies
- enthält die Zuordnung Student zu Studiengang.
Nennen Sie Ihrem Tutor die Schlüssel und Fremdschlüssel dieser Tabellen.
Spezifizieren Sie auch Fremdschlüssel-Beziehungen in den
CREATE TABLE-Anweisungen.
- (1 Punkt)
Finden Sie die Logins aller Teilnehmer von SEP (CS104) im
Wintersemester 2004 mit einer SQL-Abfrage heraus.
- (1 Punkt)
Geben Sie allen Studenten von SEP im WS2004, bei denen
schon Punkte für's fünfte Blatt eingtragen sind, stattdessen
die volle Punktzahl für dieses Blatt.
- (1 Punkt)
Ermitteln Sie die Logins der Studenten, die für
Softwareengineering Praxis im Wintersemester 2004
einen Schein erhalten - dazu sind mindestens 15 Punkte notwendig.
- (1 Punkt)
Bestimmen Sie wievele Studenten von welchen Studiengängen
für SEP im WS 2004 angemeldet sind. Das Ergebnis soll als Highscore-Liste
angezeigt werden, d.h. der Studiengang mit den meisten Teilnehmern
steht an erster Stelle usw.
- (1 Punkt)
Bestimmen Sie die Logins aller Studenten, die mindestens ein
Übungsblatt abgegeben haben und (als Tutor) mindestens eines
bewertet haben (jeweils für eine beliebige Vorlesung) - aber
bitteschön ohne Duplikate!
- (1 Punkt)
Ermitteln Sie die Logins aller Teilnehmer von SEP im WS 2004,
die schon an mindestens einer anderen Veranstaltung teilgenommen
haben und geben Sie für jede solche Veranstaltung den Login zusammen
mit LID und Semester aus (ein Student, kann also mehrmals im
Ergebnis vorkommen).
Ein Reference Manual
zu
MySQL ist auf dem Netz verfügbar. Dort können Sie die exakte Syntax
nochmal nachschauen.
Viel Erfolg!
Johannes Mayer
2004-11-19