Klaus Mock: Variable Spaltennamen in SELECT

Beitrag lesen

Hallo,

Meist ist dies ein Indiz für einen Fehler in der Datenbankstruktur.
Ich speichere jedes Jahr Saison-Informationen von Spielern ab. Zum einen möchte ich nur für die aktuelle Saison Daten abspeichern. Die "historischen" Informationen brauche ich allerdings auch für Statistikzwecke...

Es liegt also doch ein Fehler in der Datenbankstruktur vor.Es ist imho immer ein Indiz für schlechtes Design, wenn man Spalten wie saison1..saisonN verwendet. Das deutet generell darauf hin, dass eigentlich eine 1:n-Beziehung aufgebaut werden sollte.

Warum lagerst Du die Informationen zu jedem Spieler nicht in eine zweite Tabelle aus, die dann neben einem Verweis auf den  Spieler auch die Saison und deren zugehörigen Daten aufweist. Da hast Du dann auch gleich die Möglichkeit zusätzliche Informationen einzufügen.

Beispiel:
Tabelle 'Spieler' besteht aus SpielerID,Name, Geburtstag usw.
Tabelle 'Saison' besteht aus (z.B.) SaisonID, Beginn, Ende der Saison usw.
Tabelle 'Saisondaten' besteht aus SaisondatenID, SpielerID (Fremdschlüssel zu Spieler.SpielerID), SaisonID (Fremdschlüssel zu Saison.SaisonID) und die Daten wie z.B. Tore, Gelbe/Rote Karten, usw.

Eventuell kannst Du dann das ganze System auhc ausbauen, um die Spiele zu verwalten und dazu die Spielzeiten, Position (kann sich ja je Spiel ändern) jedes Spielers, und so weiter.

Grüße
  Klaus