Je n’ai pas tout compris de votre problème, mais je vais m'appuyer sur la présence du bonhomme NULL qui fait penser que votre table Correspondance est l’amalgame de données venant de différentes sources, qu’elle est donc virtuelle (c'est-à-dire une vue), ce qui montre que la modélisation est à revoir.
On y trouve la paire <Ventes, Roue> ce qui donne à penser qu’au niveau conceptuel on a la situation suivante :
Le «
1,1 ? » traduit un doute de ma part : un article peut-il être associé à plusieurs valeurs ou seulement à une seule ? Peu importe à ce stade.
On trouve encore dans votre exemple le triplet <VentesVIP, Roue, Dupont>, ce qui donne à penser qu’au niveau conceptuel on a aussi la situation suivante :
Situation dans laquelle 'VenteVIP' est une valeur prise par l’association CDE_ART quand Dupont (je suppose ici qu’il s’agit en fait d’une commande de Dupont) et Roue sont parties prenantes.
La flèche rouge signifie que pour une commande et un article il n’y a qu’une seule valeur :
COMMANDE X ARTICLE → VALEUR
On trouve aussi dans votre exemple le triplet <VentesJuin, Roue, RéapproJUIN>, ce qui donne à penser qu’au niveau conceptuel on a aussi la situation suivante :
La flèche rouge signifie que pour un dossier et un article il n’y a qu’une seule valeur :
DOSSIER X ARTICLE → VALEUR
Soit globalement :
Si vous voulez ne pas mélanger les valeurs selon leur typologie, vous pouvez procéder à une spécialisation dotée d’une contrainte d’exclusion (X) :
Et établir les connexions (flèches rouges) avec le sous-type qui va bien plutôt qu’avec VALEUR.
Cela dit, j'espère que les 18 cas ne fichent pas tout par terre, tout comme une mauvaise interprétation de ma part...
P.-S. Évitez de parler d’index au stade la modélisation !
_______________________________________
Partager