实体只能将一个属性作为主键吗?还是可能有一组属性作为主键?
答案 0 :(得分:2)
密钥是属性的不可简化的唯一 set 集,这意味着密钥可以包含零个,一个或多个属性。密钥不可还原的要求并不意味着它们必须很小或由单个属性组成;这只是意味着每个键必须具有满足唯一性要求所需的最少数量的属性。
关系表必须至少有一个键,并且可能有许多键。这些键中的任何一个都可能包含几个属性。
答案 1 :(得分:0)
主键是一种逻辑约束,由唯一标识集合成员的属性集合组成;该集合只能有一个成员。换句话说,是的。
自然主键是关系纯粹主义者的首选,因为添加代理键会添加附加属性,这些属性不是数据模型固有的一部分。实际上,最好使用代理键(例如,身份值),因为它们可以降低联接的复杂性,并提高作为关系引擎大多数实现基础的索引的性能。