Bonsoir,
La modélisation est une chose, l'ensemble de contraintes imposées par les outils de modélisation en est une autre...
La modélisation correcte cette question (de la question initiale tout au moins) produit le MCD suivant :
1 2 3 4 5 6 7 8 9 10
|
┌--a contact--┐
| |
0,n |
| |
[ PERSONNE ] (Contact)--1,1---( )----0,n->[ Groupe ]
| |
0,n |
| |
└-est contact-┘ |
La transformation de l'association réflexive Contact dans le MLD donne la table :
Contact(id_personne_p, id_personne_c, id_groupe#)
Illustration avec l'exemple d'origine :
Envoyé par
identifiant_bidon
X est contact de Y. Chez X, Y fait parti du groupe "Collègue" alors que chez Y, X fait parti du groupe "Ami".
1 2 3 4 5
|
id_personne_p id_personne_c id_groupe
X Y 2 --> Groupe "Collègue"
Y X 1 --> Groupe "Ami" |
Si, et seulement si, un outil de modélisation est utilisé au niveau conceptuel (MCD), il faudra se résoudre à adopter la proposition de CinePhil :
Envoyé par
CinePhil
Personne -0,n----avoir----(1,1)- Contact
|---------------0,n----être------(1,1)-------|
J'ai ici en fait transformé une association en entité Contact. Les cardinalités entre parenthèses indique une identification relative.
car les outils ne savent pas associer une CIF ou une association à une autre association.
Partager