实体关系图

时间:2010-04-19 08:57:41

标签: entity-relationship data-modeling er-diagrams

我想提高我对ER图中基数约束的理解。

我有两个实体:

  1. User
  2. Location
  3. 但是,我希望这两个实体之间的关系是多对多的(用户可以在很多位置,一个位置可以有很多用户)。

    为此,我需要引入一个关联类UserLocation

    说我现在有3个实体是否正确?

    如果我要绘制上述的ER诊断,我会在UserLocation实体中绘制,基数是否会像这样?

    User 1 ------ * User Location *  ------ 1 Location
    

2 个答案:

答案 0 :(得分:1)

您不需要第三个实体。

在实体世界中,建模如下:

  • 实体用户有一个地点列表。
  • 实体位置有一个用户列表。

在Relational世界中,建模如下:

  • 表USER,主键为USER_ID
  • 表LOCATION,主键为LOCATION_ID
  • 一个表USER_LOCATION,带有两个外键,每个表都有一个。

我相信在关系图中,“中介”是不可见的。所以,我认为你需要这样的东西:

  

用户* ------- *位置

答案 1 :(得分:1)

这完全取决于您正在进行的权利映射的类型和级别。

你可以表达这种关系

实体1<>实体2

比如使用'Crows Feet'来代表许多关系。

在规范化地图时,您将分解与中间表的多对多关系,这通常包含两个表的主键

实体1>实体3<实体2

其中实体3(您的中间表)将为两个表保留PK,并且偶尔保存任何其他数据,例如唯一ID等。