我正在进行有关数据库设计和开发的Oracle Academy课程,他们正在讨论ERD设计部分中的禁止关系,但我无法理解它们的含义。我到处寻找,但我找不到一个很好的例子,我只是不明白。是否有人可以用一个很好的例子向我解释它是如何工作的以及它的作用?
答案 0 :(得分:2)
我认为您所指的文件是this one。
在文中解释了他们对“禁止关系”的含义。这是关于多对多表示的具体表示。
最初的M:M关系已成为两个1:M关系。
交叉点实体的UID是什么?
以下是以下部分:禁止关系
交叉点实体的唯一标识符(UID)通常来自原始关系,并由条形图表示。在这种情况下,从始发实体到交叉实体的关系称为“禁止”关系。
这是因为他们首先制作了纯粹的建模表示。要在关系模型中实现有效的实现(我想是Oracle企业数据库),需要在每个实体中都有一个唯一的标识符,并引入一个新的实体和相对关系(禁止关系)。
我不会对UML,ERD和关系模型之间的关系做任何长篇解释。实体关系模型是与关系模型不同的数据的表示。从关系的角度来看,要合成(但不是尖锐),这是一个需要针对关系实现进行改进的抽象表示。
我说几句话,我想你是法国人,并且会很容易理解:在Merise方法中,这是从概念模型(MCD)到逻辑模型(MLD)的过渡。 p>
答案 1 :(得分:0)
这是来自教师手册:
幻灯片3
在STUDENT和CLASS之间绘制M:M关系。指出每一个 学生可以参加一个或多个班级,每个班级可以由一个班级参加 或更多的学生。在ERD中我们找到学生获得的成绩 在课堂上? 如果我们在学生中添加成绩属性,我们如何知道它适用于哪个课程?如果 我们把它放在CLASS中,我们怎么知道哪个学生得到了成绩?
成绩是学生之间多对多关系的一个属性 和CLASS,不是任何一个实体。
幻灯片4-5
如果我们将status属性放在EVENT中,我们如何知道哪个PARTNER 参加活动?如果状态是“被叫客户确认会议”,那么是谁 与客户会面 - 活动经理,DJ? 如果我们将status属性放在PARTNER中,我们如何知道哪个EVENT 状态是指?
状态是PARTNER和EVENT之间关系的属性,而不是 无论是单独的实体。
从这些注释中,我们可以看出交叉点实体是一个仅由于两个其他实体之间的关系而存在的实体。交集实体的属性是它位于两个实体之间的关系的属性。这些属性同时适用于两个实体 - 不仅仅是一个或另一个。
现在,仅当建模者决定使用两个原始实体的两个唯一标识符的组合作为时,交叉点实体才存在禁止关系交叉点实体的UID。如果为交叉点实体创建了一些人工UID,则不使用条形码。