试图避免多个单字段唯一索引

时间:2013-09-16 14:29:36

标签: sql-server

我的公司要求每张桌子都有一个独特的标识符。但是,大多数查找表都有每个条目的数字代码。例如,有一个权限列表:10-None,20-View,30-Edit等。代码是必不可少的,必须是唯一的。 Alos,代码“无”,“编辑”等的文本也需要是唯一的,所以现在我有两个单独的字段,每个字段都需要是唯一的。现在我必须添加一个guid列。现在,表格中有三个独立的字段,每个字段都需要是唯一的。此示例使用一个非常简单的列表。代码值是必不可少的,这些表中的一些等同于枚举。我需要代码和文本。具有三个单独的字段,每个字段具有唯一索引,这看起来与正常的表格设

是否有更常见的做法可以避免这种情况?

谢谢。

2 个答案:

答案 0 :(得分:0)

即使您已经拥有多个唯一值,我也不知道您为什么要更改该设置。我的上一个雇主也有类似的做法,尽管我们有唯一的识别字段,但所有字段都有唯一的标识字段。      这是一件好事,因为除了标识符字段之外,程序中偶尔会出现错误,导致重复输入错误。这通常使我们的程序不会崩溃或返回不正确的数据,因为我们总是加入标识符而不是不应该有重复的“唯一”字段。

答案 1 :(得分:0)

索引放在通常在排序或链接表时使用的字段上。例如,假设您有一个“规范化”的产品订单环境。您可以为客户提供一个表,其中包含客户ID和其他信息,您将拥有一个包含订单的表,这些表将包含客户ID。您可以在两个表中索引客户ID,因为您将经常加入这些表。

就唯一标识符而言,您无需为它们编制索引以使其唯一。