绘制ER图时,偏好和可选性的区别是什么

时间:2016-07-04 06:57:04

标签: entity entity-relationship erd

部分关系用单行显示总关系用双线表示。在一些ER图中,可选和强制关系分别由虚线和单线显示。

这些概念之间定义的确切区别是什么?如果可能,请使用示例。

1 个答案:

答案 0 :(得分:2)

考虑以下示例:

ERD example

PatientLaboratory可能与任何关系无关。有些Patients可能Purchase Medicine,有些Laboratories可能Produce Medicine,因此这些实体集部分参与其关系。

如果Medicine没有成为Produced

Laboratory就不能存在,因此Medicine完全参与Produced关系。 Medicine可以存在PurchasedMedicine因此Purchase部分参与Patient关系。

Purchase Medicine可能Prescription Prescription Buys PurchasePatient MedicineProduced关系的可选项。相反,如果没有List<Info> info1 = new List<Info>(); info1,则List<Info>不能存在,因此这些角色对于关系是必需的。在string关系中,两个角色都是强制性的。

这里的基本区别是基数限制了关系的存在,而参与则限制了实体的存在。当关系集中的角色是必需的时,这意味着如果没有实体填充该角色,则关系实例不能存在。当一个实体集完全参与一个关系时,就意味着一个实体在没有相关的情况下就不能存在。