4. Tutorübung zu Grundlagen: Datenbanken Chaoran Chen [email protected] 03.11 - 09.11.2014 SQL Teile von SQL • Vier große Teile: I I I I DRL: Data Retrieval Language DML: Data Manipulation Language DDL: Data Definition Language DCL: Data Control Language 3 / 80 SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. where p.persnr = v.gelesenvon -- Selektion SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. where p.persnr = v.gelesenvon -- Selektion and p.name = ’Sokrates’ -- Selektion SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. where p.persnr = v.gelesenvon -- Selektion and p.name = ’Sokrates’ -- Selektion Prädikate in where-Klausel: and , or , not SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. where p.persnr = v.gelesenvon -- Selektion and p.name = ’Sokrates’ -- Selektion Prädikate in where-Klausel: and , or , not Vergleichsop.: =, <>, <, <=, >, >=, between : where semester between 2 and 4 like : where name like ’M%’ SQL Gesucht: Titel der Vorlesungen, die von Sokrates gelesen werden. select v.titel -- Projektion from professoren p, vorlesungen v -- Umbenenn., Kreuzp. where p.persnr = v.gelesenvon -- Selektion and p.name = ’Sokrates’ -- Selektion Prädikate in where-Klausel: and , or , not Vergleichsop.: =, <>, <, <=, >, >=, between : where semester between 2 and 4 like : where name like ’M%’ distinct : Duplikateliminierung select distinct name ... Aggregatfunktionen 1. 2. 3. 4. 5. Anzahl Elemente: count () Summe: sum () Durchschnitt: avg () Maximum: max () Minimum: min () Aggregatfunktionen 1. 2. 3. 4. 5. Anzahl Elemente: count () Summe: sum () Durchschnitt: avg () Maximum: max () Minimum: min () select count (*) from professoren p Aggregatfunktionen 1. 2. 3. 4. 5. Anzahl Elemente: count () Summe: sum () Durchschnitt: avg () Maximum: max () Minimum: min () select count (*) from professoren p select s.name from studenten s where s.semester = ( select max (s2.Semester) from Studenten s2) Professoren Vorlesungen Studenten Rang Raum MatrNr Name Semester VorlNr PersNr Name 2125 Sokrates C4 226 24002 Xenokrates 18 2126 Russel C4 232 25403 Jonas 12 2127 Kopernikus C3 310 26120 Fichte 10 2133 C3 52 26830 Aristoxenos C3 309 27550 Schopenhauer Popper 2134 Augustinus 8 6 2136 Curie C4 36 28106 2137 Kant C4 7 29120 Theophrastos 2 29555 2 hören Carnap 3 Feuerbach Titel SWS gelesen Von 5001 00 G d Grundzüge 4 2 3 2137 5041 Ethik 4 2125 5043 Erkenntnistheorie 3 2126 5049 Mä tik Mäeutik 2 2125 4052 Logik 4 2125 5052 Wissenschaftstheorie 3 2126 5216 Bi thik Bioethik 2 2126 5259 Der Wiener Kreis 2 2133 5022 Glaube und Wissen 2 2134 4630 Di 3 Kritiken Die K itik 4 2137 MatrNr VorlNr voraussetzen 26120 5001 Vorgänger Nachfolger 27550 5001 5001 5041 27550 4052 5001 5043 28106 5041 5001 5049 PerslNr Name Fachgebiet 28106 5052 5041 5216 3002 Platon Ideenlehre 2125 28106 5216 5043 5052 3003 Aristoteles Syllogistik 2125 28106 5259 5041 5052 3004 Wittgenstein Sprachtheorie 2126 29120 5001 5052 5259 3005 Rhetikus Planetenbewegung 2127 29120 5041 prüfen 3006 Newton Keplersche Gesetze 2127 29120 5049 MatrNr VorlNr PersNr Note 3007 Spinoza Gott und Natur 2126 29555 5001 28106 5001 2126 1 29555 5022 25403 5041 2125 2 25403 5022 27550 4630 2137 2 Assistenten Boss Hausaufgabe 2 Formulieren Sie folgende Anfragen auf dem bekannten Universitätsschema in SQL: 1. Finden Sie die Studenten, die Sokrates aus Vorlesung(en) kennen. 2. Finden Sie die Studenten, die Vorlesungen hören, die auch Fichte hört. 3. Finden Sie die Assistenten von Professoren, die den Studenten Fichte unterrichtet haben – z.B. als potentielle Betreuer seiner Diplomarbeit. 4. Geben Sie die Namen der Professoren an, die Xenokrates aus Vorlesungen kennt. 5. Welche Vorlesungen werden von Studenten im Grundstudium (1.-4. Semester) gehört? Geben Sie die Titel dieser Vorlesungen an. Hausaufgabe 3 Gegeben sei die folgende Relation Zehnkampf mit Athletennamen und den von ihnen erreichten Punkten im Zehnkampf: Name Eaton Suarez Behrenbruch Hardee ... Punkte 8869 8523 8126 8671 ... 1. Ermitteln Sie die Goldmedaillengewinner in SQL. (Eine Goldmedaille bekommen alle Athleten, für die gilt: es gibt niemand besseren (also mit mehr Punkten).) 2. Ermitteln Sie die Silbermedaillengewinner in SQL. (Eine Silbermedaille bekommen alle, für die gilt: es gibt genau eine/n bessere/n.)