部分关系用单行显示总关系用双线表示。在一些ER图中,可选和强制关系分别由虚线和单线显示。
这些概念之间定义的确切区别是什么?如果可能,请使用示例。
答案 0 :(得分:2)
考虑以下示例:
Patient
或Laboratory
可能与任何关系无关。有些Patients
可能Purchase
Medicine
,有些Laboratories
可能Produce
Medicine
,因此这些实体集部分参与其关系。
Medicine
没有成为Produced
, Laboratory
就不能存在,因此Medicine
完全参与Produced
关系。 Medicine
可以存在Purchased
,Medicine
因此Purchase
部分参与Patient
关系。
Purchase
Medicine
可能Prescription
Prescription
Buys
Purchase
,Patient
Medicine
是Produced
关系的可选项。相反,如果没有List<Info> info1 = new List<Info>();
和info1
,则List<Info>
不能存在,因此这些角色对于关系是必需的。在string
关系中,两个角色都是强制性的。
这里的基本区别是基数限制了关系的存在,而参与则限制了实体的存在。当关系集中的角色是必需的时,这意味着如果没有实体填充该角色,则关系实例不能存在。当一个实体集完全参与一个关系时,就意味着一个实体在没有相关的情况下就不能存在。