假设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,但是我想尽可能避免这种情况。