假设有一个代表人的实体集和一个代表书籍的实体集,并且它们存在关于创作的关系。假设每个人必须至少撰写一本书(全部参与),并且每本书必须最多由一个人撰写。如何用 E-R 模型来描述这种关系?假设
Person
实体集在左边,Book
在右边,Authored
关系集在中间。
在我看来,如果在 Person 一侧使用双线,则不能在 Person 一侧使用箭头来表示“一”基数限制(对于任何给定的书,至多一个人作者该书)。
以下内容与我认为的关系很接近,但似乎还不够:
Person ============ Authored ----------- Book
但不限制书籍最多有一位作者。另外,还有以下替代方案:
Person <----------- Authored ----------- Book
并不表示人们完全参与
Person
。
这个问题的答案取决于您使用的 ERD 表示法。
根据你的叙述:
Person
对Authored
关系的参与是完全的。答案取决于符号。在经典的 Chen ERD 表示法中,你的第一种方法是正确的(作者将被包含在菱形中)。您只需指明最大基数:
+--------+ 1 N +------+
| Person |============ Authored -----------| Book |
+--------+ +------+
在我看来,这很令人困惑,因为参与(最小基数)位于最大基数的对面。请注意,Peter Chen 在他的原始文章中没有使用全部/部分符号。
在鱼尾纹记号中,您可以使用
Authored
Person -|o--------------------------------|< Book
如果您使用其他表示法,您需要澄清是哪一个或询问教过您该表示法的人。