SQL Server索引命名约定

时间:2010-05-06 18:33:56

标签: sql-server naming-conventions indexing

是否有一些标准的方法来为SQL Server命名索引?似乎主键索引名为PK_,非聚簇索引通常以IX_开头。是否有任何超出唯一索引的命名约定?

4 个答案:

答案 0 :(得分:244)

我用

主键的PK_

UK_表示唯一键

IX_表示非集群非唯一索引

UX_用于唯一索引

我的所有索引名称都采用
的形式 <index or key type>_<table name>_<column 1>_<column 2>_<column n>

答案 1 :(得分:23)

我通常用表的名称和它们包含的列命名索引:

ix_tablename_col1_col2

答案 2 :(得分:8)

与外键关联的索引是否值得一个特殊的前缀?我是这么认为的,因为它提醒我默认情况下不创建外键索引,因此更容易看出它们是否丢失。

为此,我使用的名称与外键的名称相匹配:

FK_[table]_[foreign_key_table]

或者,在同一个表中存在多个外键

FK_[table]_[foreign_key_table]_[foreign_key_field]

答案 3 :(得分:2)

我知道一个古老的话题,但我认为我会投入我的2重量值

  • PKC_主键,群集
  • PKNC_主键,非群集
  • NCAK_非群集,独特
  • CAK_群集,独特
  • NC_ Non Clustered

实施例

NCAK_AccountHeader_OrganisationID_NextDate

NCAK:Non Clustered,Unique,AccountHeader:Table and OrganisationID_NextDate:Columns。