是否有一些标准的方法来命名SQL Server索引?主键索引似乎命名为PK_,而非聚集索引通常以IX_开头。除了唯一索引,还有什么命名约定吗?


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

ix_tablename_col1_col2

我使用

PK_表示主键

UK_表示唯一键

IX_用于非聚集的非唯一索引

UX_用于唯一索引

我的所有索引名的形式都是 <索引或键类型>_<表名>_<列1>_<列2>_<列n>


我知道一个老话题,但我想把我的2美分价值

PKC_主密钥,已聚集 PKNC_主键,非集群 NCAK_非聚集,唯一 CAK_集群,唯一 NC_非聚集

例子;

NCAK_AccountHeader_OrganisationID_NextDate

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


是否值得为与外键相关的索引设置一个特殊的前缀?我想是的,因为它提醒我,外键上的索引不是默认创建的,所以更容易看到它们是否缺失。

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

FK_[table]_[foreign_key_table]

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

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