Chapter 3 Guide de référence du SGBD


Template de nom de contrainte

Le SGBD utilise des variables et des formats de variable pour définir des templates de nom de contrainte. Ces derniers dont définis par la valeur du champ de SGBD ConstName. Les catégories d'objet suivantes ont un nom ConstName :

Catégorie Description
TABLE Template de nom de contrainte pour les vérifications de table
COLUMN Template de nom de contrainte pour les vérifications de colonne
PKEY Template de nom de contrainte pour les vérifications de clé primaire
KEY Template de nom de contrainte pour les vérifications de clé alternative
REFERENCE Template de nom de contrainte pour les vérifications de clé étrangère

Dans PowerAMC, vous pouvez définir des noms de contrainte définis par l'utilisateur. Les templates s'appliquent à toutes les contraintes pour lesquelles vous ne définissez pas de noms de contrainte définis par l'utilisateur.

Variables Code et Generated code

De nombreux objets ont des variables Code et Generated Code qui sont différenciées comme suit :

Variable Description
Code Code d'attribut défini dans la feuille de propriétés
Generated Code Code calculé en fonction des options de génération. Le code généré peut être différent du code dans les cas suivants :

Le code est un mot réservé ou contient des caractères incorrects. Le code généré est placé entre guillemets

Le code est plus long que la longueur autorisée par le SGBD. Le code généré est tronqué

Pour obtenir la liste de toutes les variables utilisées dans PowerAMC, reportez-vous à la section Variables de MPD.

Variables de nom communes pour ConstName

Le champ ConstName pour tous les objets peut accepter les variables courantes suivantes :

Variable Description
%@OBJTNAME% Nom d'objet
%@OBJTCODE% Code d'objet
%@OBJTLABL% Commentaire pour l'objet
%@OBJTDESC% Description pour l'objet

ConstName pour TABLE

Le champ ConstName pour l'objet TABLE peut accepter les variables suivantes :

Variable Valeur
%TABLE% Code généré pour la table
%TNAME% Nom de la table
%TCODE% Code de la table
%TLABL% Commentaire de la table

ConstName pour COLUMN

Le champ ConstName pour l'objet COLUMN peut accepter les variables suivantes :

Variable Valeur
%COLUMN% Code généré pour la colonne
%COLNAME% Nom de la colonne
%COLNCODE% Code de la colonne

ConstName pour PKEY

Le champ ConstName pour l'objet PKEY peut accepter la variable suivante :

Variable Valeur
%CONSTNAME% Nom de contrainte

ConstName pour KEY

Le champ ConstName pour l'objet KEY peut accepter les variables suivantes :

Variable Valeur
%AKEY% Code de la clé alternative
%TABLE% Code de la table

ConstName pour REFERENCE

Le champ ConstName pour l'objet REFERENCE peut accepter les variables suivantes :

Variable Valeur
%REFR% Code généré pour 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
%CHILD% Code généré pour la table enfant
%CNAME% Nom de la table enfant
%CCODE% Code généré pour 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
%PKCONSTRAINT% Nom de contrainte de clé parent utilisé pour faire référence à l'objet
%POWNER% Propriétaire de la table parent
%COWNER% Propriétaire de la table enfant
%CHCKONCMMT% TRUE lorsque Check on commit est sélectionné sur la référence (spécifique ASA 6.0)

Exemple

L'exemple suivant montre l'utilisation de templates de nom de contrainte pour Sybase Adaptive Server Anywhere 6.

Le SGBD Adaptive Server Anywhere 6 contient les valeurs suivantes pour le champ ConstName :

Catégorie Commentaire Valeur
PKEY Template de nom de contrainte pour les clés primaires PK_%.U27:TABLE%
REFR Template de nom de contrainte pour les clés étrangères FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
KEY Template de nom de contrainte pour les clés alternatives AK_%.U18:AKEY%_%.U8:TABLE%
COLN Template de nom de contrainte pour les vérifications de colonne CKC_%.U17:COLUMN%_%.U8:TABLE%
TABL Template de nom de contrainte pour les vérifications de table CKT_%.U26:TABLE%

Le script résultant que vous pouvez générer pour une table utilisant Adaptive Server Anywhere 6 déclare les noms de contrainte comme suit :

create table DISCOUNT
(
    DISCOUNT_ID      T_IDENTIFIER           not null,
    STOR_ID          T_AN_IDENTIFIER        not null,
    DISC_PERCENT     T_PERCENT              not null,
    DISC_TYPE        T_SHORT_TEXT           null    
        constraint CKC_DISC_TYPE_DISCOUNT check (DISC_TYPE in ('High','Medium','Low')),
    DISC_LOWQTY      T_QUANTITY             null    ,
    DISC_HIGHQTY     T_QUANTITY             null    ,
    constraint PK_DISCOUNT primary key (DISCOUNT_ID)
)
go

 


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