实体关系图中的关系菱形有什么意义?

Mic*_*son 5 erd database-design

我正在为我正在构建的电子商务网站绘制 ER 图,并注意到一些事情:我在两个模型(或实体)之间绘制的菱形(我理解它是为了象征实体之间的关系)似乎无关紧要。

该图可以在没有菱形的情况下绘制,并且如果我只是使用-|---|0-类似的连接器连接实体(中间没有菱形),它仍然会显示我所传达的所有内容。

那么钻石有什么用呢?

Wal*_*tty 3

正如 James K 已经说过的,形成 ERD 的规则不止一套,对你的问题的答案也不止一个。但是,为了从一般角度处理您的问题,这里是。

有时钻石是无关紧要的。两个盒子之间的线描绘了关系,并且通常表达了需要表达的一切。以下是一些菱形使图表更清晰的情况。

首先,与属性的关系。一些 ERD 制图工具允许用属性来描述除实体之外的关系。例如,如果注册是学生和课程之间的关系,那么学生获得的成绩可能是该关系的一个属性。这当然不仅仅是学生或课程的属性。如果您遵循这种做法,并且如果您在方框内列出属性,则您应该在注册关系中放入一个菱形,并将成绩属性放入菱形内。

一些 ER 制图师更喜欢注册到一个实体中,而不是将其保留为一种关系。在这种情况下,钻石就变成了一个盒子。

其次,有些关系不是二元的,而是三元、四元或n元的。也就是说,不是用一根线连接两个盒子,而是用多条线连接 3 个、4 个或更多个盒子。在这种情况下,这些线都在某个地方聚集在一起。您应该在它们聚集在一起的地方放置一颗钻石。

例如,航空公司预订可能有一条线路将其连接到乘客,另一条线路将其连接到航班,第三条线路将其连接到乘客登机的机场。

同样,一些绘图者更喜欢将 n 元关系构建为实体。再说一次,这意味着用盒子代替钻石。

有一个奇特的词来形容将关系变成实体。这就是所谓的“具体化”。

话虽如此,我为自己制作的大多数 ERD 上都没有钻石。