我目前有一个包含IDENTITY
字段的表格。该字段声明为INT
类型。问题是我有一些新的唯一值,但它们不是INT
。它们是字母数字,因此我无法将它们放在INT
字段中。我唯一的选择是创建另一个列并将其粘贴到新的NON-IDENTITY
列中,还是有其他选择?以上示例仅适用于2种不同的身份格式,但如果我开始获得更多内容呢?我不想为每种格式化的alpha(数字)创建一个列。
答案 0 :(得分:0)
一个表有多个列也必须是唯一的并不罕见。我认为真正的问题是你在这里拍摄的标准化程度如何,是否增加了列支持或打破了目标关系规范化水平或你认为可接受的水平?
例如,考虑到第3个普通和/或着名的“每个非关键属性将揭示关于密钥,整个密钥的事实,除了密钥...... 所以帮助我Codd ”。
您要添加的新唯一值是否会添加关于键标识的行的事实?
此外,主键通常是聚簇索引,但并非必须如此。您还可以在同一个表上设置其他唯一索引,这在上下文中被视为“正常” “你想要完成什么”并进行优化。
答案 1 :(得分:0)
替代方案是:
当然,您必须注意在此过程中有关此表的任何可能行动。