SQL Server索引命名约定

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

我用

主键PK_

UK_唯一的钥匙

IX_用于非集群非唯一索引

UX_获取唯一索引

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

我通常以表名和索引来命名索引:

 ix_tablename_col1_col2 

对于与外键相关的索引,值得使用一个特殊的前缀吗? 我这样认为,因为它提醒我外键的索引不是默认创build的,所以更容易看到它们是否丢失。

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

 FK_[table]_[foreign_key_table] 

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

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

我知道一个老话题,但认为我会投入我的2分钱

  • PKC_主键,集群
  • PKNC_主键,非群集
  • NCAK_非群集,唯一
  • CAK_群集,唯一
  • NC_非群集

例;

NCAK_AccountHeader_OrganisationID_NextDate

其中NCAK:非群集,唯一,AccountHeader:表和OrganisationID_NextDate:列。