11.4. Index Uniques

Les index peuvent aussi �tre utilis�s pour garantir l'unicit� des valeurs d'une colonne, ou l'unicit� des valeurs combin�es de plusieurs colonnes.

CREATE UNIQUE INDEX name ON table (column [, ...]);

� ce jour, seuls les index B-trees peuvent �tre d�clar�s uniques.

Lorsqu'un index est d�clar� unique, des lignes diff�rentes d'une table ne pourront avoir une valeur �gale. Les valeurs Nulles ne sont pas consid�r�es comme �gales. Un index unique multicolonnes ne rejettera que les cas o� toutes les colonnes index�es sont �gales dans deux lignes.

PostgreSQL cr�e automatiquement un index unique quand une contrainte unique ou une cl� primaire sont d�finies sur une table. L'index porte sur les colonnes qui composent la cl� primaire ou la contrainte d'unicit� (il s'agit d'un index multicolonnes, si c'est appropri�). Cet index EST le m�canisme qui v�rifie la contrainte.

Note�: La m�thode la plus appropri�e pour ajouter une contrainte � une table est ALTER TABLE ... ADD CONSTRAINT. L'utilisation des index pour v�rifier les contraintes uniques doit �tre consid�r�e comme un d�tail d'impl�mentation qui ne doit pas �tre utilis� directement. Il faut par contre savoir qu'il n'est pas n�cessaire de cr�er manuellement un index sur les colonnes uniques. Cela dupliquerait l'index cr�� automatiquement.