Übung zur Vorlesung ”Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW)” IN8003, SS 2011 Prof. Dr. J. Schlichter Dr. Georg Groh, Dipl.Inform. Dipl.Geogr. Jan Herrmann, Florian Schulze BSc., Andrea Koelle, Thomas Parsch http://www11.in.tum.de/Veranstaltungen/EinfuehrungInformatikWzwSS11/uebung Blatt 4 • Die Aufgaben können selbständig aber auch gut in der Gruppe bearbeitet werden. Sie sind nicht abzugeben. Es werden detaillierte Musterlösungen bereit gestellt. Wenn Fragen zu Ihrer Lösung auch nach Vergleich mit der Musterlösung bleiben, können Sie Ihre Fragen im Forum posten. • Zur groben Orientierung ist zu jeder Aufgabe eine Einschätzung des Schwierigkeitsgrades bzw. Aufwandes angegeben: * Eher einfach und straightforward ** Schon schwierig oder zumindest aufwändig *** Ziemlich schwierig oder sehr umfangreich. Wenn man diese Aufgabe halbwegs erfolgreich gemeistert hat, kann man ein wenig stolz auf sich sein. Stoff Es wird empfohlen folgendes Material anzusehen: • Folien zur Zentralübung bis Sitzung 5 • A. Kemper , A. Eickler; Datenbanksysteme - Eine Einführung. Oldenbourg Verlag, 2009. 7. Auflage. Aufgabe 1 ** Formulieren Sie entsprechende SQL-Anfragen auf dem Universitätsschema. 1. Finden Sie die Namen der Studenten, die in keiner Prüfung eine bessere Note als 3.0 hatten. 2. Finden Sie die Studenten mit der größten Semesterzahl unter Verwendung von Aggregatfunktionen. Aufgabe 2 * Suchen Sie unter Verwendung von exists die Professoren heraus, die Vorlesungen halten. Finden Sie eine weitere alternative äquivalente Formulierungen dieser Anfrage. Aufgabe 3 *** 1. Gegeben sei ein erweitertes Universitätsschema mit der folgenden StudentenGF -Relation: StudentenGF : {[MatrNr : integer, Name : varchar(20), Semester : integer, Geschlecht : char, FakName : varchar(20)]} Ermitteln Sie den Frauenanteil an den verschiedenen Fakultäten in SQL! 2. Geben Sie für Aufgabe 3.1 eine Lösung unter Verwendung des case-Konstruktes an. Aufgabe 4 ** Formulieren Sie entsprechende SQL-Anfragen auf dem Universitätsschema. 1. Berechnen Sie mit Hilfe einer SQL-Anfrage den Umfang des Prüfungsstoffes jedes Studenten. Es sollen der Name des Studenten und die Summe der Semesterwochenstunden der Prüfungsvorlesungen ausgegeben werden. 2. Bestimmen Sie die Titel der Vorlesungen, deren Umfang der durchschnittlichen Vorlesungsdauer entspricht. 3. Bestimmen Sie die Prüfer, die im Durchschnitt eine Prüfungsnote vergeben, die selbst auch schon mal als Einzelnote vergeben wurde. 4. Berechnen Sie die Gesamtzahl der Semesterwochenstunden, die die einzelnen Professoren erbringen. Dabei sollen auch die Professoren berücksichtigt werden, die keine Vorlesungen halten. 5. Alle Studenten müssen ab sofort alle Vorlesungen von Sokrates hören. Formulieren Sie einen SQL-Befehl, der diese Operation durchführt. Aufgabe 5 ** SQL-Anfragen mit all auf dem Universitätsschema: 1. Bei numerischen Argumenten können Anfragen mit all in äquivalente Anfragen ohne die Verwendung von all umgeformt werden. Geben Sie zu den zwei Vergleichsoperationen >= all und <= all je ein Beispiel und eine passende Umformulierung an. 2. Bestimmen Sie unter Verwendung von all die Vorlesung, die am häufigsten gehört wird.