Rubrique précédente: Syntaxe des fichiers de schémaRubrique suivante: Instruction TABLE_INFO


Instruction TABLE

Définit les tables logiques du schéma de la base de données CA SDM ainsi que leurs colonnes logiques (champs). Ces tables et colonnes logiques sont mises en correspondance avec les tables et les colonnes physiques utilisées par votre SGBD, dans une instruction de mappage suivant l’instruction TABLE.

Remarque : Si vous définissez une nouvelle table, vous devez définir aussi une instruction de mappage pour celle-ci. L'instruction de mappage est illustrée à la fin de ce chapitre, suivie d'un exemple comprenant les instructions TABLE, TABLE_INFO et les instructions de mappage.

Syntaxe

TABLE table_name {field value_type field_attributes; [...]}

Arguments

TABLE

Introduit l’instruction TABLE. Toujours en majuscules. Vous devez avoir une instruction TABLE pour chaque table logique du schéma.

table_name

Nom de la table de base de données, par exemple Call_Req. Si vous ajoutez une table de base de données, vous pouvez spécifier un nom commençant par un z minuscule. (Cela évite un conflit possible entre les noms de table CA SDM existants et futurs.) Si vous changez une table existante, recherchez la table dans un des fichiers .sch et utilisez le même nom.

field

Nom d’une colonne logique de la table, par exemple id ou desc. Vous devez identifier chaque colonne par son nom. Si vous ajoutez une table ou une colonne à une table existante, vous pouvez spécifier un nom commençant par un z minuscule. Cependant, les noms de champ ne doivent pas finir par les caractères "_f." (Cela évite les conflits possibles entre les noms de colonne CA SDM existants et futurs.) Si vous changez une colonne existante, recherchez la colonne dans un des fichiers .sch et utilisez le même nom.

value_type

Type de données du champ. Les valeurs valides sont :

Valeur

Description

STRING nn

Chaîne comportant nn caractères.

NOMBRE ENTIER

Nombre sur 32 bits.

LOCAL_TIME

Nombre de secondes depuis le 1er janvier 1970. CA SDM reformate automatiquement ce type de données au format de la date désigné, par exemple :
dd/mm/yy hh:mm:ss.

DUREE

Laps de temps mesuré en secondes

REAL

Nombre en virgule flottante

UUID

Valeur binaire codée sur 16 octets

field_attributes

Description du champ. Les valeurs valides sont :

Valeur

Description

KEY

Identifie ce champ comme étant la clé primaire à utiliser pour identifier les enregistrements à mettre à jour à l’aide de l’utilitaire pdm_load. Ce paramètre est utilisé si la clé primaire par défaut, id, n’est pas spécifiée. Doit être spécifié si le champ constitue la clé primaire de la table.

NOT_NULL

Indique que le champ doit contenir une valeur. Doit être spécifié si le champ constitue la clé primaire de la table. Facultatif si le champ ne constitue pas la clé primaire.

REF other_table_name

Indique que le champ fait référence à une autre table. Facultatif, que le champ soit ou non la clé primaire.

S_KEY

Identifie éventuellement ce champ comme étant la clé secondaire à utiliser pour identifier les enregistrements à mettre à jour à l’aide de l’utilitaire pdm_load.

UNIQUE

Indique que les valeurs de ce champ doivent être uniques. Doit être spécifié si le champ constitue la clé primaire de la table. Facultatif si le champ ne constitue pas la clé primaire.

Les macros sont des synonymes qui seront convertis pendant la configuration à la valeur que la macro représente. Vous pouvez utiliser des macros pour les attributs ou les types de données. Si vous souhaitez utiliser des macros, vous devez ajouter une instruction #include pour inclure le fichier qui définit la macro en incluant le nom du chemin d’accès (correspondant généralement à votre fichier de schéma). Vous devez définir l’instruction include avant d’utiliser la macro. Exemple d’une instruction include :

#include "../schema.mac"

Le tableau suivant présente certaines des macros définies dans les fichiers .mac, situés dans le répertoire $ NX_ROOT/site (UNIX) ou répertoire-installation/site (Windows).

Type de données

Equivalent

nn

NOT_NULL

uniq

UNIQUE NOT_NULL

ADDR_LINE

STRING 30

EMAILADDR

STRING 120

ENT_DESC

STRING 40

ENT_NAME

STRING 30

OSI_NAME

STRING 80

OSI_TYPE_STRING

STRING 60

USERID

STRING 85

PHONENUM

STRING 32

SYMBOL

STRING 12

HIER_SYM

STRING 60

LONG_SYM

STRING 30

COMMENT

STRING 1000

LONG_STR

STRING 500

LONG_DESC

STRING 240

BOOL

NOMBRE ENTIER

Exemples

Cette instruction TABLE du schéma de base de données définit les sévérités. La macro nn indique qu’une valeur est requise dans le champ del. La macro uniq indique que les valeurs sont obligatoires et doivent être uniques :

#include :../schema.mac”
TABLE Severity {
   id        INTEGER uniq KEY;    // key id
   del       INTEGER nn;          // 0=present,1=gone
   sym       SYMBOL uniq S_KEY; // type symbol
   desc      ENT_DESC;            // non‑OSI specified column
}

Cette instruction TABLE modifiée rend obligatoire le champ Priorité de la fenêtre Détail de la demande :

TABLE Call_Req {priority INTEGER NOT_NULL;}

Cette instruction TABLE ajoute un champ Code de résolution dans la table Call_Req. Le contenu de ce champ est numérique et fait référence à la table Resolution_Code. Cette référence permet à l'utilisateur de double‑cliquer sur le champ Code de résolution de la fenêtre Détail de l'appel pour afficher les valeurs de la table Resolution_Code :

TABLE Call_Req {zres_code INTEGER REF Resolution_Code;}