Chapter 6 Génération à partir d'un Modèle Conceptuel de Données


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 MCD, 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
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, puisque les macros de conversion sont utilisées pour modifier les codes. 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 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 MCD 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 à partir des entités du MCD

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

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% Nom / Code généré pour la référence
%PARENT% Nom / Code généré pour la table parent
%COLUMN% Nom / Code généré pour la colonne parent
%KEY% Nom / Code 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%)
%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 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 .

Vous pouvez également utiliser les crochets [ ] pour évaluer des variables facultatives comme indiqué dans la section "Chaînes et variables facultatives" du chapitre "Guide de référence du SGBD" de la Documentation utilisateur avancée .

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.

Autre exemple :

[%PROLE%=%PARENT%?%.3:PARENT%_%COLUMN%:%PROLE%]

Cette syntaxe vérifie la valeur %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.

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é pour 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

Si vous entrez une valeur de seuil d'index, les index de clés étrangères ne sont générés que si le nombre estimé d'occurrences est plus grand que le seuil. Le nombre estimé d'occurrences est une propriété d'entité que vous pouvez inclure dans la définition d'entité.

Si l'entité n'a pas de nombre spécifique d'occurrences, les index de clés étrangères sont généré par défaut.

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
%REFRNAME% Nom de référence
%REFRCODE% Code de 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

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 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.

 


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