Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
数据库中的主键可以是多值的吗?例如,如果学生有多个银行帐号,我们可以使用此属性作为键吗?
这是一个有趣的问题,因为根据 Cthulhu 的回答中给出的定义,这两个银行账户对于用户都是唯一的,并且不会被任何其他行重复。
但是,由于您有效地定义了学生和银行帐户之间的一对多关系,因此您将银行帐户建立为一个单独的实体,而不是学生实体的一个属性。因此,您确实需要为学生寻找一个单独的唯一标识符以用作主键。
充其量,在这种情况下,您可以使用学生的“主要”银行帐户作为主键,并为与该键无关的备用银行帐户设置另一个字段。
Primary key声明的非常定义
Primary key
主键必须包含不能被任何其他行复制的特征。
因此,如果您有非唯一值,则不应将其用作主键。但是,您可以有一个扩展的主键,跨越多个列。