昨天我面临一个关于sql表设计的面试问题。 问题是,如果表包含firstName,lastName,Gender等字段(只有这些字段不再存在),我们可以选择哪一个作为主键?
任何提示都会非常感激 谢谢
答案 0 :(得分:3)
它们中没有一个在表中是唯一的,因此您需要创建一个自动递增的额外主键字段,以便保证两行不会相同。听起来他们给你一个技巧问题:)
答案 1 :(得分:1)
PRIMARY KEY
必须是唯一的。因此,您必须根据不会重复的数据构建它。
答案 2 :(得分:0)
所以主键是一个独特的&不是空值。
如果表包含firstName,lastName,Gender等字段(只有这些字段不再存在),我们可以选择哪一个作为主键。
您不能将上面的列用作主键。
答案 3 :(得分:0)
这是我的2美分(这些规则适用于每个新表,适用于初学者模式设计者)
答案 4 :(得分:0)
您可以将一个字段与另一个字段组合,该字段将为您提供主键(不是非常值得推荐,但您可以将此字段加上时间戳字段作为组合主键).....