Options de génération de modèle

Vous pouvez personnaliser la génération de vos modèles en sélectionnant les options de génération de modèle appropriées.

Onglet Général

L'onglet Général permet de spécifier le nouveau modèle à générer ou un modèle existant à mettre à jour. Lorsque vous générez un nouveau modèle, vous devez spécifier les options suivantes :

Option

Description

SGBD, langage objet, XML ou de processus

Spécifie le fichier de définition pour le modèle à générer. Par défaut, PowerAMC crée un lien vers ce fichier. Pour copier la définition et l'enregistrer dans votre modèle, cliquez sur le bouton Incorporer la ressource dans le modèle.

Nom / Code

Spécifie le nom et le code pour le modèle à générer.

Cliquez sur le bouton Configurer les options du modèle pour spécifier les conventions de dénomination (voir Conventions de dénomination) ainsi que les autres options de modèle pour le modèle à générer.

Lorsque vous mettez à jour un modèle existant, vous devez spécifier les options suivantes :

Option

Description

Modèle

Spécifie le modèle cible à mettre à jour. Sélectionnez dans la liste un modèle qui a déjà été généré à partir du modèle courant, ou bien cliquez sur le boutons Points de suspension à droite de la liste pour afficher les autres modèles de même type ouverts dans l'espace de travail.

SGBD, langage objet, XML ou de processus

Afficher le fichier de définition du modèle à mettre à jour.

Conserver les modifications

Permet de passer en revue les modifications à apporter au modèle (voir Comparaison et fusion de modèles). Si vous ne sélectionnez pas cette option, les objets générés vont remplacer les objets portant le même nom dans le modèle.

Onglet Options de préservation de SGBD

Cet onglet n'est disponible que lorsque vous générez un MPD à partir d'un autre MPD, et permet de choisir de conserver, lorsque cela s'avère possible, les valeurs associées aux :
  • Options physiques - pour les objets pertinents

  • Triggers et procédures – Si la cible appartient à une autre famille de SGBD, les triggers sont automatiquement régénérés.

  • Objets de SGBD – Seuls les objets pris en charge par le SGBD cible seront générés.

  • Attributs étendus

Onglet Détails

L'onglet Détails contient des options permettant de contrôler la génération des objets de modèle.

Option

Description

Vérifier le modèle

Appelle une vérification de modèle avant la génération, et interrompt la génération si des erreurs sont détectées. Vous pouvez configurer des vérifications de modèles particulières avant la génération en sélectionnant Outils > Vérifier le modèle (voir Vérification de modèles).

Enregistrer les dépendances de génération

Demande à PowerAMC de conserver des liens entre chaque objet source et l'objet cible correspondant, ce qui permet aux objets d'être ensuite identifiés et ce, même s'ils ont été modifiés (voir La Visionneuse de liens de génération).

Générer les correspondances

Définit le modèle source comme source de données du modèle généré et crée des correspondances entre tous les objets source et cible (voir Mise en correspondance d'objets). Cette option dépend de l'option Enregistrer les dépendances de génération option.

Régénérer les triggers

[MCD/MOO-MPD] Demande à PowerAMC de régénérer des triggers avec des templates non modifiés après la génération de MPD.

Convertir les noms en codes

Demande à PowerAMC de générer le code des objets de modèle en utilisant un script de conversion. Cette option peut s'avérer utile lorsque vous générez des modèles utilisant des conventions de dénomination différentes. Si vous ne sélectionnez pas cette option, le code des objets cible est généré à partir du code des objets source.

Par exemple, générez un attribut de classe de MOO Java avec un code nomClient dans une colonne de table de MPD appelée NOM_CLIENT en cliquant sur le bouton Configurer les options du modèle sur l'onglet Général, en sélectionnent les scripts de conversion approprié (voir Scripts de conversion de nom et de code), puis en sélectionnant cette option.

Préserver les relations n-n

[MCD-MLD uniquement] Spécifie que les relations plusieurs-plusieurs créées dans le MCD seront générées dans le MLD si le modèle de destination le permet.

Permettre les transformations

Affiche l'onglet Extensions, l'onglet Pré-génération (si votre modèle a des transformations définies) ainsi que l'onglet Post-génération (si vous mettez à jour un objet existant qui a des transformations définies) pour sélectionner les transformations à effectuer avant et/ou après la génération (voir Application de transformations pré- et post-génération).

Omettre un élément racine unique

[MSX-MPD uniquement] Spécifie que l'élément racine unique est ignoré, et que ses éléments enfant directs sont traités comme plusieurs racines, qui seront générées sous forme de tables.

Générer un élément racine

[MPD/MOO-MSX uniquement] Spécifie qu'un seul élément racine représentant le MPD ou le MOO est généré. Si vous désélectionnez cette, toutes les tables ou classes sont générées comme racines multiples.

Générer les tables/classes sous forme de

[MPD/MOO-MSX uniquement] Spécifie la façon dont les tables de MPD ou classes de MOO sont générées. Vous pouvez choisir l'une des options suivantes :
  • Eléments - [défaut] chaque table/classe est générée sous la forme d'un élément non typé directement lié à ses colonnes/attributs générés comme attributs ou sous-éléments.
  • Eléments avec des types complexes - chaque table/classe est générée comme un élément typé par un type complexe, généré en parallèle, afin de contenir les colonnes/attributs.
Vous pouvez passer outre cette option pour des tables ou classes individuelles (voir Personnalisation de la génération MSX pour les objets individuels).

Générer les colonnes/attributs sous forme de

[MPD/MOO-MSX uniquement] Spécifie la façon dont les colonnes de MPD ou les attributs de MOO sont générés. Vous pouvez choisir l'une des options suivantes :
  • Eléments - [défaut] chaque colonne/attribut est généré comme un sous-élément de l'élément ou du type complexe de sa table/classe.
  • Attribut - chaque colonne/attribut est généré comme un attribut de l'élément ou du type complexe de sa table/classe.
Vous pouvez passer outre cette option pour des colonnes ou attributs individuels (voir Personnalisation de la génération MSX pour les objets individuels).

Préfixe de classe

[MOO uniquement] Spécifie un préfixe à appliquer aux codes pour toutes les classes générées.

Options de génération de MPD

Les options suivantes sont disponibles lorsque vous générez un MPD :

Option

Description

Table : Préfixe de table

Spécifie un préfixe pour les noms des tables générées

Table : Type de colonne d'ID

[MSX-MPD uniquement] Spécifie le type à utiliser pour les colonnes d'ID, et celui à utiliser pour générer les types xs:ID.

Défaut : numeric

Index : Noms d'index PK

Spécifie la convention de dénomination pour les clés primaires. Vous pouvez utiliser les variables suivantes dans cette zone, ainsi que dans la zone Noms d'index AK :
  • %TABLE% - Code généré pour la table. Il s'agit du code de table qui est généré dans la base de données. Il peut être tronqué s'il contient des caractères non pris en charge par le SGBD

  • %TNAME%, %TCODE% - Nom et code de la table

  • %TLABL% - Commentaire de la table

Valeur par défaut : %TABLE%_PK

Index : Noms d'index AK

Spécifie la convention de dénomination pour les clés alternatives. Vous pouvez utilisez les variables suivantes dans cette zone :
  • %REFR% - Code généré de la référence

  • %REFNAME%, %REFRCODE% - Nom et code de la référence

  • %PARENT% - Code généré de la table parent

  • %PNAME%, %PCODE% - Nom et code de la table parent

  • %CHILD% - Code généré de l'enfant

  • %CNAME%, %CCODE% - Nom et code de l'enfant

  • %PQUALIFIER% - Qualifiant de la table parent

  • %CQUALIFIER% - Qualifiant de la table enfant

Le code généré pour une variable est celui défini dans la feuille de propriétés de l'objet, mais il peut être tronqué s'il contient des caractères non pris en charge par le SGBD

Valeur par défaut : %TABLE%_AK

Index : Noms d'index FK

Spécifie la convention de dénomination pour les clés étrangères, par défaut %REFR%_FK

Index : Seuil FK

Spécifie le nombre minimal d'occurrences estimé pour une entité pour créer un index sur une clé étrangère. Le nombre estimé d'occurrences peut être spécifié dans la feuille de propriétés de l'entité. Si la feuille de propriétés n'est pas définie, les index de clé étrangère sont générés par défaut.

Référence : Règle de modif

Spécifie la contrainte de mise à jour par défaut pour l'intégrité référentielle

Référence : Règle de suppr

Spécifie la contrainte de suppression par défaut pour l'intégrité référentielle

Référence : Template de nom de colonne FK

Spécifie la convention de dénomination pour les clés étrangères migrées. Vous pouvez sélectionner un des templates par défaut dans la liste ou spécifier un template en utilisant les variables suivantes :
  • %REFR% - Nom/code de la référence

  • %PARENT% - Nom/code de la table parent

  • %COLUMN% - Nom/code de la colonne parent

  • %KEY% ou %CONSTNAME% - Nom/code de la contrainte de clé attachée à la référence

  • Rôle de l'entité qui a généré la table parent, cette variable provient de l'environnement conceptuel. Si aucun rôle n'est défini pour la relation ou l'association, %PROLE% prend la valeur de %PARENT% pour éviter de générer une colonne dépourvue de nom

L'exemple suivant vérifie la valeur de %PROLE% ; si cette dernière est égale au nom du parent (qui est la valeur de remplacement) le template "%.3:PARENT%_ %COLUMN%" est utilisé, dans le cas contraire, le template "%PROLE%" sera utilisé car l'utilisateur a spécifié un rôle parent pour la relation :
[%PROLE%=%PARENT%?%.3:PARENT%_%COLUMN%:%PROLE%]
Les templates de nom personnalisés réapparaissent dans la boîte de dialogue de génération la prochaine fois que vous l'ouvrez, mais ne sont pas enregistrés dans la liste des templates prédéfinis.

Pour plus d'informations sur les variables PowerAMC, voir Personnalisation et extension de PowerAMC > Fichiers de définition de SGBD.

Référence : Utiliser un template

Contrôle quand le template de colonne de clé étrangère est utilisé. Vous pouvez choisir l'une des options suivantes:
  • Toujours utiliser le template

  • Utiliser le template uniquement en cas de conflit

Remarque : Si vous modifiez une clé primaire dans un MPD, puis régénérez ce MPD à partir d'un MCD, la clé primaire modifiée n'est pas conservée. Pour préserver cette clé primaire, vous devez modifier l'identificateur dans le MCD avant de procéder à la régénération.

Lorsque vous procédez au reverse engineering d'une base de données dans un MPD puis générez un MOO, vous pouvez ajouter une hiérarchie de packages appropriée dans le MOO en pointant sur le MOO dans l'Explorateur d'objets, cliquant le bouton droit de la souris, puis sélectionnant Ajouter une hiérarchie de packages, et en spécifiant la hiérarchie appropriée (par exemple, com.masociete.monproduit.moo).

Onglet Modèles cible

Cet onglet contient une liste de modèles cible référencés par des raccourcis ou des réplications dans le modèle courant, ainsi que les modèles générés appropriés que le modèle généré va référencer (voir Génération de raccourcis et de répliques). Si un modèle cible n'a pas de modèle généré listé, la génération des raccourcis ou réplications qui le référencent va échouer. Cet onglet sera vide si votre modèle ne contient aucun raccourci vers d'autres modèles ou si ces raccourcis sont configurés pour être générés sous la forme d'objets indépendants.