Index (catégorie de SGBD)

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.

Remarque : Pour plus d'informations sur l'utilisation de variables dans SqlListQuery pour le reverse engineering des index basés sur des fonctions, voir Reverse engineering direct d'index basés sur une fonction

AddColIndex

Spécifie une instruction pour ajouter une colonne dans l'instruction Create Index. paramètre définir chaque colonne dans la liste de colonnes de l'instruction Create Index statement.

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.

AlterIgnoreOrder

Spécifie que les changements dans l'ordre de la collection ne doivent pas donner lieu à une commande de modification de base de données.

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