sql - 唯一约束的命名约定

标签 sql sql-server naming-conventions unique-constraint

命名约定很重要,主键和外键有常用且明显的约定(分别为PK_TableFK_Table_ReferencedTable)。索引的 IX_Table_Column 命名也相当标准。

UNIQUE 约束怎么样?此约束是否有普遍接受的命名约定?我见过 UK_TableName_ColumnUQ_TableName_Column,还有人推荐 AX_TableName_Column - 我不知道它来自哪里。

我通常使用 UQ,但我不是特别喜欢它,而且我不喜欢必须针对 UK 的拥护者来捍卫我使用它的选择。

我只是想看看是否就最流行的命名达成了共识,或者是否有一个很好的理由来解释为什么一个命名比其他命名更有意义。

最佳答案

我的索引和约束的命名约定:

<表类=“s-表”> <标题> 索引/约束类型 命名约定 <正文> 主键 _PK 唯一索引/约束 _AK{xx} 非唯一索引 _IX{xx} 检查约束 _CK{xx} 默认约束 _DF{xx} 外键约束 _FK{xx}

哪里{xx}是一个 2 位序列号,每个表的每种约束类型从 01 开始。主键没有序列号,因为只能有一个。 2 个字符的字母后缀含义是:

<表类=“s-表”> <标题> 后缀 含义 <正文> PK P初级Key AK A备用KFK 外国外国K他们 IX ndeX CK ChecK DF De错误错误

我通常希望按控制对象而不是按对象类型对元数据/系统目录数据进行分组。

关于sql - 唯一约束的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836391/

相关文章:

sql - 如何在 CASE 语句中分配多个值?

sql - SQL中根据 "First Name"+ "Last Name"过滤行

SQL 查询连接多个记录中的值

sql-server - 在联合 View 上添加唯一索引 (SQL Server 2008)

sql - MSSQL - 选择表中最新出现的几行

domain-driven-design - UserRegisteredEvent 与 RegisteredUserEvent 命名

sql - 在 SSMS 中找不到恢复数据库选项

mysql - 从 SQL 中的表中选择不同的日期间隔

Java : naming convention for accessors

java - J2EE 实用项目的 Maven GroupID 和 ArtifactID