Master_Jul a écrit :
C'est là que se pose mon problème, je ne vais pas faire deux liens :
- joueur -> manifestion
- joueur -> equipe -> manifestion Si ?
|
Bonjour
Tu as raison de ne pas faire 2 liens.
La relation "Participation Manif" de ton premier MCD est suffisante, je pense.
La relation "Participe" entre Equipe et Manifestation (2e MCD) est sympa mais n'apporte pas grand chose au modèle, dans la mesure où si un joueur de l'équipe ne vient pas, l'équipe peut continuer de participer à la manifestation. Donc cela sera source de problèmes dans les traitements à adopter par la suite.
De plus, un joueur pourrait participer seul et par l'intermédiaire d'une ou plusieurs équipes auxquelles il appartient. Difficile ensuite de savoir combien de joueurs participent réellement à la manifestation.
Une solution : tu peux faire porter, sur la relation "Participation Manif", l'information pour savoir s'il s'inscrit seul ou dans le cadre d'une équipe, en faisant participer l'entité Equipe à la relation "Participation Manif" (relation à 3 pattes
).
Seul problème : le joueur ne peux plus participer seul à une manif.
2 résolutions :
- soit tu crées une équipe virtuelle qui correspondrait aux
joueurs seuls (hors équipe). Tous les joueurs seraient de facto inscrits dans cette équipe.
- soit tu dénormalises, au niveau du modèle physique, et tu permets aux joueurs de participer sans indiquer d'équipe. Mais dans ce cas, il faudrait veiller lors des traitements que la participation d'un joueur au sein d'une équipe se fasse sans violation des contraintes d'intégrités.
Je te conseille la première solution pour simplifier les traitements sans dénormaliser.
Par la suite, par requêtage, il devient facile de connaitre le nombre d'équipes inscrites, le nombre de joueurs inscrits par équipe, le nombre total de joueurs distincts inscrits, etc...
Attention tout de même, il y a une contrainte d'intégrité fonctionnelle entre les relations "Participation Manif" et "Compo équipe". Il s'agit d'une contrainte d'inclusion qui s'exprime ainsi :
Tout joueur X s'inscrivant à une manif par une équipe A, doit nécessairement appartenir à l'équipe A.
D'ailleurs cette remarque est valable aussi pour ta relation "Participation Tournoi".
Je viens de voir qu'il y a aussi 2 CIF sur la relation "Repas choisi".
La premiere : c'est une contrainte d'unicité qui implique qu'un joueur inscrit à une manifestation ne doit choisir qu'un seul repas.
La seconde : contrainte d'inclusion avec la relation "Participation Manif" qui implique qu'un joueur doit s'être inscrit pour pouvoir ensuite choisir un repas.
Voilà, c'est un peu long, mais avec un schéma cela serait + facile à exprimer.