假设我们有 2 个 ERD 实体与 1 个关系相连。Visual Paradigm 允许同时将这种关系标记为“子类型”和“标识”。而且我只是无法想象这种组合可能有意义的任何情况。
这真的合法吗?如果是的话,我会欣赏一些示例和将其转换为关系模型的过程(与仅“子类型”或仅“识别”案例相比有哪些变化?)。
假设我们有 2 个 ERD 实体与 1 个关系相连。Visual Paradigm 允许同时将这种关系标记为“子类型”和“标识”。而且我只是无法想象这种组合可能有意义的任何情况。
这真的合法吗?如果是的话,我会欣赏一些示例和将其转换为关系模型的过程(与仅“子类型”或仅“识别”案例相比有哪些变化?)。
Visual Paradigm 所称的 ERD 实际上是一个表格图。不使用形状表示关系的图表不支持关系上的属性和关系,也不支持三元和更高阶的关系。如果图表符号不支持实体-关系模型的所有概念,我们就不能将其图称为实体-关系图。
从 ER 的角度来看,所有子类型关系都是标识关系,因为父实体集的身份是子实体集身份的组成部分。但是,所有标识关系都不是子类型关系。子类型和弱实体集的区别在于后者使用额外的弱关键组件来区分父对象的多个子对象。子类型仅取决于身份的超类型,因此超类型的每个实例只能具有每个子类型的实例。
例如,实体集 Person(由 person_id 标识)可能有一个子类型 Employee(也由 person_id 标识)。将此与发票(由 invoice_id 标识)和 LineItem(由 invoice_id 和 line_number 标识)进行比较。
ERD(概念模型)转换为下表(物理模型):