Chapter 3 Construction de diagrammes physiques
Vous pouvez créer les types d'index suivants :
Utilisez les conventions de dénomination suivantes pour les index :
Index | Convention de dénomination |
---|---|
Clé primaire | Code de table, suivi de PK (pour Primary Key , clé primaire). Par exemple, SALARIE_PK) |
Clé étrangère | Code de table, suivi de FK (pour Foreign Key , clé étrangère). Par exemple, PROJET_ FK |
Clé alternative | Code de table, suivi de AK (pour Alternate Key , clé alternative). Par exemple, SALARIE_ AK |
Prenons le cas d'une table comportant une clé primaire composée, c'est-à-dire une clé primaire portant sur plusieurs colonnes de cette table. Vous créez un index et le liez à la clé primaire. Si vous supprimez une colonne de clé primaire, l'index correspondant est également supprimé.
Pour créer un index :
Une colonne d'index dotée d'une expression a un type de données LONG qui ne peut pas être concaténé dans une instruction de chaîne lors du reverse engineering. La seule façon de contourner cette limitation et de concaténer cette valeur est d'utiliser des variables dans la requête exécutée afin d'extraire les informations adéquates.
Dans les SGBD Oracle 8i et Oracle 8i2, la requête SqlListQuery
définie dans la catégorie Index contient la variable suivante, utilisée pour récupérer l'expression d'index dans une colonne dotée du type de données LONG.
'%SqlExpression.Xpr'||i.table_name||i.index_name||c.column_position||'%'
Pour plus d'informations sur l'utilisation des variables dans les requêtes de reverse engineering, reportez-vous à la section "Mécanisme d'extension pour les requêtes de reverse engineering ODBC", dans le chapitre "Guide de référence du SGBD" dans la Documentation utilisateur avancée .
Les index basés sur une fonction définis sur UPPER(nom_colonne) ou LOWER(nom_colonne) peuvent faciliter les recherches qui ignorent la casse des caractères.
Si vous souhaitez définir un index qui convertira tous les noms en majuscules dans la table EMPLOYE afin de faciliter la recherche, vous pouvez définir l'index suivant (syntaxe pour Oracle 8i) :
CREATE INDEX indx_nom_maj ON SALARIE (UPPER(SALNOM))
Le SGBD peut alors l'utiliser pour le traitement de requêtes telles que la suivante :
SELECT * FROM SALARIE WHERE UPPER(SALNOM)="MARTIN"
Copyright (C) 2006. Sybase Inc. All rights reserved. |
![]() |