Comment : créer des index uniques
Mise à jour : novembre 2007
Dans SQL Server, vous pouvez créer un index unique sur une colonne unique (telle que employee id) ou sur un ensemble de colonnes qui, ensemble, identifient chaque enregistrement de manière unique (par exemple author + title).
Par exemple, si vous prévoyez d'interroger fréquemment la colonne Numéro de sécurité sociale (ssn) dans la table employee (où la clé primaire est emp_id) et voulez vous assurer que les numéros de sécurité sociale sont uniques, vous devez créer un index unique sur ssn. Si un utilisateur entre le même numéro de sécurité sociale pour plusieurs employés, la base de données affichera une erreur et ne pourra pas enregistrer la table. Pour plus d'informations sur les index uniques, consultez la rubrique « Directives pour la conception d'index uniques » du site Web Microsoft.
Lorsque vous créez ou modifiez un index unique, une option vous permet d'ignorer les clés en double. Si vous affectez à cette option la valeur Oui et que vous tentez de créer une clé dupliquée en ajoutant des données concernant plusieurs lignes (avec l'instruction INSERT), la ligne qui contient le doublon n'est pas ajoutée. Si cette option a la valeur Non, l'intégralité de l'opération INSERT échoue et toutes les données sont restaurées.
Remarque : |
---|
Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio. |
Pour créer un index unique
Dans l'Explorateur de serveurs, sélectionnez la table de base de données à ouvrir.
Dans le menu Base de données, cliquez sur Ouvrir la définition de table.
La table s'ouvre dans le Concepteur de tables.
Dans le menu Concepteur de tables, cliquez sur Index/Clés.
Cliquez sur Ajouter. La liste Clé ou index Primary/Unique sélectionné(e) affiche le nom du nouvel index assigné par le système.
Dans la grille, cliquez sur Type.
Choisissez Index dans la liste déroulante située à droite de la propriété.
Sous Nom de la colonne, sélectionnez les colonnes à indexer. Vous pouvez sélectionner jusqu'à 16 colonnes. Si vous souhaitez que les performances soient optimales, évitez d'en sélectionner plus de deux par index. Pour chaque colonne sélectionnée, vous pouvez indiquer si l'index organise ses valeurs en ordre croissant ou décroissant.
Dans la grille, cliquez sur Est unique.
Choisissez Oui dans la liste déroulante située à droite de la propriété.
Activez la case à cocher Ignorer les clés dupliquées si vous voulez ignorer les données nouvelles ou mises à jour qui créeraient une clé en double dans l'index (avec l'instruction INSERT ou UPDATE).
L'index est créé dans la base de données lorsque vous enregistrez la table ou le schéma.
Remarque : |
---|
Il n'est pas possible de créer un index unique sur une seule colonne si cette colonne contient des valeurs null dans plusieurs lignes. De même, il n'est pas possible de créer un index unique sur plusieurs colonnes si la combinaison des colonnes contient des valeurs null dans plusieurs lignes. En effet, ces valeurs sont traitées comme des doublons par l'indexation. |
Remarque : |
---|
Toutes les bases de données n'utilisent pas les index de la même façon. Pour plus d'informations, consultez la documentation de votre base de données. |