Universität Würzburg Datenbanken Institut für Informatik Prof. Dr. Dietmar Seipel Dipl.-Inform. Christian Schneiker Dipl.-Inform. Joachim Spoerhase Wintersemester 2009/10 3. Übungsblatt Fallstudie zum Datenbankentwurf Es soll eine Datenbank für die Fußballweltmeisterschaft 2010 in Südafrika 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 vorrangig die Aufgabe, die Arbeit der anderen drei Gruppen abzustimmen. 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 einem Vortrag von ca. 10–15 Minuten und einer kleinen Präsentation vorgestellt werden. Bereiten Sie hierzu entsprechende Unterlagen vor. Präsentation und Diskussion (voraussichtlich): Dienstag, 09. Februar 2010 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 Soccer City–Stadion in Johannesburg 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 Kapstadt stattfinden ? Entwerfen Sie die entsprechenden Tabellen. 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. 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 – Italien ? Richten Sie die erforderlichen Tabellen ein. Entwickeln Sie darüberhinaus 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. 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. Richten Sie hierzu entsprechende 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 WM 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. 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, hat die Gruppe die Arbeit der Benutzergruppen zu organisieren und für ein angenehmes Arbeitsklima zu 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. Die wichtigste Aufgabe des Managements besteht darin, zu jedem Zeitpunkt den Überblick über die einzelnen Tätigkeiten der Gruppen zu 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 der einzelnen Benutzergruppen einmal einzusehen. Dies erleichtert die später zu leistende Koordinierungsarbeit. Implementierungen Für alle Gruppen Sql–Datenbank. Erstellen Sie eine beispielhafte Sql–Datenbank und implementieren Sie Ihre Datenbankanfragen in Sql und Php oder Java/Jdbc. Xml und Html. Repräsentieren Sie die Ergebnisse von Anfragen in Xml, und zeigen Sie diese als Html in einem Web–Browser an. Realisieren Sie gegebenenfalls weitere Selektionsanfragen auf den Xml–Ergebnissen mittels XQuery. Data Mining. Implementieren Sie den A Priori–Algorithmus zum Finden von Frequent Itemsets, und finden Sie Assoziationsregeln in den erstellten Beispieltabellen bzw. in geeigneten, aus der Datenbank extrahierten Sichten. Viel Spaß bei der Bearbeitung !