Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PowerAMC Discussion :

Identitication relative : ordre des identifiants


Sujet :

PowerAMC

  1. #1
    Expert éminent sénior
    Identitication relative : ordre des identifiants
    Bonjour,

    Avec Power AMC V16.5 je constate souvent avec l'identification relative, que le MLD généré ne met pas les identifiants dans l'ordre souhaité, à savoir d'abord l'identifiant de l'entité-type forte, puis celui de l'entité-type faible
    Exemple dans l'extrait ci dessous ST_id se positionne devant, alors qu'il devrait être derrière CH_id :


    Je n'utilise pourtant aucun paramètre particulier dans la définition de la relation.

    Du coup je suis contraint de modifier manuellement le MLD pour remettre les choses dans le bon ordre
    Ce n'est pas toujours le cas, parfois l'ordre est bien celui souhaité

    Dans DB-Main, pas de souci, l'ordre est affecté explicitement dès le MCD

    Quelqu'un a -t- il une astuce ?

    Par avance merci pour vos retours d'expérience

  2. #2
    Expert éminent sénior
    Y a du coulage chez Tomate
    Salve Capitaine,

    Pour faire court, l’astuce consiste à générer le MPD directement à partir du MCD

    Je n’ai jamais connu le problème que tu as soulevé, parce que le MLD en tant que tel n’existe dans PowerAMC que depuis quelques années : auparavant, on n’avait que les niveaux MCD et MPD, sachant qu’en ce qui concerne ce dernier, la représentation y est manifestement celle d’un MLD :




    Quand on a eu droit au niveau MLD (par conformité à Merise qui a toujours distingué les trois niveaux), je n’ai pas trouvé de valeur ajoutée particulière, aussi ai-je continué comme au bon vieux temps, en générant directement le MPD à partir du MCD avec le bon résultat à la clé (sic !).

    J’ai quand même enquêté. J’ai généré un MLD à partir du MCD, et il est vrai que j’ai obtenu le même résultat que toi, aïe ! Dans un 2e temps, j’ai utilisé la notation E/R pour le MCD (Outils > Options du modèle > Paramètres du modèle) :





    J’ai demandé la génération du MLD, et ô magie ! y a du changement, dans le bon sens...




    Bien entendu, j’ai tout de suite vérifié l’ordre des attributs dans l’identifiant : on a bien {CH_id, ST_id}.

    Conclusion : pour le MCD, utiliser la notation E/R (qui a quelques avantages) ou (non exclusif !) shunter l'étape MLD. J’en retiens que lors d’un changement de propriétaire, le successeur (anglo-saxon) s’est surtout focalisé sur la notation anglo-saxonne, et n’a manifestement pas poussé à fond les tests de validité qui s’imposaient quant à la génération du MLD à partir d’un MCD à la Merise, tu l'as prouvé !

    A toi de vérifier que je ne dis pas de bêtises...

    En tout cas, je continuerai à shunter le MLD, même quand à l’occasion j’utilise la notation anglo-saxonne.

    Passe un bon week-end.
    Faites simple, mais pas plus simple ! (A. Einstein)
    E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    Je ne réponds pas aux questions techniques par MP. Les forums sont là pout ça.
    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench

  3. #3
    Expert éminent sénior
    Merci pour ces explications détaillées, je vérifierai ça la semaine prochaine car je n'en aurai pas l'occasion ce WE
    Et bonne soirée

  4. #4
    Expert éminent sénior
    Alors je confirme, et chose étrange (bug ?) ce sont les options Merise et E/R+Mersise qui génèrent le problème, les autres options produisent une identification relative correcte.



    Je passe en résolu, mais c'est dommage de ne pas pouvoir conserver la symbolisation merise

    Merci en tout cas François

  5. #5
    Expert éminent sénior
    Capitaine,

    Pourquoi être triste ?

    Comme je l’ai déjà précisé, l’alternative est de passer directement du MCD merisien à la génération du MPD powerAmcien, lequel vaut MLD.
    Du temps où l’étape du MLD powerAmcien n’existait pas, tout se passait très bien. Quand on a pu générer ce MLD, j’ai jugé que l’étape ne méritait finalement pas qu’on s’ arrête et j’ai conservé l’habitude initiale, à savoir générer le MPD directement à partir du MCD merisien. Et je m'en porte très bien.

    P.-S.

    Selon Wikipedia, le niveau MLD n'est apparu qu'avec la V15.
    Faites simple, mais pas plus simple ! (A. Einstein)
    E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    Je ne réponds pas aux questions techniques par MP. Les forums sont là pout ça.
    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench