第一次在这里张贴,因为我被告知如果我被困在这个社区寻求帮助!!
本学期我最近被介绍到数据库,我很难掌握桥接实体,这意味着要消除多对多的关系。
经典的例子是STUDENT和CLASS之间的关系; 学生可以在许多课程中,而CLASS可以有很多学生。 通过引入ENROLL实体来修复M-M关系。在这里我们会读到:一个学生可以注册许多课程,一个课程可能有许多学生注册,但每个学生只能在课堂上注册一次。
就我而言,我尝试通过引入INGREDIENT实体来解决制药公司的PRODUCT和RAW MATERIAL之间的M-M关系问题,如下所示:
RAW MATERIAL 1 ---- M成分M ---- 1产品
我不确定这座桥是否能解决,因为我无法像上面的STUDENT-CLASS例子那样解释它。
你怎么解释这个?
答案 0 :(得分:0)
" bridge"的概念或" associative"实体来自网络数据建模,是处理多对多二进制以及三元和更高关系的一种方式。网络数据建模是一种简单的物理数据模型,它基于将实体表示为记录和关系作为引用/指针。
自20世纪70年代以来,开发了数据关系模型,该模型使用关系(表)来记录值集(表示业务实体,度量和标签)之间的关系,允许直接表示多对多关系,三元和更高的关系。
实体 - 关系模型试图通过区分实体关系和关系关系,在关系模型之上提供更多的概念结构。
我对历史的观点是,在现代数据建模中,我们不再解析或删除多对多(或三元或更高)关系(除非您使用基于对象关系的映射器或框架)网络数据模型)。具有复合键的表(由两个或多个实体键组成)直接表示关系,并允许我们处理关系上的属性,这是网络数据建模中缺少的另一个特性。
在您的情况下,在Quantity
关系中添加Ingredient
属性可能很有用。这里的解释是Raw material
指的是一种材料而不是特定的一块或原材料的选择。学生有身份,原材料一般都没有。
请注意,制药公司可能会跟踪特定批次的原材料。