Yerf!
Meine Fragen beziehen sich vielmehr auf den Start. Bevor ich mir bereits zu Beginn etwas kaputt mache.
Das ist gerade bei Datenbanken eine sehr gute Idee, mit einem schlechten Datenmodell kann man sich später viel Ärger einhandeln.
Was für Tabellen würdet ihr anlegen? Für jeden Spieltag mit den Begegnungen des Tages eine gesonderte Tabelle oder alle Begegnungen einer Saison in einer Tabelle mit entsprechender Spalte "Spieltag"?
Alles gleichartige in eine Tabelle. Es sollte zur Laufzeit der Anwendung nie die Notwednigkeit anfallen neue Tabellen anlegen zu müssen (wie es sonst ja pro Spieltag nötig wäre). Und keine Angst vor vielen Einträgen in einer tabelle, genau dafür wurden Datenbanken erfunden.
Außerdem in gleicher Tabelle die Ergebnisse und Tipps? Oder sollte ich das irgendwie anders aufteilen? Was haltet ihr für sinnvoll?
Ich würde mal so grob Überschlagen 3 Tabellen anlegen: Spiele (mit Spieltag und Ergebnis), Mitspieler und Tipps (mit Zuordnung zu Mitspieler und Spiel)
Also mein erster Ansatz (so ausm Stehgreif, weil die Idee gerade erst gewachsen ist):
Tabelle 1:
id | Heimteam | Auswärtsteam | Spieltag | Erg. H-Tore | Erg. A-Tore | Tipp1 H-Tore | Tipp1 A-Tore | Tipp2 H-Tore | Tipp2 A-Tore | ...
Hier müsstest du zur Laufzeit die Tabellenstruktur anpassen und für jeden weiteren Tipp eine neue Spalte anlegen, auch das ist schlecht. Die Struktur sollte sich nach dem einmaligen Anlegen nicht mehr ändern (außer die Anwendung wird um neue Features erweitert).
Der übliche Weg um zu einer guten Tabellenstruktur zu kommen ist die Normalisierung. Das ist erst mal etwas Lesestoff für eine allgemeine Vorgehensweise (wichtig sind vor allem die ersten 3 Normalformen). Dadurch vermeidet man Redundanz in der Datenhaltung und erhält eine "stabile Struktur".
Gruß,
Harlequin
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->