2

我可能没有想清楚,但我在工作中被要求直观地表示现有数据库的关系。我习惯于关联多对多关系,例如“ Person - PersonProfession - Profession ”(PersonProfession 是关联的)。

现在我遇到了“ Person - PersonAssociation - Person ” 之类的关系。仍然是多对多的,但每个人都与一个或多个……(同一实体)相关联。

恢复,我只有 2 个表(PersonPersonAssociation)。PersonAssociation 仅包含字段 [personA] 和 [personB]

如果我在它们之间画一条一对多的线,我只会说每个人都有多个关联,而不是说“它们与什么相关联”。

这种方法对我来说看起来不错,到目前为止效果很好,但我不知道如何表示它。有类似经验的人对如何表示这种情况有想法吗?

提前致谢, 劳尔·卡多索

4

2 回答 2

1

这是 ERD 上的样子。对于多对多,还有另一种选择——取决于您是否要明确显示关系实体。我会在以下任何一种情况下展示这样的实体:如果我的目的更多地基于实现,我会展示它(但如果我的意图更“合乎逻辑”/概念性,则不会。此外,如果关系本身具有某些属性,我会显示它(例如,“友谊实体可能会显示友谊何时开始等内容)

样品 ERD

谷歌搜索,我从 ERDs 的课程中​​找到了这个 PDF。你可能会发现它有帮助

于 2013-03-11T17:45:37.457 回答
0

来表示它......如何?你的意思是在某种图表中?像实体关系图?

如果这就是您的意思,那么表示这一点的传统方式是:

(a) 从实体到自身画一条线;

(b) 画一条从实体回到它自己的线,并在线上贴上一个标签,表明关系的性质,比如“报告给”或“是表亲”或其他什么。

(c) 画一个菱形来表示关系,然后画一条从实体到关系菱形的线,再从关系菱形画一条线回到实体。在钻石内贴上适当的标签。

顺便说一句:这被称为“递归关系”,并不少见。

于 2013-03-11T17:34:42.503 回答