Je joue régulièrement à un jeu 2c2 avec 12 amis et je veux une base de données pour garder une trace des joueurs, des équipes, des scores et des jeux, avec l'intention de créer un système de classement.
Depuis que nous changeons régulièrement d'équipe, j'ai créé des tables players
, teams
et games
où les jeux ont deux équipes (équipe1 et équipe2) et les équipes sont composées de deux joueurs (joueur1 et joueur2).
Cela pose pas mal de problèmes - par exemple si je choisis deux joueurs (appelons-les A et B ) pour jouer ensemble, je dois vérifier s'il existe déjà une équipe où Player1 est A et Player2 est B ou Player1 est B et Player2 est un.
Les colonnes games
et wins
sont présentes à la fois dans le players
tableau et dans le teams
tableau - mais c'est parce que je veux voir à la fois le nombre de parties gagnées par les joueurs, mais aussi la compatibilité du joueur dans différentes équipes (la fréquence à laquelle un joueur gagne lorsqu'il est associé à un autre joueur spécifique).
- Tableau de bord de classement (je vais probablement utiliser le système de notation Elo )
- Une page de statistiques pour chaque joueur avec classement, victoires, jeux, statistiques de jeux récents et avec quels joueurs il est le plus compatible.
Je soupçonne fortement qu'une grande partie de cela viole certains des principes de normalisation de la base de données, et j'aimerais quelques suggestions sur la façon de mettre en œuvre la conception de ma base de données.