Hallo,
ich hoffe meine Frage ist nicht zu allgemein...
Ich habe eine Datenbank in der Fußballspiele mit Ergebnissen, den beteiligten Mannschaften usw. eingetragen sind.
Die Mannschaften sind in einer eigenen Tabelle und werden über die ID in die Spieleübersicht eingebunden.
Nun ändern sich ab und an mal (leider relativ häufig) die Vereinsnamen.
Ich habe mir 2 Varianten überlegt, wie ich trotzdem immer den gerade aktuellen Namen eines Vereins in der Spieleliste anzeigen kann, sind aber beide noch nicht so das wahre, ich befürchte, dass sich dadurch der Seitenaufbau sehr stark verlangsamt.
Variante A
Ich füge in der Mannschaften Tabelle ein Feld mit einem Flag hinzu, dass 1 ist, wenn eine Mannschaft umbenannt wurde, und 0, wenn nicht.
In einer weiteren Tabelle notiere ich die Mannschaft IDs, ein Datum und den neuen Namen.
Falls in der Mannschafts-Tabelle bei einer Mannschaft eine 1 steht, untersuche ich das Datum und hole mir entsprechenden neuen Namen aus der Umbenennungen-Tabelle.
Variante B
Ich lege neue Mannschaften an mit einer eigenen ID und führe 2 gleiche Mannschaften, wo sich nur der Name geändert hat anhand einer Tabelle zusammen in der ein Datum(an dem der Verein umbennant wurde) und die alte und die neue ID steht.
Bei Variante B müsste ich aber bei wirklich jedem Spiel für beide Mannschaften in die Umbenennung-Tabelle gucken, ob ihre Id dort vorkommt. Bei Variante A müsste ich das nur wenn eine 1 gesetzt ist.
Welche Variante würdet ihr mir empfehlen, bzw gibt es vielleicht eine ganz andere Heransgehensweise, an die ich noch gar nicht gedacht habe?
Achso, eine Variante C habe ich mir auch noch überlegt:
Variante C
Eine Tabelle, in der die Saison-ID, die Mannschaft-ID und der in der jeweiligen Saison aktueller Name steht. Aus dieser dann je nach der Saison des Spiels den gerade aktuellen Mannschaftsnamen holen.
Das würde aber dazu führen, dass ich für jede Mannschaft(sind ganz schon viele) in jeder Saison den Vereinsnamen in die Tabelle geben müsste, wodurch diese sehr schnell sehr groß werden würde.
Gibt es eine Möglichkeit, das zu umgehen?
ich hoffe meine Frage ist nicht zu allgemein...
Ich habe eine Datenbank in der Fußballspiele mit Ergebnissen, den beteiligten Mannschaften usw. eingetragen sind.
Die Mannschaften sind in einer eigenen Tabelle und werden über die ID in die Spieleübersicht eingebunden.
Nun ändern sich ab und an mal (leider relativ häufig) die Vereinsnamen.
Ich habe mir 2 Varianten überlegt, wie ich trotzdem immer den gerade aktuellen Namen eines Vereins in der Spieleliste anzeigen kann, sind aber beide noch nicht so das wahre, ich befürchte, dass sich dadurch der Seitenaufbau sehr stark verlangsamt.
Variante A
Ich füge in der Mannschaften Tabelle ein Feld mit einem Flag hinzu, dass 1 ist, wenn eine Mannschaft umbenannt wurde, und 0, wenn nicht.
In einer weiteren Tabelle notiere ich die Mannschaft IDs, ein Datum und den neuen Namen.
Falls in der Mannschafts-Tabelle bei einer Mannschaft eine 1 steht, untersuche ich das Datum und hole mir entsprechenden neuen Namen aus der Umbenennungen-Tabelle.
Variante B
Ich lege neue Mannschaften an mit einer eigenen ID und führe 2 gleiche Mannschaften, wo sich nur der Name geändert hat anhand einer Tabelle zusammen in der ein Datum(an dem der Verein umbennant wurde) und die alte und die neue ID steht.
Bei Variante B müsste ich aber bei wirklich jedem Spiel für beide Mannschaften in die Umbenennung-Tabelle gucken, ob ihre Id dort vorkommt. Bei Variante A müsste ich das nur wenn eine 1 gesetzt ist.
Welche Variante würdet ihr mir empfehlen, bzw gibt es vielleicht eine ganz andere Heransgehensweise, an die ich noch gar nicht gedacht habe?
Achso, eine Variante C habe ich mir auch noch überlegt:
Variante C
Eine Tabelle, in der die Saison-ID, die Mannschaft-ID und der in der jeweiligen Saison aktueller Name steht. Aus dieser dann je nach der Saison des Spiels den gerade aktuellen Mannschaftsnamen holen.
Das würde aber dazu führen, dass ich für jede Mannschaft(sind ganz schon viele) in jeder Saison den Vereinsnamen in die Tabelle geben müsste, wodurch diese sehr schnell sehr groß werden würde.
Gibt es eine Möglichkeit, das zu umgehen?
Zuletzt bearbeitet: