IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Entêtes de tables


Sujet :

PowerAMC

  1. #1
    Membre régulier
    Homme Profil pro
    Relationland initiate
    Inscrit en
    Novembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Relationland initiate

    Informations forums :
    Inscription : Novembre 2006
    Messages : 83
    Points : 120
    Points
    120
    Par défaut Entêtes de tables
    Bonjour,

    Je travaille sur PowerAMC v15.2 et je réalise des allers et retours entre base de données et MPD.
    Presque toutes mes tables comportent un entête permettant de les historiser (une série de 3 colonnes).
    Afin de ne pas alourdir le MCD (voire le MLD), je voudrais représenter ceci par un héritage (Générer les enfants - Hériter de tous les attributs) d'une entité "Historisable" non générée contenant les 3 attributs.

    La descente MCD -> MLD -> MPD se passe bien.
    La remontée MLD -> MCD aussi.
    Mon problème est le suivant :
    Quand je tente la remontée MPD -> MLD, toutes les colonnes deviennent des attributs et mon héritage passe à la trappe !
    Comment faire pour le conserver ?
    Fais mourir ton ennemi de plaisir ! Si tu le rates, il mourra d'ennui...
    __________________

    Pensez à cliquer sur

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Points : 112
    Points
    112
    Par défaut
    Bonjour

    j'ai fait un essai avec un MCD très simple :
    Entité 1 : Figure (id, nom)
    Entité 2 : Rectangle (Longueur, Largeur)
    Lien d'héritage entre Rectangle et Figure avec les options suivantes : Générer les enfants + Hériter de tous les attributs.

    La succession des étapes MCD1->MLD1->MPD1 se passe bien
    Je modifie MPD1 en ajoutant l'attribut "Couleur" dans la table Rectangle et je renomme en MPD2.
    Lorsque je génère un nouveau MLD2 à partir de MPD2, je perd l'héritage. Par contre, lorsque je modifie MLD1 à partir de MPD2 (en conservant les modifications), la fenêtre de fusion des modèles propose par défaut la suppression de l'héritage mais il est possible de modifier les règles de fusion en décochant les cases de suppression (voir la capture d'écran).
    En décochant toutes les cases de suppression, on retrouve bien l'héritage dans le MLD.
    Cependant, le champ "Couleur" reste un attribut de l'entité Rectangle dans le MCD. Je n'ai pas trouvé le moyen de faire "remonter" l'attribut dans l'entité "Figure".

    Cordialement
    Images attachées Images attachées  

  3. #3
    Membre régulier
    Homme Profil pro
    Relationland initiate
    Inscrit en
    Novembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Relationland initiate

    Informations forums :
    Inscription : Novembre 2006
    Messages : 83
    Points : 120
    Points
    120
    Par défaut
    Bonjour,
    il est possible de modifier les règles de fusion en décochant les cases de suppression (voir la capture d'écran).
    En décochant toutes les cases de suppression, on retrouve bien l'héritage dans le MLD.
    Je connais. Il existe aussi un choix permettant de décocher toutes les suppressions d'un coup.
    Cela 'stérilise' quelque peu l'opération quand il y de nombreuses tables/entités mais ça reste faisable.
    Cependant, le champ "Couleur" reste un attribut de l'entité Rectangle dans le MCD. Je n'ai pas trouvé le moyen de faire "remonter" l'attribut dans l'entité "Figure".
    Et c'est bien sur ce point que je butte.
    Et l'héritage des informations techniques en question concerne ~80% de mes entités.

    Donc pas de solution miracle en vue...
    Merci d'avoir essayé.
    Fais mourir ton ennemi de plaisir ! Si tu le rates, il mourra d'ennui...
    __________________

    Pensez à cliquer sur

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Points : 112
    Points
    112
    Par défaut Utiliser une transformation ...
    Bonjour

    Il y a peut être une autre solution (que personnellement je trouve bien lourdingue mais qui m'a déjà rendue service dans d'autres contextes) qui peut se justifier si vous avez beaucoup de tables concernées :
    1) Créer une définition étendue de modèle MLD
    2) Dans la définition étendue, créer une transformation dont la tâche sera de détecter les champs à inclure dans l'entité "père" et de reconstituer la hiérarchie.
    3) Lors de la génération du MLD à partir du MPD, dans la fenêtre des options de génération, aller dans l'onglet "Détails" et cliquer sur le bouton "Permettre les transformations", un nouvel onglet apparaît.
    4) Aller sur l'onglet "Définitions étendues de modèle" et cocher la définition créée à l'étape 1.
    5) Générer le modèle.

    La transformation s'exécutera lors de la génération. Bien entendu, le plus complexe avec cette méthode, c'est l'étape 2 car la documentation de PowerAMC est peu prolixe sur cet aspect qui pourtant est vraiment génial.

    Bon, j'imagine que vous y avez déjà réfléchit mais comme vous avez fait l'effort de créer un MPD, un MLD et un MCD alors pourquoi ne pas mettre à jour la structure de la base directement depuis le MPD plutôt que de modifier la base et retroconcevoir le modèle ?

    Cordialement

  5. #5
    Membre régulier
    Homme Profil pro
    Relationland initiate
    Inscrit en
    Novembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Relationland initiate

    Informations forums :
    Inscription : Novembre 2006
    Messages : 83
    Points : 120
    Points
    120
    Par défaut
    Bonjour,

    Il y a peut être une autre solution (que personnellement je trouve bien lourdingue mais qui m'a déjà rendue service dans d'autres contextes) qui peut se justifier si vous avez beaucoup de tables concernées
    Pour l'instant, il y a ~200 tables et il en manque certainement autant voire plus. Ca vaut la peine !
    pourquoi ne pas mettre à jour la structure de la base directement depuis le MPD plutôt que de modifier la base et retroconcevoir le modèle ?
    Pourquoi pas en effet, le round-trip base<->MPD fonctionne parfaitement.
    Mon problème est de synchroniser plusieurs bases/MPD qui n'évolueront pas au même moment avec un MLD/MCD unique.
    Ce serait pour ne pas perturber des développements en parallèle. J'imagine déjà les resynchro/fusion du code source : > >
    Mon enjeu personnel est de maintenir un MCD et un MLD uniques en avance de phase.
    Les multiples MPD ne sont que des photographies du MLD à rafraichir.
    Bon, j'imagine que vous y avez déjà réfléchit
    Justement non car je n'avais pas découvert cette possibilité. Je vais l'étudier de très très près.
    Travailler sur le passage MPD<->MLD semble parfaitement adapté.
    Le manque de documentation ne m'effraie pas. J'en ai vu d'autres quand j'ai dû écrire mon propre connecteur pour Firebird.
    Je marque "Résolu" car je n'imagine pas qu'il puisse exister de solution plus adaptée.
    Merci infiniment.
    Fais mourir ton ennemi de plaisir ! Si tu le rates, il mourra d'ennui...
    __________________

    Pensez à cliquer sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. entête et table des matières
    Par texformat dans le forum Débuter
    Réponses: 5
    Dernier message: 10/02/2010, 21h59
  2. Réponses: 3
    Dernier message: 23/01/2008, 15h05
  3. Entête d'une table
    Par meridien dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 27/09/2007, 14h25
  4. Table avec entête toujours visible
    Par seiryujay dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/09/2007, 11h53
  5. table entête fixe corps scrollable
    Par wincroc dans le forum Général JavaScript
    Réponses: 38
    Dernier message: 22/05/2007, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo