/**************************************************************************************** * Aufgabe 1 * * Für welche Prüfungen (Fachbezeichnung) müssen noch Prüfungsräume * eingetragen werden. * * fach * ==== * Netz2 * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 2 * * Fügen Sie für das Fach 'Netz2' den fehlenden Raum 'M2.03' ein. * * SELECT fach, raum, beginn, dauer FROM prueft WHERE fach = 'Netz2' ORDER BY beginn; * * fach raum beginn dauer * ============================================================= * Netz2 M2.03 2016-01-29 10:45:00 00:15:00 * Netz2 M2.03 2016-01-29 11:00:00 00:15:00 * Netz2 J2.13 2016-02-01 12:00:00 00:15:00 * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 3 * * Welche Studierenden nehmen an keiner Prüfung teil? * * s_id name * ============ * 6 Frieda * 7 Gerda * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 4 * * Schreiben Sie eine View student_info, die folgende Informationen für einen Studierenden * bereitstellt: * * Identifikator, Name, Wohnort, * Name des Studiengangs, Kürzel des Studiengangs, Abschluss des Studiengangs, * Anzahl der Prüfungen * * SELECT * FROM student_info ORDER BY name; * * s_id name wohnort stg_name stg_kuerzel stg_abschluss anzahl * ======================================================================================== * 1 Anton Augsburg Interaktive Medien IAM BA 1 * 2 Berta Affing Interaktive Medien IAM BA 3 * 3 Cäsar Augsburg Interaktive Medien IAM BA 3 * 4 Dora Augsburg Interaktive Medien IAM BA 1 * 5 Emil München Interaktive Mediensysteme IMS MA 1 * 6 Frieda Bobingen Informatik IN BSc 0 * 7 Gerda München Interaktive Mediensysteme IMS MA 0 * 8 Hans Königsbrunn Informatik IN BSc 2 ***************************************************************************************/ /**************************************************************************************** * Aufgabe 5 * * Welche Studierenden haben die meisten Prüfungen. Geben Sie auch die Anzahl aus. * * Tipp: Verwenden Sie die zuvor definierte View. * * s_id name anzahl * =================== * 2 Berta 3 * 3 Cäsar 3 * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 6 * * Stellen Sie einen Prüfungsplan auf, der für jeden Studenten angibt, wann er * wie lange zu welcher Prüfung wo und bei wem antreten muss. Sortieren Sie das * Ergebnis nach dem Namen der Studenten und nach dem Prüfungbeginn. * * s_id name beginn dauer fach raum pruefer * ===================================================================== * 1 Anton 2016-01-29 10:00:00 00:20:00 MMDB J2.10 Kowarschick * 2 Berta 2016-01-29 10:20:00 00:20:00 MMDB J2.10 Kowarschick * 2 Berta 2016-01-29 10:45:00 00:15:00 Netz2 M2.03 Klever * 2 Berta 2016-01-29 10:45:00 00:15:00 SEng M2.03 Teynor * 3 Cäsar 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 3 Cäsar 2016-01-29 11:00:00 00:15:00 SEng M2.03 Teynor * 3 Cäsar 2016-02-01 11:00:00 00:15:00 Netz2 M2.03 Klever * 4 Dora 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 5 Emil 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 8 Hans 2016-01-29 11:00:00 00:15:00 SEng J2.13 Teynor * 8 Hans 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 Klever ***************************************************************************************/ /**************************************************************************************** * Aufgabe 7 * * Sortieren Sie die Tabelle aus Aufgabe 6 so, dass Mitglieder einer Prüfungsgruppe, * d.h. Studierende, die zur selben Zeit beim selben Prüfer im selben Fach geprüft * werden, untereinander stehen. * * Beachten Sie, dass die Aufgabenstellung nicht eindeutig ist. Es gibt mehrere * korrekte Lösungen. Die nachfolgende Musterlösung ist nur eine dieser Lösungen. * * s_id name beginn dauer fach raum pruefer * ===================================================================== * 2 Berta 2016-01-29 10:45:00 00:15:00 Netz2 M2.03 Klever * 3 Cäsar 2016-01-29 11:00:00 00:15:00 Netz2 M2.03 Klever * 8 Hans 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 Klever * 1 Anton 2016-01-29 10:00:00 00:20:00 MMDB J2.10 Kowarschick * 2 Berta 2016-01-29 10:20:00 00:20:00 MMDB J2.10 Kowarschick * 3 Cäsar 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 4 Dora 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 5 Emil 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 2 Berta 2016-01-29 10:45:00 00:15:00 SEng M2.03 Teynor * 8 Hans 2016-01-29 11:00:00 00:15:00 SEng J2.13 Teynor * 3 Cäsar 2016-02-01 11:00:00 00:15:00 SEng M2.03 Teynor * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 8 * * Formulieren Sie die Anfrage 7 so um, dass an Stelle der Informationen * über den Prüfling die jeweilige Gruppengröße ausgegeben wird. * * anzahl beginn dauer fach raum pruefer * ===================================================================== * 1 2016-01-29 10:45:00 00:15:00 Netz2 M2.03 Klever * 1 2016-01-29 11:00:00 00:15:00 Netz2 M2.03 Klever * 1 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 Klever * 1 2016-01-29 10:00:00 00:20:00 MMDB J2.10 Kowarschick * 1 2016-01-29 10:20:00 00:20:00 MMDB J2.10 Kowarschick * 3 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 1 2016-01-29 10:45:00 00:15:00 SEng M2.03 Teynor * 1 2016-01-29 11:00:00 00:15:00 SEng M2.03 Teynor * 1 2016-02-01 12:00:00 00:15:00 SEng M2.03 Teynor * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 9 * * Bei welchen Studierenden kommt es zu Überschneidungen. Eine Überschneidung ist, * wenn ein Student zur selben Zeit an zwei verschiedenen Prüfungsorten sein muss. * Wenn ein Student zur selben Zeit am selben Ort von zwei Prüfern geprüft wird, * liegt dagegen keine Überschneidung vor. Zum Beispiel halten Prof. Klever und * Prof. Teynor ihre Prüfungen regelmäßig gemeinsam ab. * * Tipp: * OVERLAPS * https://www.postgresql.org/docs/current/static/functions-datetime.html * * s_id name prüfung1 beginn1 ende1 prüfung2 beginn2 ende2 * =================================================================================================================== * 3 Cäsar MMDB 2016-01-29 10:40:00 2016-01-29 11:20:00 Netz2 2016-01-29 11:00:00 2016-01-29 11:15:00 * ***************************************************************************************/ /**************************************************************************************** * Aufgabe 10 * * Aktualisieren Sie die Prüfungstabelle so, dass die Prüfungen von Studierenden des * Studiengangs IAM 4 Tage später stattfinden. * * Ergebnis der Anfrage von Aufgabe 6 nach diesem Update. (Beachten Sie, Emil * und Hans studieren nicht IAM.) * * s_id name beginn dauer fach raum pruefer * ===================================================================== * 1 Anton 2016-02-02 10:00:00 00:20:00 MMDB J2.10 Kowarschick * 2 Berta 2016-02-02 10:20:00 00:20:00 MMDB J2.10 Kowarschick * 2 Berta 2016-02-02 10:45:00 00:15:00 Netz2 M2.03 Klever * 2 Berta 2016-02-02 10:45:00 00:15:00 SEng M2.03 Teynor * 3 Cäsar 2016-02-02 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 3 Cäsar 2016-02-02 11:00:00 00:15:00 SEng M2.03 Teynor * 3 Cäsar 2016-02-05 11:00:00 00:15:00 Netz2 M2.03 Klever * 4 Dora 2016-02-02 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 5 Emil 2016-01-29 10:40:00 00:40:00 MMDB J2.10 Kowarschick * 8 Hans 2016-01-29 11:00:00 00:15:00 SEng J2.13 Teynor * 8 Hans 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 Klever * ****************************************************************************************/ /**************************************************************************************** * Bonusaufgabe * * Wenn Sie diese Aufgabe lösen, wird Ihre Studienarbeit um 0,3 besser bewertet. * * Formulieren Sie die Anfrage 8 so um, dass an Stelle der Gruppengröße * jeweils alle Gruppenmitglieder ausgegeben werden. * * Tipp: ARRAY_AGG * * Nummerieren Sie außerdem für jeden Prüfer die Prüfungen in der zeitlichen Reihenfolge. * * Tipp: https://www.postgresql.org/docs/current/static/tutorial-window.html * (Weiter unten in diesem Dokument wird gezeigt, wie ein Fenster - Window - * definiert werden kann, um die Elemente von verschiedenen Zeilengruppen * zu sortieren und zu nummerieren.) * * Falls Aufgabe 10 gelöst wurde: * * nr pruefer studenten beginn dauer fach raum * =============================================================================== * 1 Klever {Hans} 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 * 2 Klever {Berta} 2016-02-02 10:45:00 00:15:00 Netz2 M2.03 * 3 Klever {Cäsar} 2016-02-02 11:00:00 00:15:00 Netz2 M2.03 * 1 Kowarschick {Emil} 2016-01-29 10:40:00 00:40:00 MMDB J2.10 * 2 Kowarschick {Anton} 2016-02-02 10:00:00 00:20:00 MMDB J2.10 * 3 Kowarschick {Berta} 2016-02-02 10:20:00 00:20:00 MMDB J2.10 * 4 Kowarschick {Cäsar,Dora} 2016-02-02 10:40:00 00:40:00 MMDB J2.10 * 1 Teynor {Hans} 2016-01-29 11:00:00 00:15:00 SEng J2.13 * 2 Teynor {Berta} 2016-02-02 10:45:00 00:15:00 SEng M2.03 * 3 Teynor {Cäsar} 2016-02-05 12:00:00 00:15:00 SEng M2.03 * * Falls Aufgabe 10 nicht gelöst wurde: * * nr pruefer studenten beginn dauer fach raum * =============================================================================== * 1 Klever {Berta} 2016-01-29 10:45:00 00:15:00 Netz2 M2.03 * 2 Klever {Cäsar} 2016-01-29 11:00:00 00:15:00 Netz2 M2.03 * 3 Klever {Hans} 2016-02-01 12:00:00 00:15:00 Netz2 J2.13 * 1 Kowarschick {Anton} 2016-01-29 10:00:00 00:20:00 MMDB J2.10 * 2 Kowarschick {Berta} 2016-01-29 10:20:00 00:20:00 MMDB J2.10 * 3 Kowarschick {Emil,Cäsar,Dora} 2016-01-29 10:40:00 00:40:00 MMDB J2.10 * 1 Teynor {Berta} 2016-01-29 10:45:00 00:15:00 SEng M2.03 * 2 Teynor {Hans} 2016-01-29 11:00:00 00:15:00 SEng J2.13 * 3 Teynor {Cäsar} 2016-02-01 12:00:00 00:15:00 SEng M2.03 ***************************************************************************************/