Structure de ma base de données

Eléphant du PHP | 206 Messages

31 juil. 2010, 19:17

Bonjour à tous,

Après m'être penché longuement sur la structure de ma base de données, je me tourne vers vous et votre expérience afin de me donner des conseils sur d'éventuelles modifications que je pourrais apporter.

Alors il s'agit d'un jeu ou il faut gérer son équipe de basket.
Et je souhaite structurer ma base de données afin de gérer les matchs et classements.

Chaque équipe joue dans un championnat et chaque championnat appartient à une division.
(On imagine la division c'est Régionale et on a comme championnat : ile de france, picardie.. ect)

Ensuite chaque équipe se rencontre en match aller retour au sein de son championnat.
Et pour finir, j'aimerais prendre en compte les saisons (2009, 2010 ect afin de pouvoir garder un historique des matchs et classements chaque saison.)

Voici ma structure actuel

equipes
id
id_champ
[..]

Championnats
id
id_division
id_saison

divisions
id
id_nom

saisons
id
annee

journees
id
numero (de la journée)
id_champ
date (date de la journée ex: saemdi 20 aout)

matchs
id
id_journee


Mon soucis se situe en fait en l'utilisation d'une table journees, actuellement je ne raccorde pas ma table matchs à chaque championnat, mais je passe par la table journées. Il y a aura donc 16 entrées (si il y a 9 équipes par championnat) dans la table journées PAR championnat.

Votre avis ? :D
Cherche graphiste ou designer pour jeu en ligne de gestion d'une équipe de Basket. Projet fini N'hésitez pas à me contacter

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 août 2010, 11:42

Mon avis qui n'engage que moi :

equipes(id_equipe, id_champ#)
championnats(id_championnat, id_division#, id_saison#)
divisions(id_division, id_nom#)
saisons(id_saison,annee)
journees(id_journee, numero, id_champ#, date)
matchs(id_match, id_journee#)

1. En formatant (souligner + #) on visualise mieux clés primaires et clés étrangères
2. Nommer explicitement "id_saison", "id_match", plus lisible et compréhensible qu'un simple "id" répété plusieurs fois (tu n'es pas censé avoir le même nom de colonne dans ta modélisation)
3. tu pourrais rajouter un tag "aller/retour" dans "matchs", ou "journées"
4. Pourquoi est-ce que c'est "championnats" qui est relié à "saisons". Pour moi ce serait "journees", puisque les championnats sont tjrs les mêmes d'une année à l'autre (championnat d'île de france, de Bretagne etc) mais les journées dépendant de la saison.

Sinon là comme ça moi ça me paraît bien.

Ton problème était l'objet du concours de développement de PHPFrance l'année dernière, tu pourrais regarder ce que les autres ont fait et peut-être y trouver des idées :)