如何在ERD上确定强弱关系?

How to identify a strong vs weak relationship on ERD?

虚线表示关系很牢固,而实线表示关系很弱。 在下图中,我们如何确定RoomClass实体之间的关系牢固。 是否因为Room实体具有常规键(非复合键)? enter image description here


  • 弱(非识别)关系

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

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

  • 牢固的(确定的)关系

    • 子实体依赖父实体存在

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

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


  • 当且仅当我们具有依赖于ID的关系时,我们才画一条实线。否则将是一条虚线。

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


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


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

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