Name: Matrikelnummer: Informatik für Ökonomen II – Übung 2 Ausgabe: Abgabe: Donnerstag, den 16. Oktober 2008 Donnerstag, den 23. Oktober 2008 Einleitung Das Ziel dieser Übung ist es, SQL zu üben und zu verstehen. Als Grundlage dient die Beispieldatenbank, die auf der letzten Seite dieser Übung abgebildet ist und Sie bereits in Übung 0 installiert haben. Mit MySQL können Sie überprüfen, ob Ihre Anfragen die gewünschten Ergebnisse liefern. Bitte verwenden Sie keinen Bleistift und keine rotfarbigen Schreibutensilien. Gruppenabgaben werden nicht akzeptiert. Aufgabe 1: Einfache Anfragen (15 Punkte) Schreiben Sie SQL-Statements, welche die folgenden Daten ermitteln bzw. Fragen beantworten und geben Sie die SQL-Statements sowie deren Resultate an. a) Die Namen aller Projekte. b) Welche Angestellten verdienen weniger als 45000? Geben Sie die AHVNummern dieser Angestellten an. c) Vor- und Nachnamen der weiblichen Angestellten aus der Abteilung 8. Aufgabe 2: Anfragen verstehen (15 Punkte) Beschreiben Sie in eigenen Worten, was mit den folgenden SQL-Statements abgefragt werden soll. Maximal 1 Satz! a) SELECT ang.NName FROM Angestellter ang, Abt_Ort ao WHERE ang.Abt = ao.ANummer AND ao.AOrt = 'Baden'; b) (SELECT AHV FROM Angestellter) minus (SELECT Ang FROM Angehoeriger) c) SELECT AHV, VName, NName FROM Angestellter WHERE Abt = 1 Order by AHV desc; Seite 1 von 4 Name: Matrikelnummer: Aufgabe 3: Komplexere Anfragen (54 Punkte) Schreiben Sie SQL-Statements, welche die folgenden Daten ermitteln bzw. Fragen beantworten und geben Sie die SQL-Statements sowie deren Resultate an. a) Welche Angestellten wohnen entweder in Zürich oder in Dübendorf? Nennen Sie den VNamen, den NNamen und die Adresse dieser Angestellten. b) Welche Angestellten haben eine Tochter? Nennen Sie den Nachnamen und das Geburtsdatum dieser Angestellten. c) Wie viele Stunden - benannt als ‚AufwandDLZ’ - wurden bisher insgesamt schon am Projekt mit dem Namen ‚DienstleistungZ’ gearbeitet? d) Welche Angestellten arbeiten in Kloten? Nennen Sie die Abteilungsnummer und den Nachnamen dieser Angestellten. Sortieren Sie die Ergebnisse zuerst aufsteigend nach Abteilungsnummern und dann absteigend nach Nachnamen. e) Gesucht sind die Abteilungen, in denen mehr als eine Frau arbeitet. Geben Sie die Abteilungsnummer, den Abteilungsnamen sowie die Anzahl der weiblichen Angestellten (als WA) dieser Abteilung an. Sortieren Sie die Ergebnistupel absteigend nach der Anzahl der weiblichen Angestellten. Aufgabe 4: Fragen (16 Punkte) Kreuzen Sie Zutreffendes an. Zu jeder Frage können mehrere Antworten richtig sein. Bitte beachten Sie, dass Ihnen für jedes falsch gesetzte Kreuz gleich viele Punkte abgezogen werden wie Sie für eine korrekte Ankreuzung erhalten. Negative Punktzahlen ergeben null Punkte für die betreffende Frage. Frage 1 (4 Punkte) Kreuzen Sie an, welche Aussagen richtig und welche falsch sind. Der UNION-Operator eliminiert Duplikat-Tupel. UNION ALL lässt Duplikat-Tupel zu. UNION ist ein unärer Operator. Die Attribute der mit UNION verbundenen SQLAnfragen können unterschiedlichen Datentyps sein, solange ihre Namen identisch sind. richtig falsch Seite 2 von 4 Name: Frage 2 Matrikelnummer: (4 Punkte) Gegeben sei folgende SQL-Anfrage: SELECT Abt, AName, count(AHV) as Mitarbeiter, sum(Salaer) as Salaer_Total FROM Angestellter, Abteilung WHERE Abt=ANummer GROUP BY ... Welche Attribute müssen in der GROUP BY-Klausel angegeben werden. Kreuzen Sie an, welche Antworten richtig und welche falsch sind. Abt AName AHV Salaer Frage 3 richtig falsch (4 Punkte) Was bedeutet der Stern in der SELECT-Klausel? Kreuzen Sie an, welche Antworten richtig und welche falsch sind. Alle Attribute der spezifizierten Relation werden ausgewählt. Keine Attribute der spezifizierten Relation werden ausgewählt. Nur die Schlüsselattribute der spezifizierten Relation werden ausgewählt. Alle Attribute ausser den Schlüsselattributen der spezifizierten Relation werden ausgewählt. Frage 4 richtig falsch (4 Punkte) Welche SQL-Schlüsselwörter bewirken eine ansteigende Sortierung nach Attribut A? Kreuzen Sie an, welche Antworten richtig und welche falsch sind. Order by A Order by A desc Having A asc Order by A asc richtig falsch Seite 3 von 4 Name: Matrikelnummer: Beispieldate nbank Ang es tell ter AHV 1211 1322 1930 2031 2231 2533 2592 2721 2938 4077 4655 5908 6608 6736 6799 7213 7639 8567 8606 8635 8951 9260 9970 VName Susanne Hans Peter Fritz Sepp Franziska Melanie Ruth Giuseppe Armando Michael Kurt Mirella Ruedi Sara Julia Sonja Nadine Andreas Beate Marc Boris Fabian NName Geist Mueller Sachs Kuster Meier Haus Patz Petschen Wagner Verdi Schneider Huesli Freni Becker Ruf Lang Maradona Gut Fuchs Tell Stocker Frisch Graber Arb ei tet_ An Proje kt Ang Stunden 1 2938 20 1 5908 32 1 6799 45 2 2938 20 2 5908 7 2 7213 10 2 8635 10 3 6799 12 3 7213 45 3 7639 43 3 8635 12 6 2938 24 6 5908 35 6 6799 42 7 2938 26 7 5908 4 7 7213 12 7 8635 14 8 6799 6 8 7213 43 8 7639 43 8 8635 15 10 4077 35 10 6736 10 10 8635 10 10 9970 23 20 6608 0 20 8606 23 20 8635 10 20 8951 18 20 9260 15 30 4077 5 30 4655 20 30 6736 30 30 8567 24 30 9260 20 Gebt ag 1976-05-30 1972-01-02 1982-12-17 1956-03-23 1966-03-07 1976-11-23 1974-11-30 1963-12-11 1979-03-04 1972-08-19 1978-06-11 1973-12-30 1968-06-22 1979-12-24 1984-12-02 1980-01-30 1974-11-11 1976-08-28 1972-11-07 1970-01-14 1970-03-17 1981-06-03 1981-04-23 Adress e Zuerich Muenchwilen Basel Thalwil Bern Bern Altstaetten Bern Zuerich Duebendorf Thalwil Zuerich Duebendorf Wallisellen Zug Zug Bern Dietikon Kloten Kuessnacht Wallisellen Zug Zuerich Ges chl ec ht w m m m m m w m m m m m w m w w w w m w m m m Salae r Vor ges Abt 55000 9260 4 63000 6608 1 46000 6608 1 68000 6608 7 65000 6608 6 65000 6608 8 55000 2231 6 45000 2231 6 45000 8635 5 45000 9260 4 35000 6608 4 50000 8635 5 75000 0 1 45000 9260 4 25000 8635 5 40000 8635 5 48000 8635 5 30000 6608 4 65000 6608 1 60000 6608 5 68000 6608 1 33000 6608 4 32000 9260 4 Ab t _Or t Proje kt PNumme r 1 2 3 6 7 8 10 20 30 PName ProduktX ProduktY ProduktZ DienstleistungX DienstleistungY DienstleistungZ Informatik Reorganisation Soziales POrt Abt Zug 5 Baden 5 Kloten 5 Genf 6 Zuerich 6 Lugano 6 Zuerich 4 Kloten 1 Zuerich 4 ANumme r 1 4 5 5 5 6 6 6 7 8 AOrt Kloten Zuerich Baden Kloten Zug Baden Kloten Zug Wallisellen Zuerich Ab teil ung ANumme r 1 4 5 6 7 8 AName Leite r Management 6608 Verwaltung 9260 Forschung 8635 Produktion 8635 IT 8635 HR 8635 Anfdatum 2003-06-19 2004-01-01 2001-05-22 2001-07-12 2002-07-02 2003-11-13 A ng ehoer ig er Name Alice Alice Beat Franz Greti Lisa Max Natalia Peter Ralph Ueli Ang 5908 8635 5908 2592 9260 5908 9260 2592 8635 2592 8635 Ges chl ec ht w w m m w w m w m m m Gebt ag 2005-12-31 2001-04-05 2002-01-01 1968-12-13 1983-02-28 1977-05-05 2002-01-18 2000-12-13 2004-10-25 1998-10-31 1968-05-03 Ver wgrad Tochter Tochter Sohn Ehemann Ehefrau Ehefrau Sohn Tochter Sohn Sohn Ehemann Seite 4 von 4