Universität Würzburg Datenbanken Institut für Informatik Prof. Dr. Dietmar Seipel Dr. Joachim Spoerhase Wintersemester 2012/13 2. Übungsblatt Fallstudie zum Datenbankentwurf Es soll eine Datenbank für die Fußball–Weltmeisterschaft 2014 in Brasilien entworfen werden. Diese Aufgabe wird in Teilaufgaben zerlegt, die von verschiedenen Gruppen berabeitet werden. Die Gruppenaufteilung hierzu findet in der Vorlesung statt. Die einzelnen Gruppen vertreten die Interessen 1. der Veranstalter, 2. des internationalen Fußballverbandes (Fifa), 3. der Presse, 4. des Entwurfsmanagements. Das Entwurfsmanagement hat dabei die Aufgabe, die Arbeit der anderen drei Gruppen abzustimmen und zu integrieren. Die Vertreter der einzelnen Gruppen haben hierbei nicht nur unterschiedliche Anforderungen, was den Informationsbedarf betrifft, sondern auch verschiedene Vorstellungen über die Modellierung. Die Aufgabenstellungen zu den einzelnen Teilaufgaben werden auf den folgenden Seiten genauer erläutert. Die Ergebnisse sollen von den einzelnen Gruppen in Ausarbeitungen (insgesamt 40 Punkte) und einer kleinen Präsentation von ca. 10–15 Minuten (20 Punkte) vorgestellt werden. Bereiten Sie hierzu entsprechende Unterlagen vor. Präsentation und Diskussion (voraussichtlich): Mittwoch, 19. Dezember 2012, in den Übungen 1 Veranstalter Diese Gruppe ist verantwortlich für die Organisation und den Ablauf der Spiele. Dies betrifft Themen wie Kartenverkauf, Bandenwerbung oder Sicherheit. Erstellen Sie ein ER–Diagramm für den Teil der Datenbank, der die Veranstalter betrifft. Berücksichtigen Sie in diesem ER–Diagramm den Spielplan und die notwendigen organisatorischen Informationen. Typische Fragen, die mit der Datenbank beantwortet werden sollen, sind: 1. Wieviele Karten gibt es noch für die Halbfinals ? Wie teuer sind diese, und in welchem Block befinden sich die entsprechenden Plätze ? 2. Für welche Spiele kann noch Bandenwerbung verkauft werden und zu welchem Preis ? 3. Wer wird für das Eröffnungsspiel als Ehrengast erwartet ? 4. Wieviele Reporterplätze stehen im Maracanã–Stadion in Rio de Janeiro zur Verfügung ? Wer hat sich für diese Reporterplätze bei welchem Spiel angemeldet ? 5. Wie hoch sind die Gesamteinnahmen aus dem Kartenverkauf bisher ? 6. Gibt es noch Karten für Spiele, die in Belo Horizonte stattfinden ? Realisieren Sie darüberhinaus ein oder zwei einfache Datenbankprogramme, die für die Veranstalter nützliche Informationen liefern, z.B. eine Übersicht über die noch verfügbaren Kartenkontingente. 2 Internationaler Fußballverband (Fifa) Diese Gruppe ist für die Bereitstellung der für den Spielbetrieb notwendigen Daten und die Aufzeichnung sämtlicher Ergebnisse und sonstiger relevanter Daten verantwortlich. Für die einzelnen Mannschaften müssen die Spieler mit den zugehörigen Rückennummern, den Positionen (Torwart, Verteidigung, Mittelfeld oder Angriff) und den Vereinen abgelegt werden können. Weiterhin müssen Tabellen für die bei den Spielen anfallenden Daten definiert werden, z.B. welcher Schiedsrichter eingesetzt wurde oder wer gelbe Karten erhalten hat. Typische Fragen, die mit der Datenbank beantwortet werden sollen, sind: 1. Welches Team hat die wenigsten gelben Karten erhalten ? 2. Welcher Spieler schoß bisher die meisten Tore ? 3. Fielen mehr Tore vor oder nach der Halbzeit ? 4. Wieviele gelbe Karten gab es im Durchschnitt pro Spiel ? 5. Wie heißt der Schiedsrichter des Spiels Deutschland – Brasilien ? Erstellen sie ein entsprechendes ER–Modell. Entwickeln Sie weiterhin ein Datenbankprogramm, das den Schiedsrichtereinsatzplan auf Korrektkeit überprüft. Hierbei sollen mindestens folgende Punkte berücksichtigt werden: 1. Zu jedem Spiel gehören ein Schieds– und zwei Linienrichter. 2. Linienrichter können nicht als Schiedsrichter eingesetzt werden und umgekehrt. 3. Linien– und Schiedsrichter dürfen nicht in der Gruppe eingesetzt werden, in der die Mannschaft ihres Landes spielt. 4. Linien– und Schiedsrichter dürfen nicht an zwei Tagen hintereinander eingesetzt werden. 3 Presse Diese Gruppe ist für die Unterstützung der Medienvertreter verantwortlich. Diese stehen in der Regel unter Zeitdruck und benötigen sehr schnell gezielte Informationen. Erstellen Sie ein entsprechendes ER–Modell. Richten Sie Dienste ein, die die gewünschten Information kompakt anbieten. Diese Dienste sollen auf den Tabellen basieren, die von der Gruppe internationaler Fußballverband angeboten werden, und eventuell auf weiteren, die speziell für die Presse angeboten werden. Beispiele für solche Dienste sind: 1. Erstellung eines Reports für einen Spieler. Nach der Eingabe einer Rückennummer und der Mannschaft wird ein Report für den betreffenden Spieler erstellt, mit Angabe des Namens, der Position, des Alters, des Vereins, in dem Verein er spielt, der Anzahl seiner bisher absolvierten Länderspiele und seiner bisher bei dieser Weltmeisterschaft geschossen Tore. 2. Automatische Berechnung der Tabellen für die Gruppen in der Vorrunde. 3. Erstellung eines Spielberichtes. Dieser enthält die Mannschaftsaufstellungen inklusive der Anzahl der Länderspiele für die einzelnen Spieler, das Ergebnis, die Torschützen mit der Angabe der Spielminute, die Schiedsrichter, die Zuschauerzahl, sowie besondere Vorkommnisse wie Platzverweise. Realisieren Sie mindestens die oben skizzierten Dienste. 4 Entwurfsmanagement Das Entwurfsmanagement hat die Aufgabe, den Entwurf der Datenbasis trotz unterschiedlicher Interessen und fachlicher Probleme voranzutreiben und zeitgerecht abzuschließen. Um dieses übergeordnete Ziel zu erreichen, soll die Gruppe die Arbeit der Benutzergruppen mit organisieren und für ein angenehmes Arbeitsklima sorgen. Detaillierung der Aufgaben dieser Gruppe: 1. Die Gruppe hat eine Vorgehensweise für die Integration der lokalen Sichten zu erarbeiten. Für die Integrationsphase wird ein Sitzungsleiter von dieser Gruppe gestellt. Hierbei ist insbesondere eine geschickte Vorgehensweise zur Koordinierung der gemeinsamen Arbeit der Einzelgruppen notwendig. 2. Eine weitere Aufgabe des Managements ist die Auswahl eventueller technischer Hilfsmittel für die einzelnen Entwurfsphasen. Die Vorschläge sollten mit den Benutzergruppen abgestimmt werden. Beispielsweise kann es die Arbeit erleichtern, wenn beim Entwurf des relationalen Schemas Formulare eingesetzt werden. 3. Das Management soll zu jedem Zeitpunkt den Überblick über die einzelnen Tätigkeiten der Gruppen besitzen. Nur so ist gewährleistet, daß möglichst früh fehlerhaften Entwicklungen entgegengewirkt werden kann. Um dem Management die Möglichkeit zu geben, den Überblick über die Gesamtanwendung zu behalten, wird empfohlen, alle Anforderungen und Resultate der einzelnen Benutzergruppen frühzeitig einzusehen. Dies erleichtert die später zu leistende Koordinierungsarbeit. 5 Zeitplan ER–Entwurf. Die Benutzergruppen 1 – 3 erstellen lokale ER–Sichten. Eine Ausarbeitung dazu soll bis Freitag, den 09.11.2012, abgegeben werden (20 Punkte). Integration. Das Entwurfsmanagement (Gruppe 4) integriert die lokalen ER–Sichten und erstellt ein entsprechendes relationales Datenbankschema. Ein Ausarbeitung dazu soll bis Freitag, den 23.11.2012, abgegeben werden (40 Punkte). Implementierungen. Für die Benutzergruppen 1 – 3: • Erstellen Sie eine beispielhafte Sql–Datenbank und implementieren Sie Ihre Datenbankanfragen in Sql und Java/Jdbc oder Php. • Optional: Repräsentieren Sie die Ergebnisse von Anfragen in Xml, und zeigen Sie diese als Html in einem Web–Browser an. Ein Ausarbeitung dazu soll bis Freitag, den 07.12.2012, abgegeben werden (20 Punkte). Viel Spaß bei der Bearbeitung ! 6