如何读取 ERD 中的桥接实体?
How do I read bridge entities in ERDs?
第一次在这里发帖,因为有人告诉我,如果我遇到困难,请向这个社区寻求帮助!!
我最近在这学期接触了数据库,我很难掌握旨在消除多对多关系的桥梁实体。
最典型的例子就是STUDENT和CLASS之间的关系;
其中 STUDENT 可以在很多 CLASSES 中,而 CLASS 可以有很多 STUDENTS。
通过引入 ENROLL 实体来固定 M-M 关系。在这里我们会读到:一个学生可以在许多 CLASSES 中注册,而一个 CLASS 中可能有许多学生在其中注册,但是每个学生只能在 CLASS 中注册一次。
就我而言,我试图通过引入一个 INGREDIENT 实体来为一家制药公司解决 PRODUCT 和 RAW MATERIAL 之间的 M-M 关系问题,如下所示:
原始 MATERIAL 1----M 成分 M----1 产品
我不确定桥接是否可行,因为我无法像上面的 STUDENT-CLASS 示例那样解释它。
您如何解读?
"bridge" 或 "associative" 实体的概念来自网络数据建模,是一种处理多对多二进制以及三元和更高关系的方法。网络数据建模是一种简单的物理数据模型,基于将实体表示为记录,将关系表示为 references/pointers.
自 1970 年代以来,开发了数据的关系模型,它使用关系(表格)来记录值集(代表业务实体、度量和标签)之间的关系,允许直接表示多对-许多关系和三元及更高的关系。
实体-关系模型试图通过区分实体关系和关系关系,在关系模型之上提供更多的概念结构。
我对历史的看法是,在现代数据建模中,我们不再解析或删除多对多(或三元或更高)关系(除非您使用的是基于对象关系映射器或框架网络数据模型)。具有复合键的表,由两个或多个实体键组成,直接表示关系,并允许我们处理关系上的属性,这是网络数据建模中缺少的另一个功能。
对于您的情况,在您的 Ingredient
关系中添加 Quantity
属性可能会有用。这里的解释是 Raw material
指的是 material 的一种类型,而不是原始 material 的特定片段或选择。学生有身份,raw material一般没有。
请注意,制药公司可能会跟踪特定批次的 materials。
第一次在这里发帖,因为有人告诉我,如果我遇到困难,请向这个社区寻求帮助!!
我最近在这学期接触了数据库,我很难掌握旨在消除多对多关系的桥梁实体。
最典型的例子就是STUDENT和CLASS之间的关系; 其中 STUDENT 可以在很多 CLASSES 中,而 CLASS 可以有很多 STUDENTS。 通过引入 ENROLL 实体来固定 M-M 关系。在这里我们会读到:一个学生可以在许多 CLASSES 中注册,而一个 CLASS 中可能有许多学生在其中注册,但是每个学生只能在 CLASS 中注册一次。
就我而言,我试图通过引入一个 INGREDIENT 实体来为一家制药公司解决 PRODUCT 和 RAW MATERIAL 之间的 M-M 关系问题,如下所示:
原始 MATERIAL 1----M 成分 M----1 产品
我不确定桥接是否可行,因为我无法像上面的 STUDENT-CLASS 示例那样解释它。
您如何解读?
"bridge" 或 "associative" 实体的概念来自网络数据建模,是一种处理多对多二进制以及三元和更高关系的方法。网络数据建模是一种简单的物理数据模型,基于将实体表示为记录,将关系表示为 references/pointers.
自 1970 年代以来,开发了数据的关系模型,它使用关系(表格)来记录值集(代表业务实体、度量和标签)之间的关系,允许直接表示多对-许多关系和三元及更高的关系。
实体-关系模型试图通过区分实体关系和关系关系,在关系模型之上提供更多的概念结构。
我对历史的看法是,在现代数据建模中,我们不再解析或删除多对多(或三元或更高)关系(除非您使用的是基于对象关系映射器或框架网络数据模型)。具有复合键的表,由两个或多个实体键组成,直接表示关系,并允许我们处理关系上的属性,这是网络数据建模中缺少的另一个功能。
对于您的情况,在您的 Ingredient
关系中添加 Quantity
属性可能会有用。这里的解释是 Raw material
指的是 material 的一种类型,而不是原始 material 的特定片段或选择。学生有身份,raw material一般没有。
请注意,制药公司可能会跟踪特定批次的 materials。