web-dev-qa-db-ja.com

SQL Serverのインデックスの命名規則

SQL Serverのインデックスに名前を付ける標準的な方法はありますか?主キーインデックスの名前はPK_で、非クラスター化インデックスは通常IX_で始まるようです。一意のインデックスの命名規則を超える命名規則はありますか?

156
Eric Ness

私が使う

主キーのPK_

一意のキーの場合はUK_

クラスター化された非一意インデックスのIX_

一意のインデックスのUX_

インデックス名はすべて次の形式を取ります
<index or key type>_<table name>_<column 1>_<column 2>_<column n>

254
JSR

私は通常、テーブルの名前とそれに含まれる列によってインデックスに名前を付けます。

ix_tablename_col1_col2
24
Mark Byers

外部キーに関連付けられたインデックスの特別なプレフィックスの価値はありますか?外部キーのインデックスはデフォルトでは作成されないことを思い出させてくれるので、そうだと思います。

このために、外部キーの名前と一致する名前を使用しています。

FK_[table]_[foreign_key_table]

または、同じテーブルに複数の外部キーが存在する場合

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

私は古いトピックを知っていますが、2セント分の価値を投入すると思いました

  • PKC_主キー、クラスター化
  • PKNC_主キー、非クラスター化
  • NCAK_非クラスター化、一意
  • CAK_クラスター化、一意
  • NC_非クラスター化

例;

NCAK_AccountHeader_OrganisationID_NextDate

ここで、NCAK:非クラスター化、一意、AccountHeader:表およびOrganisationID_NextDate:列。

2
Pixelated