2012-03-20 83 views
0

昨天我遇到了关于sql表格设计的采访问题。 问题是如果表中包含firstName,lastName,Gender等字段(只有这些字段不再有),我们可以选择哪一个作为主键?sql表格设计

任何暗示将不胜感激 谢谢

+5

嗯...没有?看到任何这些fieds可以复制.... – 2012-03-20 12:10:58

+2

正确的答案是肯定没有这些 – YXD 2012-03-20 12:11:06

回答

1

一个PRIMARY KEY必须是唯一的。所以你必须从不会重复的数据构造它。

3

它们在表中都不是唯一的,所以你需要创建一个额外的主键字段来自动增加,以保证它们在两行中永远不会相同。听起来像他们得到了你一个技巧问题:)

0

所以主键是一个独特的&非空值。

如果表中包含firstName,lastName,Gender等字段(只有这些字段不再有),我们可以选择哪一个字段作为主键。

你不能使用上面的列作为主键。

0

这里是我的2美分(这些规则适用于所有的新表,对于初学者架构设计师)

  • 主键不应该是化合物(即,它应该只包含1列)
  • 主键列中不应包含任何有意义的数据(它应该是生成并自动分配给新记录的数字)
  • 主键的值不应该改变,并且不应为空
  • 除主键外,应该有另一个独特的ke y,可能是一个复合键,使用有意义的数据字段,以确保您没有重复的记录(例如,名字,姓氏,出生日期)
0

您可以用另一个领域,会给你一个主键(不是非常值得推荐一个场组合,但可以让这个字段加一个时间戳字段合并后的主键)... ..

+0

我给了同样的答案,但他非常奇怪地看着我:-) – user964147 2012-03-20 13:27:34