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