【发布时间】:2017-03-18 03:22:26
【问题描述】:
如何在关系数据库(例如 MySQL)中以图表的形式表示以下情况:
1) 一个用户可以成为许多不同活动的组织者
2) 一个活动只能有一个组织者
3)和事件可以有很多参与者(都在用户表之间)
4) 一个用户可以参与多个事件(仅当事件从头到尾不与另一个事件发生冲突时)
【问题讨论】:
-
我想你差不多了。我建议将 Events_has_Users 表重命名为 Users_Attending_Events。在此表上,主键也是 Users_UserId 和 Events_EventsId。这不需要那里的事件管理器,因为它在事件表中定义为外键(组织器)。表 Events_has_Users 放置在那里以解决用户和事件之间的多对多关系。许多用户参加了许多活动。我认为它是在 mysql-workbench 中自动呈现的(即解决这种多对多关系与之间的表。
-
好的,谢谢,但仍然有一些错误,表事件不应该将组织者作为主键,我如何考虑用户可以参加许多活动和一个活动可以由许多用户参加的事实?因为 Events 表没有唯一的主键?
-
啊,好吧,也许我知道Events_eventID 和Users_userID 都是Events_has_User 表的主键,对吧?
标签: mysql database mysql-workbench entity-relationship