我想提高我对 ER 图中基数约束的理解。
我有两个实体:
User
Location
但是,我希望这两个实体之间的关系是多对多的(一个用户可以在很多位置,一个位置可以有很多用户)。
为此,我需要引入一个关联类UserLocation
。
说我现在有 3 个实体是否正确?
如果我要绘制上述的 ER 图,我会在UserLocation
实体中绘制吗?基数会像这样吗?
User 1 ------ * User Location * ------ 1 Location
我想提高我对 ER 图中基数约束的理解。
我有两个实体:
User
Location
但是,我希望这两个实体之间的关系是多对多的(一个用户可以在很多位置,一个位置可以有很多用户)。
为此,我需要引入一个关联类UserLocation
。
说我现在有 3 个实体是否正确?
如果我要绘制上述的 ER 图,我会在UserLocation
实体中绘制吗?基数会像这样吗?
User 1 ------ * User Location * ------ 1 Location
您不需要第三方实体。
在实体世界中,这是这样建模的:
在关系世界中,这是这样建模的:
我相信在关系图中,“中介”是不可见的。所以,我认为你需要这样的东西:
用户 * ------- * 位置
这完全取决于您正在执行的实体映射的类型和级别。
您可以按原样表达关系
实体 1 <> 实体 2
比如用'Crows Feet'来代表很多关系。
规范化映射时,您将分解与中间表的多对多关系,这通常包含许多表的主键
实体 1 > 实体 3 < 实体 2
实体 3(您的中间表)将保存两个表的 PK,偶尔也会保存任何其他数据,例如唯一 ID 等。