关系数据库,多对多

Relationship Database, many to many

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

1) 一个用户可以是许多不同活动的组织者

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

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

4) 一个用户可以参与多个事件(前提是该事件从头到尾不与另一个事件发生冲突)

这里是DB的草图,这个多对多的关系我要搞清楚

我想你快搞定了。

现在,我建议将 Events_has_Users table 重命名为 Users_Attending_Events 因为这样会更清楚。在这个 table 上,主键也是 Users_UserId 和 Events_EventsId,它们实际上是外键。在 Workbench.

中自动完成主键和外键

这不需要 Events Organizer,因为它在 Events Table 中定义为外键(Organizer)。

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

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