如何在E-R图中表示一侧完全参与的一对多关系

问题描述 投票:0回答:1

假设有一个代表人的实体集和一个代表书籍的实体集,并且它们存在关于创作的关系。假设每个人必须至少撰写一本书(全部参与),并且每本书必须最多由一个人撰写。如何用 E-R 模型来描述这种关系?假设

Person
实体集在左边,
Book
在右边,
Authored
关系集在中间。

在我看来,如果在 Person 一侧使用双线,则不能在 Person 一侧使用箭头来表示“一”基数限制(对于任何给定的书,至多一个人作者该书)。

以下内容与我认为的关系很接近,但似乎还不够:

Person ============ Authored ----------- Book

但不限制书籍最多有一位作者。另外,还有以下替代方案:

Person <----------- Authored ----------- Book

并不表示人们完全参与

Person

entity-relationship modeling erd cardinality
1个回答
0
投票

这个问题的答案取决于您使用的 ERD 表示法。

根据你的叙述:

  • Person
    Authored
    关系的参与是完全的。
  • 书籍对作者关系的参与是部分的。 (这种模式允许未知作者,但同时禁止集体书籍,这是现实)

答案取决于符号。在经典的 Chen ERD 表示法中,你的第一种方法是正确的(作者将被包含在菱形中)。您只需指明最大基数:

+--------+      1                     N    +------+
| Person |============ Authored -----------| Book |
+--------+                                 +------+

在我看来,这很令人困惑,因为参与(最小基数)位于最大基数的对面。请注意,Peter Chen 在他的原始文章中没有使用全部/部分符号。

鱼尾纹记号中,您可以使用

                       Authored
Person -|o--------------------------------|< Book

如果您使用其他表示法,您需要澄清是哪一个或询问教过您该表示法的人。

© www.soinside.com 2019 - 2024. All rights reserved.