识别is-a关系中的强项和弱项

时间:2018-09-08 17:09:18

标签: database database-design entity-relationship erd

在下面的ER图中,我应该找出强项和弱项。 enter image description here

根据我的说法,只有PERSON和INSURANCE_COMPANY是强实体。

没有医生就不能存在患者(由于最小基数为1),因此它是一个虚弱的实体。同样,没有部门就无法存在员工,反之亦然。因此,它们都是弱者。由于STAFF是弱项,因此其所有子类型(SUPPORT_STAFF,NURSE,DOCTOR)也必须是弱项,对吗?

我的理解正确吗?还是我缺少什么?

1 个答案:

答案 0 :(得分:2)

弱实体集不是由存在依赖关系决定的。规则实体集可以完全参与关系,因此也依赖于另一个实体集。

您需要查看的是身份。常规实体集由它们自己的属性标识。弱实体集通常部分地由另一个实体集标识。

在图中,DEPARTMENT,PERSON,INSURANCE_POLICY和INSURANCE_COMPANY是描述常规实体集的实体关系。这些表中的每个表都有简单的主键(Dept#,PersonID,Policy#和Co#,如果我正确解释的话,尽管未显示PK)。

其他表(STAFF,PATIENT,SUPPORT_STAFF,NURSE,DOCTOR)描述了Person的子类型。这些子类型是否为弱实体集值得商bat。 Chen的原始论文(其中描述了常规和弱实体集)不包含子类型的概念。子类型是子集,而不是单独的实体集。但是,弱实体集提供了一种在扩展的ER符号可用之前表示子类型的方法(即没有弱键的弱实体集)。在支持子类型化的EER模型中,最好使用“弱实体集”仅指代主键除其他实体集的键之外还包括弱键的实体集。此处的典型示例是订单项,通常由发票/收据编号以及行号标识。

在原始的ER模型中,我假设您有4个常规实体集,分别对应于DEPARTMENT,PERSON,INSURANCE_POLICY和INSURANCE_COMPANY的4个实体关系,以及5个弱实体集,分别对应于图中的5个子类型关系。但是,在具有不同子类型概念的EER模型中,我认为您有4个常规实体集,而没有弱实体集。