画ER图时偏向性和可选性有什么区别

What is the difference of partiality and optionality when drawing ER diagrams

部分关系用单线表示,全部关系用双线表示。并且在一些ER图中可选和强制关系分别用虚线和单线表示。

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

考虑以下示例:

一个Patient或一个Laboratory可以独立于任何关系存在。有些 Patients 可能 Purchase Medicine,有些 Laboratories 可能 Produce Medicine,因此这些实体集部分参与了它们的关系。

Medicine 不能不被 Laboratory Produced 存在,因此 Medicine 完全参与 Produced 关系。 Medicine 可以存在而不是 Purchased 因此 Medicine 部分参与 Purchase 关系。

A Patient 可能 Purchase 一些 Medicine 没有 Prescription,因此 Prescription 对于 Buys 关系是可选的。相反,Purchase 不能没有 PatientMedicine,因此这些角色对于关系是强制性的。在 Produced 关系中,两个角色都是强制性的。

这里的基本区别是基数约束关系的存在,而参与约束实体的存在。当关系集中的角色是强制性的时,这意味着如果没有实体填充该角色,关系实例就无法存在。当一个实体集完全参与一个关系时,意味着一个实体不能不相关地存在。