1

数据库中的主键可以是多值的吗?例如,如果学生有多个银行帐号,我们可以使用此属性作为键吗?

4

2 回答 2

2

这是一个有趣的问题,因为根据 Cthulhu 的回答中给出的定义,这两个银行账户对于用户都是唯一的,并且不会被任何其他行重复。

但是,由于您有效地定义了学生和银行帐户之间的一对多关系,因此您将银行帐户建立为一个单独的实体,而不是学生实体的一个属性。因此,您确实需要为学生寻找一个单独的唯一标识符以用作主键。

充其量,在这种情况下,您可以使用学生的“主要”银行帐户作为主键,并为与该键无关的备用银行帐户设置另一个字段。

于 2012-11-11T14:52:50.400 回答
1

Primary key声明的非常定义

主键必须包含不能被任何其他行复制的特征。

因此,如果您有非唯一值,则不应将其用作主键。但是,您可以有一个扩展的主键,跨越多个列。

于 2012-11-11T14:38:02.243 回答