Bloquer sur le MCD

NirvX Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

Je créé un MCD pour un projet de site web (personnel).
Et je suis face à un petit problème.
Je vous montre les entités que j'ai :

-Membres (ID_MEMBRE, PSEUDO, PASS)
-Clan(ID_CLAN, NOM)

Alors pour les règles de gestion :
-Un membre peut créer 0,1 clan, et un clan ne peut être créé que par 1,1 membre.
-Un membre peut appartenir a 0,1 clan et un clan peut contenir 1,n membres.
-Un membre peut inviter 0,n membres et un membre peut être invité par 0,n membres.

En gros, j'ai l'association "INVITER CLAN" qui part de membres pour revenir sur elle-même.
Et deux associations "APPARTENIR" et "CREER" qui vont vers la table Clan.

Problème maintenant :
-Je ne sais pas comment stocker l'id du chef de clan.
-Si je suis les cardinalités, je dois faire quelque chose du style "membres(id_m, pseudo, pass, id_clan, nom)" directement (car tout va sur une table dans le cas d'un 0,1 / 1,1).
-Or comment saurais-je le nom du chef de clan ?
-Vais-je devoir faire une table "membres(id_m, pseudo, pass, id_clan, nom, id_chef) ?

Ca serait un peu lourd..

Avez vous des solutions s'il vous plait ?

Merci d'avance !!
Bonne soirée

1 réponse

Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   102
 
Bonjour Nirvx,

Pour ma part, j'aurais fait un truc du genre :

T_MEMBRE
- id_membre
- nom_membre
- ...etc

T_CLAN
- id_clan
- nom_clan
- id_chef
- ...etc

TJ_APPARTENANCE
- id_appartenance
- id_clan
- id_membre

et où les jointures seraient
- T_CLAN.id_chef = T_MEMBRE.id_membre
- TJ_APPARTENANCE.id_clan = T_CLAN.id_clan
- TJ_APPARTENANCE.id_membre = T_MEMBRE.id_membre (+)

Pour contrôler que ton membre ne crée qu'un clan et n'appartienne qu'à un clan, tu peux placer des index uniques sur :
- T_CLAN.id_chef
- TJ_APPARTENANCE.id_membre
0