Chapter 12 Génération d'autres modèles à partir d'un MOO


Définition des options de génération de MPD

Vous pouvez définir les options de génération suivantes :

Option Description
Vérifier le modèle Lorsque cette option est sélectionnée, PowerAMC vérifie le modèle avant de générer le MPD, et interrompt la génération si des erreurs sont détectées
Enregistrer les dépendances de génération Lorsque cette option est sélectionnée, PowerAMC assure le suivi de l'identité de l'origine de chaque objet généré. Cette option est très utile lorsque vous fusionnez deux MPD générés à partir du même MOO, car les objets peuvent alors être comparés et reconnus comme identiques et ce, même si l'objet a été modifié dans le MPD fusionné. Si cette option n'est pas sélectionnée, les objets d'origine ne sont pas liés avec les objets générés
Correspondances O/R Lorsque cette option est sélectionnée, elle permet de définir le généré comme source de données du MOO courant et de créer une correspondance entre les objets du MOO et ceux du MPD. Si vous activez cette option, l'option Enregistrer les dépendances de génération est automatiquement sélectionnée car la correspondance O/R utilise des numéros identifiants pour les objets. Vous ne pouvez pas désélectionner l'option Enregistrer les dépendances de génération tant que l'option Correspondance O/R est activée
Convertir les noms en codes Lorsque cette option est sélectionnée, les codes d'objet sont générés à partir des noms en utilisant un script de conversion. Cette fonctionnalité s'avère utile pour générer des modèles utilisant des conventions de dénomination différentes. Par exemple, le code d'un attribut de classe Java se présente sous la forme "nomClient" alors que le code d'une colonne de table se présente plutôt sous la forme "NOM_CLIENT". Si cette option est sélectionnée, les deux objets verront leur code généré à partir de leur nom, via un script permettant de l'adapter à la convention de dénomination du modèle cible. Si vous choisissez de ne pas utiliser cette option, le code des objets générés sera une copie du code des objets d'origine
Régénérer les triggers Lorsque cette option est sélectionnée, permet de régénérer les triggers avec l'option de préservation et ce, à l'issue de la génération du MPD. La régénération s'effectue après la fusion si vous mettez à jour un MPD existant
Permettre les transformations Ce bouton permet d'activer les transformations lors de la génération.

Lorsque vous cliquez sur ce bouton, l'onglet Pré-génération s'affiche si le modèle source contient des transformations. Vous pouvez sélectionner les transformations à exécuter avant la génération.

L'onglet Définitions étendues de modèle s'affiche également pour vous permettre de sélectionner des fichiers de définitions étendues de modèle afin de les attacher au modèle généré. Ces fichiers peuvent contenir des transformations post-génération, auquel cas l'onglet Post-génération s'affiche pour vous permettre de sélectionner les transformations que vous souhaitez voir exécutées dans le modèle généré. Si la génération est une mise à jour et que le modèle généré contient des définitions étendues de modèle avec des transformations post-génération, la page Post-génération s'affiche dès que vous cliquez sur le bouton Permettre les transformations

Pour plus d'informations sur les correspondances O/R, reportez-vous à la section "Notions de base relatives à la correspondance O/R" dans le chapitre "Gestion des modèles".

Pour plus d'informations sur les scripts de conversion, reportez-vous à la section "Utilisation d'un script de conversion" dans le chapitre "Gestion des modèles" du manuel Guide des fonctionnalités générales .

Note   Vérification du modèle avant la génération
Si vous sélectionnez l'option Vérifier le modèle, la procédure de génération d'un MPD commence par vérifier la validité du MOO ou package courant. Un MPD n'est alors généré que si aucune erreur n'a été détectée lors de la vérification. Vous pouvez définir les paramètres relatifs aux fonctionnalités de vérification ; pour ce faire, sélectionnez Outils→Vérifier le modèle.

Paramètres relatifs aux tables

Les paramètres suivants définissent les conventions de dénomination pour les tables :

Paramètre Description
Préfixe de table Préfixe pour le nom des tables générées

Paramètres relatifs aux références

Les paramètres suivants définissent les conventions de dénomination pour les contraintes d'intégrité référentielle :

Paramètre Description
Règle de modif. Intégrité référentielle de modification définie pour la référence
Règle de suppr. Intégrité référentielle de suppression définie pour la référence

Pour plus d'informations sur l'intégrité référentielle, reportez-vous au glossaire dans le manuel Guide de l'utilisateur du Modèle Physique de Données .

Nom de clé étrangère

Par défaut, le nom des clés étrangères migrées générées dans un MPD est identique au nom de la clé primaire. En cas de conflit sur les noms de colonne, les trois premières lettres du nom de la table parent sont ajoutées au début du nom de la colonne migrée.

Vous pouvez modifier ce comportement par défaut et utiliser des templates pour nommer les clés étrangères migrées. Dans la zone de groupe Références, vous pouvez sélectionner l'un des templates prédéfinis dans la liste Template de nom de colonne FK. Ces templates sont enregistrés dans la base de registres, vous pouvez les modifier, mais leur valeur par défaut est préservée.

Vous avez également la possibilité de créer vos propres templates de nom de clé étrangère en saisissant le template directement dans la zone Template de nom de colonne FK et en utilisant les variables suivantes :

Variable Valeur
%REFR% Code généré pour la référence
%REFNAME% Nom de la référence
%REFRCODE% Code de la référence
%PARENT% Code généré pour la table parent
%PNAME% Nom de la table parent
%PCODE% Code de la table parent
%COLUMN% Code généré pour la colonne parent
%COLNNAME% Nom de la colonne parent pour la clé primaire correspondante
%COLNCODE% Code de la colonne parent pour la clé primaire correspondante
%KEY% Nom de la contrainte de clé attachée à la référence
%CONSTNAME% Nom de la contrainte de clé attachée à la référence (identique à %KEY%)
%KNAME% Nom de la clé attachée à la référence
%KCODE% Code de la clé attachée à la référence
%PROLE% Rôle de la classe qui a généré la table parent, cette variable provient de l'environnement orienté objet. Si aucun rôle n'est défini pour l'association, %PROLE% prend la valeur de %PARENT% pour éviter de générer une colonne dépourvue de nom

Vous avez également la possibilité d'utiliser les variables de formatage par défaut de PowerAMC dans le template. Ces dernières sont décrites à la section Liste des variables de format de PowerAMC dans le chapitre Variables dans PowerAMC du manuel Guide de l'utilisateur du Modèle Physique de Données .

Les templates de nom personnalisé sont réaffichés dans la boîte de dialogue de génération la prochaine fois que vous l'ouvrez, mais ne sont pas sauvegardés dans la base de registres et donc pas ajoutés dans la liste des templates prédéfinis.

Par exemple, si vous définissez le template %PROLE%, le nom de clé étrangère est créé à partir du rôle situé en regard de la classe qui a généré la table parent contenant la clé primaire. Si la table parent contient plusieurs clés, les noms de clé étrangère seront automatiquement modifiés.

Dans la zone de groupe Référence, vous pouvez sélectionner l'option Toujours utiliser un template pour utiliser systématiquement le template par défaut ou le template personnalisé afin de nommer les colonnes de clé étrangère et ce, même en l'absence de tout conflit de nom avec une colonne existante.

Paramètres relatifs aux index

Les paramètres suivants définissent les conventions de dénomination pour les index :

Paramètre Description
Nom d'index PK Convention de dénomination pour les index de clé primaire, par défaut %TABLE%_PK
Nom d'index AK Convention de dénomination pour les index de clé alternative, par défaut %TABLE%_AK
Nom d'index FK Convention de dénomination pour les index de clé étrangère, par défaut, %REFR%_FK
Seuil FK Estimation du nombre minimal d'enregistrements devant être contenus dans une table pour la création d'un index de clé étrangère

Variables pour les noms d'index PK

Vous pouvez utiliser les variables suivantes dans les champs Nom d'index PK et Nom d'index AK :

Variable Valeur
%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% Nom de la table
%TCODE% Code de la table
%TLABL% Commentaire de la table

Variables pour les noms d'index FK

Vous pouvez utiliser les variables suivantes dans le champ Nom d'index FK. 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.

Variable Valeur
%REFR% Code généré de la référence
%PARENT% Code généré de la table parent
%PNAME% Nom de la table parent
%PCODE% Code de la table parent
%CHILD% Code généré de l'enfant
%CNAME% Nom de la table enfant
%CCODE% Code de la table enfant
%PQUALIFIER% Qualifiant de la table parent
%CQUALIFIER% Qualifiant de la table enfant
%REFRNAME% Nom de référence
%REFRCODE% Code de référence

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

 


Copyright (C) 2005. Sybase Inc. All rights reserved.