Bonsoir,
@ Gaërel,
Envoyé par
GAEREL
Lors du passage du MCD au MPD j'obtiens logiquement une table de 'libelle' qui ne contient que des ID et dont l'utilité est nulle...
Est-ce mon MCD qui est erroné ou dois-je "forcer" dans mon MPD les associations avec la table "Libelle_langue" et détruire la table "libellé" ?
Si vous faites disparaître la table LIBELLE, les clés étrangères portées par les tables Type de truc et Categorie de machin devront faire référence à la clé primaire de la table LIBELLE_LANGUE, donc à la paire d’attributs {CodeLangue, IdLibelle}, et la table TYPE de truc ressemblera à ceci :
IdType CodeLangue IdLibelle
1 fr 1
1 en 1
2 fr 2
2 en 2
3 fr 3
3 en 3
... ... ...
C'est-à-dire que chaque type de truc devra désormais faire référence à la table LIBELLE_LANGUE autant de fois qu’il y a de langues (avec pour conséquence que l'attribut CodeLangue devra participer à la clé primaire de la table Type de truc en compagnie de IdType ).
En fait quand vous dites que l’utilité de la table LIBELLE est nulle, vous allez un peu vite, car cette table est un point d’ancrage, une référence qui vous permet justement de faire abstraction des langues au niveau de la table Type de truc, c'est-à-dire de ne pas multiplier le nombre de lignes de cette table par le nombre de langues utilisées par l’application.
@Richard,
Puisque vous établissez une ternaire entre les entités-types TYPE, CATEGORIE et TABLE_CHAMP, par définition elles ne sont pas indépendantes les unes des autres : un type entretient une relation avec une catégorie en même temps qu’avec un champ de table. Exemple :
— Le champ H1 est lié au moins et au plus au type T1 et au moins et au plus à la catégorie C1.
— Le type T1 est lié au plus au champ H1 et au plus à la catégorie C1.
— La catégorie C1 est liée au plus au champ H1 et au plus au type T1.
Mais je ne sache pas que la dépendance que vous avez établie entre TYPE et CATEGORIE fasse partie du corpus de règles inféré du MCD de Gaërel.
Partager