为颜色+数字设计数据库表以获得唯一性的更好方法是什么?

时间:2013-03-29 20:55:01

标签: database-design

我需要设计一个“标签”表,其中某些值本身是唯一的(例如123456),但有些值是标签颜色加数字的组合(例如红色1234)。

我可以像下面这样做,如果TagColor不为null,那么将其纳入逻辑,但这种方式感觉不对。还有其他想法我怎么设计得更好吗?

TagId  TagNumber   TagColor
(guid)  123456      (null)
(guid)  234567      (null)
(guid)  ABC123      (null)
(guid)  1234        Red
(guid)  2345        Blue
(guid)  2345        Green

感谢。

1 个答案:

答案 0 :(得分:0)

TagNumberTagColor是单独的属性,应该如此定义。他们一起创造了一个独特的元组。然后,您将在(TagNumberTagColor)上有一个综合索引。代理密钥有什么意义?