Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL POSTGRESQL FORUM POSTGRESQL F.A.Q POSTGRESQL UDF POSTGRESQL LIVRES POSTGRESQL

11.5. 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 nom ON table (colonne [, ...]);

À 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 NULL ne sont pas considérées comme égales. Un index unique multicolonnes ne rejette 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]

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, cependant, savoir qu'il n'est pas nécessaire de créer manuellement un index sur les colonnes uniques. Cela dupliquerait l'index créé automatiquement.

Responsable bénévole de la rubrique PostgreSQL : Damien Griessinger (HpAlpha) - Contacter par EMail :
Vos questions techniques : forum d'entraide PostgreSQL - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.