我有一个问题,将ER模型映射到关系模型。我试着简化我的案子。 假设有3个实体,A,B和C,以及2个关系,R1和R2
[A] ---(1,n) <<R1>>(1,1) === [[B]] === (1,n)<<R2>> (1,1) ==== [[C]]
A具有键,ak和其他属性。 B很弱并且由ak和bk标识(这是一个wek /部分密钥) 到目前为止..一切都可以映射,我将有两个关系
C是什么? 我认为C有像部分键的ck,但是如何映射新关系?
c(ck,bk,ak,c1,...,cn)
或其他类似的例如:
对最终SQL的思考没有多大帮助,因为我认为不允许多个foreign_keys(例如FOREIGN KEY(bk,ak)参考文献B(bk,ak)
我在很多书上搜索过但没有找到类似的情况。我此时真的很困惑...... 我希望你能帮助我:-) 提前致谢
答案 0 :(得分:1)
表PRIMARY KEY
的{{1}}为B
,因此您应该(bk, ak)
引用C
关系:
1:n
这在SQL中是允许的:
(ck, bk, ak) as PRIMARY KEY,
(bk, ak) as FOREIGN KEY referencing B(bk, ak)