假设 A、B、C 有键 id(A)、id(B) 和 id(C)。我想在关系模型中表示三元关系,我遵循“数据库系统基础(第 7 版)”(第 9.1.1 章,步骤 7)一书中的算法:
S 的主键(三元关系)通常是引用代表参与实体类型的关系的所有外键的组合。但是,如果参与 R 的任何实体类型 E 的基数约束为 1,则 S 的主键不应包含引用与 E 对应的关系 E' 的外键属性。
这让我怀疑,关系应该只由外键组成(我不确定这在关系模型中是否正确?),我应该为关系创建一个新的唯一标识符(即 S = (id(s), id (A), id(B), id(C)) 或参与实体的任何主键都可以是关系的主键?(即 id(A))
我知道我能做的只是创建一个与键 id(A) 和属性 id(B)、id(C) 和其余属性的关系 A,但如果可能的话,我想避免这种情况。