Bonjour bensam1,
En réponse à la question Q9, vous confirmez qu’il y a bien une relation d’affectation entre les comptes analytiques et les comptes de charge :
[COMPTE_CHARGE]----1,n--------(CC_AFFECTER_CA)--------1,n----[COMPTE_ANALYTIQUE]
Or, comme vous l’avez déjà écrit, un compte analytique appartient à un et un seul domaine :
Envoyé par
bensam1
un compte analytique est affecté a 1 ou plusieurs comptes de charge mais il est affecté seulement a un et un seul domaine.
Et je confirme que cela doit être pris en compte dans la modélisation :
[COMPTE_CHARGE]----1,n--------(CC_AFFECTER_CA)--------1,n----[COMPTE_ANALYTIQUE]
[COMPTE_ANALYTIQUE]----1,1--------(CA_AFFECTER_DOM)--------1,n----[DOMAINE]
La patte d’association que vous avez représentée entre l’entité-type COMPTE_CHARGE et l’association CA_AFFECTER_DOM est redondante, car les comptes de charge affectés à un domaine sont ceux qui ont été affectés à ses comptes analytiques. Le modèle suivant suffit donc pour connaître les comptes de charge d’un domaine :
Cas des structures régionales :
Si l’on part du principe qu’une structure régionale hérite du compte analytique du domaine auquel cette structure est rattachée, il n’y a aucun lien à établir entre les structures et les comptes analytiques.
(Q10) Confirmez-vous qu’une structure régionale a un seul compte analytique, et que ce compte est celui du domaine auquel se rattache ce compte ?
Suite à votre réponse positive à la question Q9, on peut dire que les comptes de charge d’une structure régionale font nécessairement partie des comptes de charge en relation avec le compte analytique du domaine auquel se rattache la structure régionale.
(Q11) Confirmez-vous que les comptes de charge d’une structure régionale font nécessairement partie des comptes de charge en relation avec le compte analytique du domaine auquel se rattache la structure régionale ?
Supposons que vous répondiez que c’est bien le cas. Les comptes de charge des structures régionales font alors l’objet d’une association entre l’entité-type STRUCTURE_REGIONALE et l’association CC_AFFECTER_CA :
Mais Merise (version 1) interdit qu’une patte d’association connecte deux associations, en l’occurrence CC_AFFECTER_CA et CC_AFF_CA_STR, mais ça n’est pas un problème, on va transformer CC_AFFECTER_CA en entité-type (et je la renomme en CC_AFFECTATION_CA) :
A ce stade, il reste une boucle, mais ça n’est pas un problème si on prend ses précautions. En effet, quel risque prend-on à conserver cette boucle ? C’est d’affecter aux structures régionales des comptes analytiques et des comptes de charge qui sont ceux de domaines auxquels n’appartiennent pas ces structures.
Sous réserve que vous répondiez affirmativement à la question Q11, il faut donc garantir la contrainte d’inclusion suivante (on parle encore plus précisément ici de contrainte de chemin) :
« Les comptes de charge d’une structure régionale doivent appartenir aux comptes de charge définis en relation avec les comptes analytiques affectant le domaine de rattachement de la structure. »
Pour que cette contrainte soit automatiquement garantie, sans que l’on ait de code à développer, on procède en deux temps.
1) Par le moyen de l’identification relative, propager l’identifiant de l’entité-type DOMAINE jusqu’à CC_AFF_CA_STR :
11) Par le chemin DOMAINE > CA_AFFECTER_DOM > COMPTE_ANALYTIQUE > CC_AFF_CA_CA > CC_AFFECTATION_CA > CC_AFF_CA_STR ;
12) Par le chemin DOMAINE > COUVRIR > STRUCTURE_REGIONALE > CC_AFF_CA_STR.
2) Au niveau MLD ne conserver qu’un seul attribut id_domaine dans la table CC_AFF_CA_STR.
J’utilise ici PowerAMC pour modéliser : avec cet AGL l’identification relative est obtenue en mettant les cardinalités 1,1 entre parenthèses. Les autres AGL offrent d’autres symbolismes.
MCD avec identification relative :
MLD après suppression d’un des deux attributs id_domaine redondants dans la table CC_AFF_CA_STR :
Ainsi, la boucle qui demeure ne présente aucun risque. Par contre, si votre dernier MCD ne comporte pas de boucle, il permet néanmoins que la contrainte d’inclusion soit violée, entre autres dangers : le remède est pire que le mal...
Si vous répondez négativement à l’une ou l’autre (ou aux deux) des questions Q10 et Q11, on verra à mettre en œuvre une autre stratégie, mais toujours sans amalgamer les domaines avec les entités-types etc.
Partager