laowantong / mocodo

Modélisation Conceptuelle de Données. Nickel. Ni souris.
https://www.mocodo.net
MIT License
181 stars 51 forks source link

Rôles (partiellement) ignorés dans les agrégations lors du passage au SR #110

Closed Epithumia closed 6 months ago

Epithumia commented 6 months ago

Quand une entité fille est utilisée pour des associations, elle utilise mal les rôles définis en cas d'associations parallèles lorsqu'on passe au SR : le premier rôle est utilisé comme rôle pour toutes les associations.

Sans agrégation, ça fonctionne comme prévu, par exemple :

:
EQUIPE: idEquipe,nomEquipe
:

accueille, 11 MATCH, 0N [-hote] EQUIPE
:
recoit, 11 MATCH, 0N [-visiteur] EQUIPE

:
MATCH: idMatch
:

devient bien

%%mocodo
:
Equipe: IdEquipe, NomEquipe
:

:
Match: IdMatch, #hote > Equipe > IdEquipe, #visiteur > Equipe > IdEquipe
:

En revanche, si MATCH est une entité fille, ça rate :

:
EQUIPE: idEquipe,nomEquipe
:

accueille, 11 MATCH, 0N [-hote] EQUIPE
:
recoit, 11 MATCH, 0N [-visiteur] EQUIPE

:
MATCH: idMatch
:

/XT\ RENCONTRE <- MATCH: typeRencontre

RENCONTRE: idRencontre

devient

%%mocodo
:
Equipe: IdEquipe, NomEquipe
:

:
Rencontre: IdRencontre, TypeRencontre, IdMatch, #hote 1 > Equipe > IdEquipe, #hote 2 > Equipe > IdEquipe
:

Testé en ligne et sur la version 4.2.2 CLI.

laowantong commented 6 months ago

Pour confirmer, ça donne actuellement ça :

Mais vous attendez ça ?

Epithumia commented 6 months ago

C'est bien ça (comme quand il n'y a pas d'agrégation).

laowantong commented 6 months ago

Ça devrait être bon.