Page 1 sur 1

Structure de ma base de données

Posté : 31 juil. 2010, 19:17
par Snipy
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

Re: Structure de ma base de données

Posté : 02 août 2010, 11:42
par ouckileou
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 :)