数据库依赖键来存储、排序、比较或创建记录之间的关系。如果您熟悉数据库一段时间,您可能听说过不同类型的键:主键,候选人钥匙, 和外钥匙。
创建新数据库表时,您会要求您选择一个首要的关键它将唯一地标识存储在该表中的每条记录。
为什么主键很重要
主键的选择是您所在的最关键的决策之一设计一个新的数据库。最重要的约束是您必须确保所选密钥是唯一的。如果可能的是,两个记录(过去,呈现或将来)可能与属性共享相同的值,则它对主键的选择很糟糕。
主键的另一个重要方面是其在关系数据库中链接到它的其他表的使用。在这方面,主键充当指针的目标。由于这些相互依赖性,创建记录时必须存在主键,并且永远不会改变。
初级钥匙的选择不佳
有些人可能认为主键的明显选择可能是一个糟糕的选择。以下是一些例子:
- 邮政编码不要为城镇的桌子制作良好的主要钥匙。如果您正在进行一个简单的城市表,邮政编码似乎是一个逻辑主键。但是,在进一步调查后,您可能会意识到多个城镇共享邮政编码。例如,海王星,海王星市,廷顿瀑布和墙乡的新泽西州城市都分享了07753邮政编码。
- 社会安全号码有很多原因,请勿制作良好的主要键。大多数人认为他们的SSN私有,不希望它对数据库用户清晰可见。此外,有些人没有SSN。
- 电子邮件地址也是主要钥匙的选择。虽然它们是独一无二的,但它们可能会随着时间的推移而变化。此外,不是每个人都有电子邮件地址。
是什么让一个好的主键
那么,你如何选择有效的主键?在大多数情况下,转向您的数据库系统以进行支持。
数据库设计中最好的做法是使用内部生成的主键。你的数据库管理系统通常可以产生一个唯一标识符在数据库系统之外的任何意义。
例如,您可以使用Microsoft Access AutoNumber数据类型来创建名为RecordId的字段。每次创建记录时,AutoNumber数据类型会自动递增该字段。虽然数字本身毫无意义,但它提供了一种可靠的方法来引用查询中的个别记录。
良好的主键通常短,使用数字,并避免特殊字符或大写和小写字符的混合,以促进快速数据库查找和比较。
感谢您让我们知道!
告诉我们为什么!