画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
不能没有 Patient
和 Medicine
,因此这些角色对于关系是强制性的。在 Produced
关系中,两个角色都是强制性的。
这里的基本区别是基数约束关系的存在,而参与约束实体的存在。当关系集中的角色是强制性的时,这意味着如果没有实体填充该角色,关系实例就无法存在。当一个实体集完全参与一个关系时,意味着一个实体不能不相关地存在。
部分关系用单线表示,全部关系用双线表示。并且在一些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
不能没有 Patient
和 Medicine
,因此这些角色对于关系是强制性的。在 Produced
关系中,两个角色都是强制性的。
这里的基本区别是基数约束关系的存在,而参与约束实体的存在。当关系集中的角色是强制性的时,这意味着如果没有实体填充该角色,关系实例就无法存在。当一个实体集完全参与一个关系时,意味着一个实体不能不相关地存在。