Procédure : créer des index uniques (Visual Database Tools)

Dans Microsoft SQL Server, vous pouvez créer un index unique sur une colonne unique (telle que employee id) ou sur un jeu 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 souhaitez vous assurer que les numéros de sécurité sociale sont uniques, créez un index unique sur ssn. Si l'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.

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 si 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 elle a la valeur Non, l'intégralité de l'opération INSERT échoue et toutes les données sont restaurées.

Pour créer un index unique

  1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur la table, puis cliquez sur Conception.

    La table s'ouvre dans le Concepteur de tables.

  2. Dans le menu Concepteur de tables, cliquez sur Index/Clés.

  3. Cliquez sur Ajouter. La liste Clé ou index Primary/Unique sélectionné affiche le nom du nouvel index assigné par le système.

  4. Dans la grille, cliquez sur Type.

  5. Choisissez Index dans la liste déroulante située à droite de la propriété.

  6. Sous Colonnes, 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.

  7. Dans la grille, cliquez sur Est unique.

  8. Choisissez Oui dans la liste déroulante située à droite de la propriété.

  9. Sélectionnez l'option Ignorer les clés dupliquées et sélectionnez Oui si vous voulez ignorer les données qui créeraient une clé en double dans l'index unique (avec l'instruction INSERT).

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.