【发布时间】:2011-06-17 17:00:02
【问题描述】:
命名约定很重要,主键和外键有常用且明显的约定(分别为PK_Table 和FK_Table_ReferencedTable)。索引的IX_Table_Column 命名也相当标准。
UNIQUE 约束呢?此约束是否有普遍接受的命名约定?我见过UK_TableName_Column、UQ_TableName_Column,还有人推荐AX_TableName_Column——我不知道这是从哪里来的。
我通常使用UQ,但我不是特别喜欢它,而且我不喜欢为我使用它的选择辩护 UK 的拥护者。
我只是想看看是否就最流行的命名达成共识,或者对为什么一个比其他更有意义的一个很好的推理。
【问题讨论】:
-
@Mitch 有什么原因吗?我也这样做,但我总是问自己为什么没有人只使用
U。Q代表什么? -
你可以问关于 IX for IndeX 的同样问题......为什么不只是我?
-
“UQ”只是“UNIQUE”的缩写。两个字母的原因,基本上是“PK”的先例。
-
就我个人而言,我最终将 UX_* 用于“Unique indeX”,以向“IndeX”的默认 IX 致敬。我特别不喜欢UK_,因为我来自英国。如果互联网喜欢,我可能会被 AK 说服。
-
@KirkBroadhurst 我从未见过这样的约定,但由于赞成票它必须是常见的并且很好地服务于目的。但是有一个名为 FK_03 的外键不是很有帮助,将其命名为
FK_TargetTable_SourceTable不是更好吗?能否请您详细说明。
标签: sql sql-server naming-conventions unique-constraint