Chapter 3 Guide de référence du SGBD


Définition d'un attribut étendu dans un SGBD

Chaque attribut étendu a les propriétés suivantes :

Propriété de l'entrée
Description
Nom Nom de la catégorie ou de l'entrée
Commentaire Description de la catégorie ou de l'entrée sélectionnée
Type de données Types d'attributs étendus prédéfinis ou définis par l'utilisateur
Valeur par défaut Valeur par défaut de la liste des valeurs. Dépend du type de données sélectionné

Steps Pour ajouter un attribut étendu :

  1. Pointez sur une catégorie de métaclasse dans la catégorie Profile, cliquez le bouton droit de la souris, puis sélectionnez Nouveau→Attributs étendus dans le menu contextuel.

    Un nouvel attribut étendu est créé.
  2. Saisissez un nom dans la zone Nom.
  3. Saisissez un commentaire dans la zone Commentaire.
  4. Sélectionnez un type de données dans la liste Type de données.
  5. <facultatif>> Sélectionnez une valeur par défaut dans la liste Valeur par défaut.
  6. Cliquez sur Appliquer.

Exemple

Dans DB2 UDB 7 OS/390, l'attribut étendu WhereNotNull permet d'ajouter une clause qui spécifie que les noms d'index doivent être uniques à condition qu'ils ne soient pas null.

Dans la commande Create index , WhereNotNull est évalué comme suit :

create [%INDEXTYPE% ][%UNIQUE% [%WhereNotNull%?where not null ]]index [%QUALIFIER%]%INDEX% on [%TABLQUALIFIER%]%TABLE% (

%CIDXLIST%

)

[%OPTIONS%]

Si le nom d'index est unique, et si vous définissez le type de l'attribut étendu WhereNotNull comme True, la clause "where not nul" sera insérée dans le script.

Dans la quête SqlListQuery  :

{OWNER, TABLE, INDEX, INDEXTYPE, UNIQUE, INDEXKEY, CLUSTER, WhereNotNull}

select 
   tbcreator,
   tbname,
   name,
   case indextype when '2' then 'type 2' else 'type 1' end,
   case uniquerule when 'D' then '' else 'unique' end, 
   case uniquerule when 'P' then 'primary' when 'U' then 'unique' else '' end, 
   case clustering when 'Y' then 'cluster' else '' end,
   case uniquerule when 'N' then 'TRUE' else 'FALSE' end
from
   sysibm.sysindexes 
where 1=1
[  and tbname=%.q:TABLE%]
[  and tbcreator=%.q:OWNER%]
[  and dbname=%.q:CATALOG%]
order by
   1 ,2 ,3

 


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