是否有一些标准的方法来命名SQL Server索引?主键索引似乎命名为PK_,而非聚集索引通常以IX_开头。除了唯一索引,还有什么命名约定吗?
当前回答
是否值得为与外键相关的索引设置一个特殊的前缀?我想是的,因为它提醒我,外键上的索引不是默认创建的,所以更容易看到它们是否缺失。
为此,我将使用与外键名称匹配的名称:
FK_[table]_[foreign_key_table]
或者,同一个表上存在多个外键
FK_[table]_[foreign_key_table]_[foreign_key_field]
其他回答
是否值得为与外键相关的索引设置一个特殊的前缀?我想是的,因为它提醒我,外键上的索引不是默认创建的,所以更容易看到它们是否缺失。
为此,我将使用与外键名称匹配的名称:
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:列。
我通常用表的名称和它们包含的列来命名索引:
ix_tablename_col1_col2
我使用
PK_表示主键
UK_表示唯一键
IX_用于非聚集的非唯一索引
UX_用于唯一索引
我的所有索引名的形式都是 <索引或键类型>_<表名>_<列1>_<列2>_<列n>
推荐文章
- 我如何转义一个百分比符号在T-SQL?
- SQL Server恢复错误-拒绝访问
- 为什么PostgreSQL要对索引列进行顺序扫描?
- 有没有REST api的命名规范指南?
- 如何在SQL Server Management Studio中查看查询历史
- SQL Server索引命名约定
- 可以为公共表表达式创建嵌套WITH子句吗?
- SQL Server的NOW()?
- 在SQL Server中截断(不是四舍五入)小数位
- 如何在SQL Server数据库中更改列数据类型而不丢失数据?
- 保持简单,以及如何在一个查询中执行多个CTE
- 如何使用TSQL截断数据库中的所有表?
- Pandas loc vs iloc vs at vs iat?
- Pandas:索引数据帧时的多个条件-意外行为
- 如何从表中导出所有数据到可插入的sql格式?