Gestion d'un tournoi - PHP - Programmation
Marsh Posté le 02-01-2007 à 18:11:47
Concernant les scores, ils devraient logiquement être stocké pour chacun des match. Le score total devennant alors une donnée calculée et qui ne devrait donc pas être stockée.
Marsh Posté le 02-01-2007 à 20:56:12
dwogsi a écrit : Concernant les scores, ils devraient logiquement être stocké pour chacun des match. Le score total devennant alors une donnée calculée et qui ne devrait donc pas être stockée. |
Je suis d'acccord, et disons crée une table séparée. Sinon ce qui faudrait faire c'est chaque match à chaque Team = 1 id unique le soucis en même temps je sais pas si tu essaye de créer un portail multiTeam ou juste pour ta ou tes Team mais avec cette méthode les tables vont se remplir rapidement si ca va être un portail genre ESL optimise au maximum tes champs sinon ca risque de poser soucis prévoit aussi l'éspace de la BDD (les hébérgeurs mettent des lilmites, sauf en serveur dédiée ou virtuel(privée)).
Pour la gestion de l'arbre du tournois il faudrait faire un système qui regroupe toutes les ID des équipes avec un champ "élliminé" (1 = perdu, 2 = disqualifié et 0 = encore dans le trounoi) et en + de tout ça qui repère les positions (demi finaliste, 3° palce etc...). Pour les scores tu reprends mon idée plus haut donc chaque ID = 1 match et au pire tu peux rajouter un champ qui correspond à l'ID du tournois en cours sinon il va tiré des nombre aléatoire.
Au final
Table => score_nom_du_tournoi
Citation : |
Table => score_match_amicale
Citation : |
Table => nom_du_tournoi
Citation : |
Cordialement,
Dobu
Marsh Posté le 23-02-2007 à 18:01:28
Il y a déja quelque chose qui existe pour gerer les tournois counter strike ca s'appele <b>zKup</b> et c'est gratuit
voici l'adresse du site : http://www.zkup.fr
C'est moi le créateur et je travaille sur la v2 qui sera plus poussée que la version 1.
Amuse toi bien
Marsh Posté le 23-02-2007 à 20:26:18
Moi je vois un architecture du genre :
TABLE team
team_id
team_name
TABLE match
match_id
team1_id
team2_id
score
Marsh Posté le 09-01-2008 à 21:08:31
et maintenant il y a aussi ca pour organiser des tournois , c'est un module pour le CMS kwsphp .
http://cyklodev.com/index.php?mod=tournoi
Marsh Posté le 10-01-2008 à 05:43:15
Le plaisir viscieux de réinventer la roue, un virus très virulent et contagieux
C'est pas compliqué, tu prends toutes les entités (équipe, tournois, match) => 3 table. Ensuite faut lier les 2 première et stocker les résultats => dans match
D'un point de vue conceptuel, tu devrais être en mesure de déterminer dans quelle table tu te situe soit en connaissant la table soit en connaissant l'attribut ou son type => nommer correctement les attributs
Avec ça, tu dois pouvoir gérer tous les cas
Marsh Posté le 10-01-2008 à 14:17:00
En tous cas, merise ou pas, c'est juste une question de logique si tu veux pouvoir manipuler tes données et en faire ce que tu veux, pouvoir faire évoluer sans avoir à tout refaire. Et en respectant quelques règles simple on s'y retrouve plus facilement aussi
PS: dans certains cas les formes normales surtout la 3è c'est un peu relou à gérer et ça se justifie pas, faut pas être extrêmiste non plus
Marsh Posté le 10-01-2008 à 14:43:16
Il me semble que la troisième forme normale consiste à ne jamais rien stocker qui puisse être calculé ou retrouvé à partir des données des autres tables.
En gros, pour un forum, ça reviendrait à ne jamais stocker le nombre de message par forum, par discussion, par personne, ... pour un tournois, ça reviendrait à ne jamais stocker le classement ou l'état d'un participant (éliminé, ...)
A l'arrivé, on gagne quasiment rien au niveau volume de donnée mais on perd énormément sur le temps de calcul des données non stocké.
Marsh Posté le 10-01-2008 à 15:21:48
omega2 a écrit : Il me semble que la troisième forme normale consiste à ne jamais rien stocker qui puisse être calculé ou retrouvé à partir des données des autres tables. |
Oui, c'est ça.
Dans merise, logiquement tout ce qui peut-être calculé n'est pas stocké.
Mais mon prof stocke les trucs trop lourd à calculer.
Comme il le dit lui même, Merise a ses limites.
Marsh Posté le 10-01-2008 à 15:38:06
(ouais enfin... score total, faut pas pousser mémé dans les orties non plus )
Marsh Posté le 10-01-2008 à 17:48:09
... parce que sinon ça va lui piquer le cul
Après pourquoi pas faire des tables purements statistiques à calculer une fois
Marsh Posté le 02-01-2007 à 17:36:23
Pour éviter de devoir refaire 36 fois ma table, comme vous auriez géré un tournois de façon simple au niveau BDD ?
Je l'aurai vu comme ça perso, mais je suis un peu bloqué :
Pour la gestion de l'arbre, pour le premier tour on tire les équipes au hasard et on leur asigne un nombre : 1, 2, 3, 4, etc.
Une fois le premier tour passé on fait en sorte que ce soit les équipes avec les numéros les plus proches qui s'affrontent et ainsi de suite.
Il faudrait aussi pouvoir afficher les score de chaque matchs, donc je me demandais si les score devaient être contenus dans la même table ou bien dans une table séparée ?
Et que pensez vous de la gestion de l'arbre du tournois ?
Merci
---------------
Twitter