【问题标题】:Simple Multiplicity in Relational Database ER Diagram关系数据库ER图中的简单多重性
【发布时间】:2017-06-17 20:12:05
【问题描述】:

我正在尝试为职责名册设计一个数据库,但我正在努力解决 ER 图上的多样性问题。

这是我正在努力解决的部分:

数据库中的 DutyRoster 表将充当一个巨大的链接表,将成员与事件和职责连接起来。

因此,它将包含每个工作人员的许多记录,每个事件的每个记录(每个工作人员一个)和每个职责的许多记录。这如何使用多重性来表示?每个链接是多对多的关系吗?

【问题讨论】:

  • Event 和 EventDuty 之间的联系是什么? Namingwise 我觉得 tehre 是一个缺失的职责实体。我希望 EventDuty 成为 Event 和 Duty 之间的链接,或者如果每个事件的职责差异很大,我希望 Event 和 EventDuty 之间存在简单的 1-n 关系。那肯定会让你的模型更合乎逻辑......
  • 两者没有关系。 EventDuty 只是一个可能的职责列表,例如“Leader”或“Cleaner”。每个事件的职责是相同的,但每个事件的工作人员数量可能会有所不同。这有帮助吗?
  • 好的,那么您的模型中的每个链接实际上都是指向 DutyRoster 的一对多链接。这在 EventDuty、Event 和 Staff 之间创建了多对多的关系。
  • 感谢您的帮助,您现在已经理清了我的想法。

标签: sql database-design relational-database entity-relationship


【解决方案1】:

正如您目前所建模的那样(使用 FK 的),Instance DutyRoster 只包含一个 Event、一个 Staff-member 和一个 EventDuty。

根据我对整个 ER 的理解,多重性应该如下:

DutyRoster * -------- 1 Event
DutyRoster * -------- 1 Staff
DutyRoster * -------- 1 EventDuty

【讨论】:

  • 一个实例是数据库中的一行?如果是这样,那么一个实例将确实包含一个事件、一名工作人员和一项职责。在编写 ER 时,多重性适用于一个实例还是一个实体?
  • 您基本上可以像这样阅读第一个条目:One DutyRoster 与 1 Event 相关 One Event 与 0..multiple(*) DutyRosters 相关
猜你喜欢
  • 1970-01-01
  • 2020-03-26
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
  • 2011-11-04
  • 2016-04-07
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多