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 :

Personnaliser le nom de la Clé d'une relation


Sujet :

PowerAMC

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Personnaliser le nom de la Clé d'une relation
    Bonjour tout le monde,

    Je suis en train de migrer un tres vieux MCD de la version 6 vers la version 12 de poweramc et je voudrais savoir comment je peux personnaliser le nom et le code de mes Relations car chaque fois que je genere le mpd poweramc tente de me renommer les Keys de ces tables et une fois ou deux j'ai coché sans faire attention ce qui m'a posé de petits soucis : les objets n'avait plus le meme nom et les scripts de migration en prod n'ont pas apprécié, bien sur la version 6 les générer avec le bon nom.

    J'ai une petite question subsidiaire : a partir de ce MCD je genere 4 MPD pour 4 types de base différentes mais j'ai beaucoup de choses en commun dans ces 4 modèles et notamment les index alternatifs, y a t il moyen de mutualiser tout ca ? Je n'ai pas trouve le comment indiquer qu'un attribut devait être indexé dans le MCD et d'ailleurs je ne suis pas sur que ce soit sa place mais cela m'aurait bien arrangé.

    Merci de votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    En ce qui concerne le deuxième point, je viens de découvrir les Modèles logiques qui semble repondre à mon besoin.
    Y a t il une facon de recopier rapidement tous les index de mes 3 mpd vers le mld ? J'ai essayé le copier/coller, la comparaison de modèle et le merge de modèle mais sans succés

    Thx

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Bonsoir Minskaya,


    Citation Envoyé par Minskaya Voir le message
    poweramc tente de me renommer les Keys
    C'est-à-dire ? Renommer les attributs ? les contraintes ?

    S'il s'agit du nom des contraintes, peut-être trouverez-vous des éléments de réponse dans la discussion amorcée par AAAWBBBWCCC (qui du reste n'a jamais daigné se fendre du moindre petit merci suite à la réponse qui lui fut donnée...)


    Citation Envoyé par Minskaya Voir le message
    je genere 4 MPD pour 4 types de base différentes
    Qu'entendez-vous par "4 types de base différentes" ? (1) relationnelle, (2) hiérarchique, (3) réseau, (4) liste inverse ?


    Citation Envoyé par Minskaya Voir le message
    notamment les index alternatifs
    Qu'entendez-vous par "index alternatifs" ?


    Citation Envoyé par Minskaya Voir le message
    Je n'ai pas trouve le comment indiquer qu'un attribut devait être indexé dans le MCD
    Quel est votre objectif ? un index de performance ? un index unique ?


    Dans tout cela, il faudrait que vous fournissiez des exemples précis pour qu'on comprenne ce que vous recherchez.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    J'ai posté avant d'avoir vu votre allusion au modèle logique. Je comprends mal votre histoire d'index, car ce concept n'existe ni au niveau conceptuel, ni au niveau logique, mais seulement au niveau physique. Quel est votre SGBD ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonsoir fsmrel,
    Depuis hier soir que je parcours le forum en large en travers, je suis devenu un de vos fervents lecteurs

    Citation Envoyé par fsmrel Voir le message
    C'est-à-dire ? Renommer les attributs ? les contraintes ?
    Non, le nom de l'objet qui dans l'arbre se trouve dans Keys et qui donnera naissance à la contrainte lors de la génération des scripts sql.
    La contrainte elle a le bon nom, c'est la "Clé" qui n'est pas bonne : cela me génère plein de faux positifs dans la fenêtre du merge (cf capture).

    Citation Envoyé par fsmrel Voir le message
    Qu'entendez-vous par "4 types de base différentes" ? (1) relationnelle, (2) hiérarchique, (3) réseau, (4) liste inverse ?
    4 bases relationnelles pour 4 SGBD différents

    Citation Envoyé par fsmrel Voir le message
    Qu'entendez-vous par "index alternatifs" ?
    Les index de performances.
    Il faut que je duplique tout ces index dans mes 4 MPD sans faire d'erreur, je pense que le MLD est la solution à ce problème.
    Par contre si j'avais un moyen de copier la 100aine d'index déja existant dans mes MPD dans le MLD, j'éviterai un oubli.

    Il faut que je sois sûr de ne pas introduire de régression dans la génération des scripts de mes bases.

    En tout cas, merci vous m'avez déjà bcp aidé au travers des réponses que vous avez posté dans ce forum.
    Images attachées Images attachées  

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    YEAH !!!!
    J'avance : je viens de voir que l'on peut générer le MLD à partir d'un MPD.
    Donc je générer 3 MLD à partir de chacun de mes MPD, et à chaque fois je merge dans le MLD généré depuis le MCD.
    De cette façon je suis sur de ne rien oublier.


  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Bonsoir Minskaya,


    Si tout va bien, tant mieux. Pour ma part je ne dispose pas de la V12 d'AMC, mais seulement de la V11, laquelle, comme la V6 ne permet pas de générer de MLD Il me devient donc difficile de juger...

    Bonne route à vous !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Et bien, je progresse mais j'ai toujours le problème n°1 : le nom des Clés de mes relations n'est pas le bon ce qui me fait beaucoup trop de différence à controler quand je génère le MPD

  9. #9
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Bonsoir Minskaya,

    Reprenons l’image que vous proposez :






    Quel nom de clé doit être retenu au bout du compte pour le MPD : PK_FLGSAMPLEITEM ? PK_FLGTESTITEM ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonsoir fsmrel,

    Citation Envoyé par fsmrel Voir le message
    Bonsoir Minskaya,

    Reprenons l’image que vous proposez :




    Quel nom de clé doit être retenu au bout du compte pour le MPD : PK_FLGSAMPLEITEM ? PK_FLGTESTITEM ?
    PK_FLGTESTITEM est la bonne clé
    La fenetre de gauche (From CDM) est systématiquement fausse pour les relations

  11. #11
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Reprenons les choses à zéro et partons d’un exemple simple.


    MCD :


    MLD :



    Quand vous dites qu’il y a un problème pour les relations, voulez-vous dire que ci-dessous c’est le nom Identifiant_B qui ne convient pas pour la table R dérivée de l’association R (relation) du MCD ? Le problème de nommage concerne-t-il A et B ?



    N.B. Je rappelle que j'utilise AMC V11.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    Quand vous dites qu’il y a un problème pour les relations, voulez-vous dire que ci-dessous c’est le nom Identifiant_B qui ne convient pas pour la table R dérivée de l’association R (relation) du MCD ?
    Oui, c'est bien ça
    Citation Envoyé par fsmrel Voir le message
    Le problème de nommage concerne-t-il A et B ?
    Non, A et B sont corrects.

    Le problème se situe juste sur les tables de relation dans le MLD et apparemment le SQL généré est lui correct. Mais cela oblige toute personne qui modifie le MCD à verifier l'ensemble des modifications ce qui n'inspire pas confiance : du coup cela représente un frein à la migration en v12

  13. #13
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Partant du MCD, je ne sais pas agir autrement que manuellement sur le nom donné par AMC à la clé apparaissant dans l’arborescence, IDENTIFIANT_B dans l’exemple que j’ai donné et qui peut devenir IDENTIFIANT_A ou je ne sais quoi un autre jour.

    Cela dit, cela ne m'a jamais gêné. Que le code SQL généré soit correct, stable et maîtrisable, suffit, non ? En effet, on peut contrôler le nommage des objets impliqués dans les scripts, comme je l’ai montré dans la discussion à laquelle je vous ai renvoyé (et qui concerne plus les clés étrangères, mais le principe est le même). Pour reprendre l’exemple que j’ai utilisé, si je veux qu’AMC génère un script dans lequel le nom des contraintes de clé primaire des tables A, B, R soit respectivement A_PK, B_PK et R_PK, au niveau MPD je passe par (avec la V11, mais avec la V12 ça ne doit pas changer) :

    SGBD > Editer le SGBD courant

    Et dans l’onglet « Général », je remplace la valeur de ConstName de PKey par « %TABLE%_PK », ainsi le nom de chaque contrainte de clé primaire sera conforme à la structure que j’ai définie :



    Si cela ne suffit pas, alors je n'ai pas saisi votre problème...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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 »)

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

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    Cela dit, cela ne m'a jamais gêné. Que le code SQL généré soit correct, stable et maîtrisable, suffit, non ?
    Citation Envoyé par fsmrel Voir le message
    En effet, on peut contrôler le nommage des objets impliqués dans les scripts, comme je l’ai montré dans la discussion à laquelle je vous ai renvoyé
    Oui, il est bien sur vital que le code sql soit stable.
    Je souhaitais aller + loin afin de minimiser les changements d'habitude des utilisateurs de la v6 mais si ce n'est pas possible tant pis je vais tacher de les convaincre de faire avec.

    Dans tous les cas, encore merci pour le temps que vous m'avez consacré.

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

Discussions similaires

  1. Personnaliser le nom d'une pièce jointe
    Par LadyArwen dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2012, 09h14
  2. Nom du fichier résultat d'une requête...
    Par poca10 dans le forum Oracle
    Réponses: 14
    Dernier message: 12/10/2004, 15h43
  3. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02
  4. Modification du nom d'un champ dans une table
    Par reef1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/06/2004, 10h55
  5. Mauvais noms de colonnes lors d'une requête
    Par nmathon dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/04/2004, 07h27

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