Gioco regolarmente una partita 2v2 con 12 amici e voglio un database per tenere traccia di giocatori, squadre, punteggi e partite, con l'intento di creare un sistema di classificazione.
Dal momento che noi cambiamo regolarmente squadre mi è venuta in mente tavoli players
, teams
e games
dove i giochi hanno due squadre (Team1 e Team2) e le squadre composte da due giocatori (Player1 e player2).
Ciò causa alcuni problemi, ad esempio se scelgo due giocatori (chiamiamoli A e B ) per giocare insieme, devo verificare se esiste già una squadra in cui Giocatore1 è A e Giocatore2 è B o Giocatore1 è B e Giocatore2 è un.
Le colonne games
e wins
sono presenti sia nella players
tabella che nella teams
tabella, ma questo è perché voglio vedere sia quante partite vengono vinte dai giocatori, ma anche quanto sia compatibile il giocatore in squadre diverse (con quale frequenza vince un giocatore quando fa squadra un altro giocatore specifico).
- Classifica dei punteggi (probabilmente userò il sistema di classificazione Elo )
- Una pagina delle statistiche per ogni giocatore con punteggio, vittorie, partite, statistiche sui giochi recenti e con quali giocatori è più compatibile.
Sospetto fortemente che gran parte di questo violi alcuni dei principi della normalizzazione del database e mi piacerebbe avere alcuni suggerimenti su come implementare la progettazione del mio database.