Event
( EID ,学期,MName,时间,房间......)Module
( MName ,...)Eventplan
( EID , SName )Subject
( SName ,...)这是我的数据库架构。我不明白Event< - >之间的关系活动计划< - >学科。粗体名称是主键。但是,如果EID是Event和Eventplan中的主键,哪一个是他们自己关系中的主键?
必须有主键和外键才能在SQL中使用它们。因此,当两个名称相等甚至标记为主键时,我真的不明白如何看到它们中的哪一个具有哪个角色。
答案 0 :(得分:0)
理论在活动计划上有点不对......
鉴于计划可以用于任何数量的事件,但事件总是只有1个计划......
我的结构如下:
<强> PLAN 强> PID,PName ....等..,
<强>事件强> EID,学期,MID,SID,PID,时间,房间
<强>模块强> MID,Mname ......
<强>主题强> SID,SName
这假设如下:
我插入MID和SID,因为如果更改名称,则必须更新两个表。在这种情况下,如果名称发生变化,MID和SID将成为不依赖的代理键。