2006-11-13, 17:31
  #1
Medlem
Rixns avatar
.
Hur struktuerar jag min databas på bästa sätt för att hantera spelresultat?

Jag har ett flertal (16 st) Shockwavespel som man kommer åt via en phpBB, Jag utnyttjar phpBBs (IntegraMOD, numera KisMOD) login för att slippa skapa ett eget medlemsregister med unika spelarnamn. Än så länge har jag bara lagt upp en tabell i databasen (MySQL) där jag spar undan varje spelares bästa resultat. Sen har jag en tabell som håller parametrar för de olika spelen. Nu vill jag strukturera om databasen så att den kan hantera alla 16 spelen på ett så smidigt sätt som möjligt. Den ska klara följande specifikationer:
  • Ska kunna hantera tusentals användare.
  • Ska spara varje spelares förbättringar i varje spel (man ska kunna följa utvecklingen).
Vidare är det tänkt att jag ska ha en resultatlista som räknar ihop resultaten för varje spel och visar vem som är bäst i alla spelen. Det blir liksom en Carolina Klüfts 7-sjukamp, fast med 16 spel istället. Jag har själv funderat och kommit fram till följande:

Jag samlar parametrarna i en tabell för spelen och en för spelarna och i resultattabellen använder jag GameID och PlayerID för att spara undan alla resultat:




Fråga 1) Så långt allting bra - eller?

Men, när jag sedan ska hämta en resultatlista för en spelares bästa resultat i samliga spel måste jag då gå igenom ALLA spelares SAMTLIGA resultat i ALLA spel. På ett år kan det bli väldigt många rader att gå igenom. Fråga 2) Borde jag inte ha en separat tabell med spelarnas bästa resultat undanstoppade, och som jag bara uppdaterar efter hand? Då blir antalet rader bara 16 gånger antal spelare och det måste vara mycket snabbare att söka igenom.

Fråga 3) Hur gör jag det bäst och hur skulle en sådan tabell se ut? Det bär iofs emot att tvingas ha en sådan, för det strider mot min känsla av att inte dubblera information. Fråga 4) Går det att lösa på något annat sätt? Om inte så får jag bita i det sura äpplet och bara köra på.

...
Fråga 5) Om det nu är bra att ha en sådan här extratabell med dubblering av info undrar jag vad som hindrar mig att dubblera informationen ytterligare genom att separera de här bästa resultaten i egna tabeller för varje spelare? En tabell skulle då ha 16 rader - en för varje spel. Fråga 6) Var går gränsen - vad är bra, vad är dåligt?

Hjälp mig, jag blir inte klok på alla varianter och möjligheter man kan ha. Det är svårt för mig att veta vad som fungerar sen när jag kört igång och resultaten strömmar in. Många av er som kan sånt här kanske inte tycker det är ett stort problem att rätta till det allteftersom men jag är väldigt osäker på att bolla med tabeller, kolumner och flyttning av tabelldata.

/Lars
.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in