Chapter 3 Guide de référence du fichier de ressource de SGBD


Index

La catégorie Index est située dans la catégorie Racine→Script→Objects, et peut contenir les éléments suivants qui définissent la façon dont les index sont modélisés pour votre SGBD.

Elément Description
[Common
items]
Les éléments suivants communs aux différents objets peuvent être définis pour des index :

  • Add
  • AfterCreate, AfterDrop, AfterModify
  • BeforeCreate, BeforeDrop, BeforeModify
  • Create, Drop
  • Enable, EnableOwner
  • Header, Footer
  • Maxlen
  • ModifiableAttributes
  • Options, DefOptions
  • ReversedQueries
  • ReversedStatements
  • SqlAttrQuery, SqlListQuery, SqlOptsQuery


Pour obtenir une description de chacun de ces éléments communs, voir Eléments communs aux différents objets.
AddColIndex Spécifie une instruction permettant d'ajouter une colonne dans l'instruction Create Index . Ce paramètre définit chaque colonne dans la liste des colonnes de l'instruction Create Index .

Exemple (ASE 15) :

%COLUMN%[ %ASC%]


%COLUMN% représente le code de la colonne tel que défini dans la liste des colonnes de la table. %ASC% représente ASC (ordre ascendant) ou DESC (ordre descendant) en fonction de l'état du bouton radio Tri pour la colonne d'index.
Cluster Spécifie la valeur qui doit être affectée au mot clé Cluster. Si ce paramètre est vide, la valeur par défaut de la variable %CLUSTER% est CLUSTER.
CreateBefore
Key
Contrôle l'ordre de génération des index et des clés. Les valeurs possibles sont les suivantes :

  • Yes – Les index sont générés avant les clés.
  • No – Les index sont générés après les clés.
DefIndexType Spécifie le type par défaut d'un index.

Exemple (DB2) :

Type2
DefineIndex
Column
Spécifie la colonne d'un index.
EnableAscDesc Active la propriété Tri dans les feuilles de propriétés d'index, qui permet de trier par ordre ascendant ou descendant. Les valeurs possibles sont les suivantes :

  • Yes – La propriété Tri est activée pour les index, avec Ascendant sélectionné par défaut. La variable %ASC% est calculée. Le mot clé ASC ou DESC est généré lorsque vous créez ou modifiez la base de données
  • No – Le tri d'index n'est pas pris en charge.


Exemple (SQL Anywhere 10) :

Un index de clé primaire est créé sur la table TASK, avec la colonne PRONUM triée par ordre ascendant et la colonne TSKNAME par ordre descendant :

create index IX_TASK on TASK (PRONUM asc, TSKNAME desc);
EnableCluster Permet la création d'index cluster. Les valeurs possibles sont les suivantes :

  • Yes - case à cocher Cluster s'affiche dans la feuille de propriétés d'index.
  • No – L'index ne prend pas en charge les index cluster.
EnableFunction Permet la création d'index basés sur des fonctions. Les valeurs possibles sont les suivantes :

  • Yes - Vous pouvez définir des expressions pour les index.
  • No – L'index ne prend pas en charge les expressions.
IndexComment Spécifie une instruction permettant d'ajouter un commentaire à un index.

Exemple (SQL Anywhere 10) :

comment on index [%QUALIFIER%]%TABLE%.%INDEX% is
%.q:COMMENT%
IndexType Spécifie une liste de types d'index disponibles.

Exemple (IQ 12.6) :

CMP
HG
HNG
LF
WD
DATE
TIME
DTTM
MandIndexType Spécifie si le type d'index est obligatoire pour les index. Les valeurs possibles sont les suivantes :

  • Yes – Le type d'index est obligatoire.
  • No - Le type d'index n'est pas obligatoire.
MaxColIndex Spécifie le nombre maximum de colonnes pouvant être incluses dans un index. Cette valeur est utilisée lors de la vérification de modèle.
SqlSysIndex
Query
Spécifie une requête SQL utilisée pour répertorier les index système créés par la base de données. Ces index sont exclus lors du reverse engineering.

Exemple (AS IQ 12.6) :

{OWNER, TABLE, INDEX, INDEXTYPE}
select u.user_name, t.table_name, i.index_name, i.index_type
from sysindex i, systable t, sysuserperms u
where t.table_id = i.table_id
and u.user_id = t.creator
and i.index_owner != 'USER'
[and u.user_name=%.q:OWNER%]
[and t.table_name=%.q:TABLE%]
union
select u.user_name, t.table_name, i.index_name, i.index_type
from sysindex i, systable t, sysuserperms u
where t.table_id = i.table_id
and u.user_id = t.creator
and i.index_type = 'SA'
[and u.user_name=%.q:OWNER%]
[and t.table_name=%.q:TABLE%]
UniqName Spécifie si les noms d'index doivent être uniques dans la portée globale de la base de données. Les valeurs possibles sont les suivantes :

  • Yes – Les noms d'index doivent être uniques dans la portée globale de la base de données.
  • No – Les noms d'index doivent être uniques pour chaque objet

 


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