【问题标题】:How to identify a strong vs weak relationship on ERD?如何识别 ERD 上的强弱关系?
【发布时间】:2013-05-16 12:32:36
【问题描述】:

虚线表示关系强,实线表示关系弱。在下图中,我们如何确定RoomClass 实体之间的关系很强。是因为Room 实体有一个常规键(非复合键)吗?

【问题讨论】:

    标签: entity-relationship erd


    【解决方案1】:
    1. 弱(非识别)关系

      • 实体独立于其他实体存在

      • Child 的 PK 不包含 Parent Entity 的 PK 组件

    2. 强(识别)关系

      • 子实体依赖于父实体的存在

      • 子实体的 PK 包含父实体的 PK 组件

      • 通常使用复合键作为主键,这意味着该复合键组件之一必须是父实体的主键。

    【讨论】:

    • 如果子实体存在依赖于父实体但子实体的 PK 不包含父实体的 PK 组件怎么办。例如:订单和收据 - 收据依赖于订单,但收据不包含父实体的 PK 组件。是强关系还是弱关系?
    【解决方案2】:

    我们画一条实线当且仅当我们有一个ID依赖关系;否则它将是一条虚线

    考虑一个弱但不依赖于 ID 的关系;我们画了一条虚线,因为它是一个弱关系。

    【讨论】:

      【解决方案3】:

      RoomClass 的关系被认为是(不可识别),因为实体 Class 的主键组件 CIDDATE 不包含主键实体 Room 的键 RID(在这种情况下,Room 实体的主键是单个组件,但即使是复合键,它的一个组件也满足条件)。

      但是,例如,在关系 ClassClass_Ins 的情况下,我们看到这是一个(识别)关系,因为主键组件 EmpIDCIDClass_InsDATE 包含主键Class 的一个组件(在这种情况下,它包含CIDDATE 两个组件)。

      【讨论】:

        【解决方案4】:

        在ER图中,我相信当关系很强时,即父实体的primary_key在子实体中形成复合或非复合primary_key,我们使用实线来描述。同样,对于关系较弱的情况,即父实体的primary_key在子实体中没有作为primary_key,我们用虚线表示。

        【讨论】:

          【解决方案5】:

          在实体关系建模中,实线代表强关系,虚线代表弱关系。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-12-24
            • 2016-04-23
            • 2011-07-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多