Übungsaufgaben zur Datenbank VEREIN“ ” Holger Jakobs – [email protected], [email protected] 2011-04-15 Inhaltsverzeichnis 1 Einfache Selektion und Projektion 1 2 Abfragen mit Sortierung 2 3 Abfragen mit Aggregatfunktionen 2 4 Abfragen mit Bezug auf NULL-Werte 3 5 Abfragen mit Ähnlichkeitssuche 3 6 Abfragen mit Verbund-Operationen 3 7 Abfragen mit Unterabfragen 4 8 Gemischte Aufgaben 4 Verbinden Sie sich mit der Vereinsdatenbank1 und lösen Sie die folgenden SELECT-Aufgaben. Speichern Sie Ihre Lösungen in Dateien! Gesucht sind ... 1 Einfache Selektion und Projektion 1. Spieler mit der Verbandsnummer 2411. 2. Namen und Wohnorte der Spieler, die nicht in Düsseldorf wohnen. 3. Namen und Wohnorte der Spieler aus Krefeld und Meerbusch. 1) http://homepage.bg.bib.de/~bibjah/cgi-bin/dab_verein_pg.tcl.cgi 1 3 ABFRAGEN MIT AGGREGATFUNKTIONEN 4. Nummern, Geburtsjahre und Beitrittsjahre aller Spieler, die genau 17 Jahre nach ihrer Geburt dem Verein beigetreten sind. 5. Nummern aller Spieler, die nach 1985 geboren wurden. 6. Nummer von jedem Team, das einen anderen Mannschaftskapitän hat als den Spieler mit der Nummer 27. 7. Nummer von jedem Spieler, der für irgendein Team mehr Wettkämpfe gewonnen als verloren hat. 8. Nummer von jedem Spieler, der für irgendein Team an insgesamt 10 Wettkämpfen teilgenommen hat. 9. Nummern, Wohnorte und Geburtsjahre der Spieler, die entweder in Düsseldorf wohnen oder 1988 geboren wurden, nicht jedoch der Spieler, die in Düsseldorf wohnen und 1988 geboren wurden. 10. Name, Vorname und Wohnort von jeder Spielerin, die nicht in Düsseldorf wohnt. 11. Nummern der Spieler, die zwischen 1995 und 2000 dem Verein beigetreten sind. 2 Abfragen mit Sortierung 12. Spielernummer und Verbandsnummer von jedem Spieler, der in Düsseldorf wohnt; sortiert nach Verbandsnummer. 13. Namen der Spieler, die in Ratingen, Krefeld, Neuss oder Hilden wohnen, sortiert nach Postleitzahl. 3 Abfragen mit Aggregatfunktionen 14. die Anzahl der Teams. 15. das durchschnittliche Geburtsjahr der Vereinsmitglieder. 16. das Geburtsjahr des jüngsten Vereinsmitglieds. 17. Orte, denen nur eine einzige Verbandsnummer zugeordnet ist. 2 6 ABFRAGEN MIT VERBUND-OPERATIONEN 4 Abfragen mit Bezug auf NULL-Werte 18. Nummern und Titel der Spieler, die über einen Titel verfügen. 19. Namen und Titel aller Spieler, die nicht Dr.“ sind. ” 20. Nummern aller Spieler, die keine Verbandsnummer haben. 21. alle vorkommenden Titel. 5 Abfragen mit Ähnlichkeitssuche 22. Namen der Spieler, deren Nachnamen mit ’B’ beginnen. 23. Namen aller Spieler, deren Namen folgenden Bedingungen genügen: enthält die Buchstabenkombination ’en’, ist 4 Zeichen lang, hat auf der zweiten und vorletzten Position den Buchstaben ’p’. Hinweis: Das sind drei einzelne Aufgaben! 6 Abfragen mit Verbund-Operationen 24. Mannschaftskapitäne mit Teamnummer und Namen. 25. Nummern und Namen der Spieler, die an mindestens einem Wettkampf teilgenommen haben. 26. Nummern und Namen aller Spieler, die mindestens eine Strafe bekommen haben. 27. Name und Vorname des Spielers, der das Team 1 anführt. 28. Namen aller Spieler, die genau eine Strafe erhalten haben. 29. Namen der Spieler, die Mannschaftskapitäne sind. 30. Nummern, Namen und Vornamen aller Spieler, die mehr als eine Strafe erhalten haben. 31. Nummern, Namen und Vornamen der Spieler, für die Bußgeld von mehr als 150 ¿ entrichtet werden musste. 32. Nummern und Namen der Spieler, die 2005 ihre letzte Strafe erhalten haben. 33. Namen und Nummern der Spieler, die mindestens eine Strafe erhalten haben und für die der Mittelwert der Bußgelder unter 50 ¿ liegt. 3 8 GEMISCHTE AUFGABEN 34. Namen der Spieler, die mehr als eine Strafe erhalten haben. 35. alle Spieler mit ihrer Spielernummer, die älter als P. Peters sind. 7 Abfragen mit Unterabfragen 36. Nummern und Namen der Spieler, die an mindestens einem Wettkampf teilgenommen haben. 37. Nummern und Namen aller Spieler, die mindestens eine Strafe bekommen haben. 38. Name und Vorname des Spielers, der das Team 1 anführt. 39. Namen und Vornamen aller Spieler, die älter als P. Peters sind. 40. Namen und Geburtsjahre der ältesten Spieler. Mit den ältesten Spielern sind die Spieler gemeint, deren Geburtsjahr kleiner als das Geburtsjahr jedes anderen Spielers ist oder mit diesem übereinstimmt. 41. Namen und Geburtsjahre aller Spieler, die nicht zu den ältesten Spielern gehören. 42. Namen aller Spieler, die genau eine Strafe erhalten haben. 43. Namen der Spieler, die Mannschaftskapitäne sind. 8 Gemischte Aufgaben Ab hier wählen Sie bitte selbst, mit welchen Mitteln Sie die Lösung finden. 44. die Anzahl der Spieler, die in Düsseldorf wohnen. 45. der Betrag der höchsten Strafe. 46. die durchschnittlichen Strafen der Spieler, die irgendwann einmal für Team 1 gespielt haben. 47. Nummern aller Spieler (keine Doppelnummern), die schon einmal bestraft wurden, also mindestens eine Strafe erhalten haben. 48. Spielernummern und Anzahlen der Strafen für die Spieler, die mindestens eine Strafe erhalten haben. 49. Namen und Geburtsjahre aller Spieler, die jünger sind als der Durchschnitt der Spieler. 50. Namen und Gesamtanzahl gewonnener Wettkämpfe der Spieler, die die meisten Wettkämpfe gewonnen haben. 4 8 GEMISCHTE AUFGABEN 51. für jede Strafe die Spielernummer und das Datum, sortiert nach Spielernummern und innerhalb der Gruppe gleichlautender Spielernummer nach Datum. 52. Spieler mit der Summe der Strafen, die sie zahlen mußten. Bei einem inner join“ ent” hält das Ergebnis nur die bereits bestraften Spieler, bei einem outer join“ alle Spieler, ” d. h. die Anzahl der Tupel in der Ergebnistabelle ist gleich der Anzahl der Tupel in der Tabelle SPIELER. Erzeugen Sie den outer join“ einmal durch Verwendung von ” UNION und einmal durch Verwendung des in SQL enthaltenen left join“. ” 53. Namen aller Spieler, die für irgendein Team mehr Wettkämpfe verloren als gewonnen haben. 54. Namen aller Spieler, die 2000 keine Strafe erhalten haben. 55. Nummern der Spieler, die mindestens eine Strafe in Höhe eines Betrags erhalten haben, der mindestens zweimal als Strafe vergeben wurde. $Id: sel_ueb.tex,v bfbf9b2770d9 2009/10/01 10:58:11 bibjah $ 5