Ligaverwaltung, Teil 1: Datenmodell

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Für die meisten Sportarten gibt es Wettbewerbe in Ligen. Oder zumindest Turniere, die ja meist auch als kleine Liga angesehen werden können mit Spielpaarungen und Tabellen. Jedenfalls gibt eine Verwaltung solcher Ligen jede Menge Stoff für eine Datenbankanwendung – mit Datenmodell, Abfragen, Formularen zur Eingabe der Daten und Berichten, um Spielpläne und Tabellen auszugeben. Im ersten Teil der Artikelreihe schauen wir uns an, welche grundsätzlichen Anforderungen es gibt und wie das Datenmodell aussieht.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1904_Ligaverwaltung.accdb.

Anforderungen

Was macht eigentlich eine Liga aus Als Erstes haben wir eine Reihe von Mannschaften (wir gehen mal vom Mannschaftssport aus – natürlich kann eine Liga auch für Einzelsportler geschaffen werden). Diese Mannschaften spielen in der Regel jeweils zwei Mal gegeneinander, und zwar jeder gegen jeden. Das ist zumindest die am meisten verbreitete Form und wird etwa im Fußball so praktiziert. Beim Eishockey oder anderen Sportarten spielen die Mannschaften nicht nur zweimal gegeneinander, sondern mehrmals (zumindest in Deutschland).

Paarungen

Neben den Mannschaften brauchen wir also alle Paarungen der Mannschaften. Diese zusammenzustellen ist kein Problem. Mannschaft 1 spielt gegen Mannschaft 2, Mannschaft 3 und so weiter, Mannschaft 2 spielt gegen Mannschaft 3, Mannschaft 4 und so weiter und so fort, bis alle gegen alle auf dem Zettel stehen.

Das Problem ist, daraus einen Spielplan zu machen, bei dem an jedem Spieltag jede Mannschaft nur einmal spielt. Wenn man das etwa für 18 Mannschaften von Hand macht, kann das eine sehr zeitraubende Angelegenheit werden! Und wenn man dann noch in der Haut der Planer der Bundesliga steckt, die berücksichtigen müssen, dass Mannschaften maximal einmal pro Runde zwei Heim- oder zwei Auswärtsspiele hintereinander haben dürfen und Vereine, die nah beieinander liegen, nicht am gleichen Spieltag zuhause spielen dürfen, wird es richtig spannend.

Wir sollen aber maximal darauf achten, dass die Mannschaften so regelmäßig wie möglich abwechselnd Heim- und Auswärtsspiele haben. Was für unsere Spielpaarungen lediglich heißt: Die Mannschaften stehen abwechselnd an Position 1 und Position 2 einer Spielpaarung.

Spieltage

Neben den Mannschaften und Paarungen haben wir schon die dritte Einteilung erwähnt: den Spieltag.

Einen Spieltag definieren wir also als eine Einheit mit Spielpaarungen, an denen jede Mannschaft genau einmal vorkommt.

Ergebnisse

Meist endet eine Paarung mit einem Resultat, das in Toren oder Punkten angegeben wird, wobei die Anzahl dieser Tore oder Punkte auch noch über die Vergabe der eigentlich wichtigen Punkte entscheidet.

Jetzt wird es kompliziert, wenn man es Nicht-Sportlern erklären will. Beim Fußball (und bei anderen Sportarten, wo es um Tore geht – bei denen wir bleiben wollen) ist es einfach: Jede Mannschaft hat nach einem Spiel eine Anzahl von Toren erzielt. Die Mannschaft mit mehr Toren erhält drei Punkte, die andere keinen. Wenn beide gleichviel Tore erzielt haben, bekommt jede Mannschaft einen Punkt.

Tabellen

Die Punkte und die Tore geben an, wie die Reihenfolge der Mannschaften in der Tabelle aussieht. Das erste Kriterium sind die Punkte. Wenn zwei oder mehr Mannschaften gleichviele Punkte haben, wird die Tordifferenz herangezogen, also die Differenz der in allen bisherigen Spielen geschossenen Tore und der in allen Spielen erhaltenen Gegentore.

Ist auch die Tordifferenz gleich, wird die Anzahl der geschossenen Tore berücksichtigt. Ein Torverhältnis von 10:5 ist dann als besser als 9:4. Ist das Torverhältnis identisch, wird (meines Wissens) der direkte Vergleich zwischen den betroffenen Mannschaften herangezogen.

Wenn zwei Mannschaften die gleiche Anzahl Punkte haben und auch ihr Torverhältnis gleich ist, schaut man sich die beiden Spiele der Mannschaften gegeneinander an – sind auch die gleich, entscheiden Kriterien, die nicht mehr Bestandteil der Daten sind, die wir mit unserer Ligaverwaltung erfassen wollen.

Ohnehin werden nur am Ende der Saison Erbsen gezählt, wenn es um die Endplatzierung geht. Bis dahin belegen punkt- und torgleiche Mannschaften einfach den gleichen Platz.

Wollen wir die Tabellenstände eigentlich speichern oder berechnen wir diese immer zum aktuellen Zeitpunkt Grundsätzlich wollen wir redundante Daten vermeiden.

Wenn wir also eine Tabelle, die sich allein aus den Ergebnissen der Mannschaften gegeneinander bis zum Zeitpunkt X errechnet, in einer Access-Tabelle speichern, und zwar beispielsweise nach jedem abgeschlossenen Spieltag, haben wir redundante Daten.

Allerdings könnte man aus den Tabellenständen an verschiedenen Spieltagen auch ableiten wollen, wie etwa die Entwicklung der Position einer Mannschaft über die Spieltage verläuft – und warum dann immer alle Spieltage neu berechnen

Mehrere Ligen

Nun gibt es nicht nur eine Liga, sondern gleich eine ganze Menge – beim Fußball beginnend abwärts mit der zweiten Liga, der dritten Liga und dann geht es weiter mit jeweils mehreren Oberligen, Regionalligen und so weiter. Wir sollten also auch berücksichtigen, dass ein Benutzer nicht nur eine, sondern gleich mehrere Ligen in einer Datenbank verwalten möchte.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar