关系数据库,多对多

时间:2016-11-04 10:20:14

标签: mysql database mysql-workbench entity-relationship

如何在关系数据库(例如MySQL)中以图表形式表示以下情况:

1)单个用户可以成为许多不同活动的组织者

2)一个活动只能有一个组织者

3)并且活动可以有很多参与者(都在用户表之间)

4)用户可以参加许多活动(仅当活动不会从头到尾碰撞到另一个活动时)

这是DB的草图,我必须理解这种多对多的关系。enter image description here

1 个答案:

答案 0 :(得分:0)

我想你几乎拥有它。

现在,我建议将Events_has_Users表重命名为Users_Attending_Events,因为这样会更清楚。在此表中,主键也是Users_UserId和Events_EventsId,它们实际上是外键。作为主键和外键在Workbench中自动完成。

这不需要事件管理器,因为它在事件表中被定义为外键(管理器)。

这是一个更清晰的演绎。只需填写其他字段:

enter image description here

在表事件中,users_id是组织者(外键)。