Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 与同一实体记录的数据库关联关系_Mysql_Database_Database Design_Relational Database - Fatal编程技术网

Mysql 与同一实体记录的数据库关联关系

Mysql 与同一实体记录的数据库关联关系,mysql,database,database-design,relational-database,Mysql,Database,Database Design,Relational Database,我可能思维不清楚,但在工作中我被要求可视化地表示现有数据库的关系。我习惯于联想多对多关系,如“人-人-职业-职业”(作为人-职业的联想者) 现在我遇到了一种类似于“人-人-人”的关系。仍然是多对多,但每个人都与一个或多个个人(同一实体) 恢复时,我只得到了两张表(Person和PersonAssociation)。PersonalAssociation仅包含字段[personA]和[personB] 如果我在他们之间画一条一对多的线,我只会说每个人都有多个关联,而不会说“他们与什么有关联” 这种

我可能思维不清楚,但在工作中我被要求可视化地表示现有数据库的关系。我习惯于联想多对多关系,如“人-人-职业-职业”(作为人-职业的联想者)

现在我遇到了一种类似于“人-人-人”的关系。仍然是多对多,但每个人都与一个或多个个人(同一实体)

恢复时,我只得到了两张表(PersonPersonAssociation)。PersonalAssociation仅包含字段[personA]和[personB]

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

这种方法在我看来还可以,到目前为止效果不错,但我不知道如何表示它。有类似经验的人对如何表现这种情况有想法吗

提前感谢,,
劳尔·卡多佐代表它。。。怎样?你是说在某种图表中?像实体关系图

如果这是你的意思,表示这一点的传统方式是:

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

(b) 从实体到实体本身画一条线,并在这条线上贴上一个标签,表示关系的性质,比如“报告对象”或“是其表亲”之类的

(c) 绘制一个菱形以表示关系,然后从实体到关系菱形绘制一条线,再从关系菱形到实体绘制另一条线。在钻石内贴上合适的标签


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

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


谷歌搜索,我发现了。你可能会发现这很有帮助

谢谢Darius,这张照片让我立即看到了它,特别是“友谊实体”的多对多。我认为这比PDF解释的还要好。谢谢我怀疑火与人之间的关系。你是对的,鱼尾纹指向了错误的方向谢谢。(a)我想在这种情况下,这个选项很难理解。赞成(b)和(c)以及关于它存在很长时间的信息为“递归关系”!