hmm: Ranking und Punkte

Beitrag lesen

Danke der Nachfrage, LA ist heute grad ziemlich warm (draussen zumindest) ... aber bin bis abends um 9 hier im Conference Center, da hab ich nicht viel davon. :(

Also, nochmal zu deinem Problem. PHP ist eine Sache, Datenbankdesign eine andere. Dein Problem ist nicht PHP im Moment, sondern Datenbankdesign.

Fragen, die du dir fuer ein properes Design beantworten solltest:

  • welche Entitaeten gibt es
      - Spieler
      - Event
      - Spiel
      - Division
      - Ergebnis
  • welche Beziehung haben
      - Event zu Spiel (1:n)
      - Spieler zu Ergebnis (m:n)
      - usw.

Dort, wo du 1:n Beziehungen hast, hast du in der Tabelle (fuer n) einen Fremdschluessel auf die Elterntabelle. Fuer m:n Beziehungen brauchst du eine eigene Tabelle mit Fremdschluessel-Spalten fuer n und m.

Z.b. die Tabelle, wo du die Ergebnisse speicherst, hat 1 Record pro

  • Spieler
  • Spiel
  • Runde
    (- Event)
    plus genau _eine_ Spalte fuer das Ergebnis (und nicht 3).

Mit Fremdschluesseln lagst du also schon etwa richtig.

Und bitte niemals mehrere Werte innerhalb einer einzigen Zelle (Zeile/Spalte) speichern, so a la "23, 24, 25" ;-)

Ciao, Frank

Oh, hoffentlich kannst du es dann immerhin am Tag genießen.

Also kann man sagen, dass Event zu Spiel die Beziehung 1:n hat, weil es viele Events gibt, aber nur ein Spiel.
Aber Spieler zu Ergebnis ist m:n, weil es viele Spieler gibt und auch viele dazugehörige Ergebnisse.

Record heißt Zeile?

Was ich dann nicht ganz verstehe ist, wie ich dann in der Tabelle Ergebnisse mit Spieler, Spiel, Runde, Event und Ergebnis drei verschiedene Ergebnisse eintragen kann, obwohl es nur eine Spalte ist. Na gut, die dritte könnte man ja immer berechnen lassen, aber die zweite?
----> Ach, natürlich, Runde 2 würde dann das zweite Ergebnis beinhalten. Und das Gesamtergebnis tut man dann in eine extra dritte Runde?