是否有一些标准的方法来命名SQL Server索引?主键索引似乎命名为PK_,而非聚集索引通常以IX_开头。除了唯一索引,还有什么命名约定吗?
当前回答
我使用
PK_表示主键
UK_表示唯一键
IX_用于非聚集的非唯一索引
UX_用于唯一索引
我的所有索引名的形式都是 <索引或键类型>_<表名>_<列1>_<列2>_<列n>
其他回答
我使用
PK_表示主键
UK_表示唯一键
IX_用于非聚集的非唯一索引
UX_用于唯一索引
我的所有索引名的形式都是 <索引或键类型>_<表名>_<列1>_<列2>_<列n>
我通常用表的名称和它们包含的列来命名索引:
ix_tablename_col1_col2
是否值得为与外键相关的索引设置一个特殊的前缀?我想是的,因为它提醒我,外键上的索引不是默认创建的,所以更容易看到它们是否缺失。
为此,我将使用与外键名称匹配的名称:
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:表和organizationid_nextdate:列。
推荐文章
- 在SQL Server 2008 R2中重命名数据库时出错
- 将数据复制到另一个表中
- 如何在SQL中选择表的最后一条记录?
- 修改列,添加默认约束
- 在存储过程中使用“SET XACT_ABORT ON”有什么好处?
- 如何检查SQL Server文本列是否为空?
- 如何创建一个SQL Server函数“连接”多行从一个子查询到一个单独的分隔字段?
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- 单元测试的一些常用命名约定是什么?
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 多语句表值函数vs内联表值函数
- NOLOCK提示在SELECT语句中的作用