3. ¨Ubungsblatt Fallstudie zum Datenbankentwurf

advertisement
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 !
Herunterladen