web-dev-qa-db-fra.com

Conventions de dénomination des index SQL Server

Existe-t-il un moyen standard de nommer les index pour SQL Server? Il semble que l'index de clé primaire s'appelle PK_ et que les index non clusterisés commencent généralement par IX_. Existe-t-il d'autres conventions de dénomination pour les index uniques?

156
Eric Ness

J'utilise

PK_ pour les clés primaires

UK_ pour les clés uniques

IX_ pour les index non uniques non clusterisés

UX_ pour les index uniques

Tous mes noms d'index se présentent sous la forme
<index or key type>_<table name>_<column 1>_<column 2>_<column n>

254
JSR

Je nomme généralement les index en fonction du nom de la table et des colonnes qu'ils contiennent:

ix_tablename_col1_col2
24
Mark Byers

Vaut-il un préfixe spécial pour les index associés aux clés étrangères? Je pense que oui, car cela me rappelle que les index sur les clés étrangères ne sont pas créés par défaut et qu'il est donc plus facile de voir s'ils manquent.

Pour cela, j'utilise des noms qui correspondent au nom de la clé étrangère:

FK_[table]_[foreign_key_table]

ou, s'il existe plusieurs clés étrangères sur la même table

FK_[table]_[foreign_key_table]_[foreign_key_field]
8
Stuart Steedman

Je connais un vieux sujet, mais je pensais que je mettrais mes 2cents en valeur

  • Clé primaire PKC_, en cluster
  • PKNC_ Clé primaire, non groupée
  • NCAK_ Non clusterisé, Unique
  • CAK_ Clustered, Unique
  • NC_ non groupé

Exemple;

NCAK_AccountHeader_OrganisationID_NextDate

Où NCAK: Non clusterisé, Unique, AccountHeader: Table et OrganisationID_NextDate: Columns.

2
Pixelated