将ER模型转换为关系模型

时间:2015-03-05 15:12:19

标签: database model relational-database entity-relationship

我在转换下面图片中的弱实体D时遇到问题

enter image description here

我应该这样做D(A_pri_key, B_pri_key)

或者我应该将D1(A_pri_key) and D2(B_pri_key)分开?

我更喜欢第二种选择,因为第一种选择在转换C(A_pri_key, B_pri_key)

时真的看起来像C

1 个答案:

答案 0 :(得分:5)

我认为这应该是首选。

当我们为弱实体构造表时,它有每个属性的列和一个额外的列,用于放入强实体集的主键(弱实体所依赖的实体集)。

方法1

在这种情况下,D依赖于2个强实体。因此D =外键的主键(指向A的主键)+外键(指向B的主键)。这将为D的每个实例定义唯一键。

方法2

创建单独的表D1和D2将导致冗余。

在这种情况下,

D1的主键=判别器+外键(指向A)

D2的主键=判别器+外键(指向B)

这里针对D的具体实例,我们最终会得到2个主键,一个来自D1,另一个来自D2。