多个多对多关系(循环关系)

Posted

技术标签:

【中文标题】多个多对多关系(循环关系)【英文标题】:Multiple Many-to-Many Relationships (Circular Relationship) 【发布时间】:2015-07-28 21:47:55 【问题描述】:

好的,我是编程新手,主要是通过阅读网站自学的......但我正在寻找一个我在任何地方都没有找到完全解释的答案。

我在数据库中有三个表: - 部分 - 工具 - 机器

我已经阅读了许多连接这三个表的两个联结表的实例,但这可以是循环的,并且我有三个联结表连接三个信息表吗?

这些都是多对多关系......例如:

A 部分和 B 部分均由工具 1 制成 A 部分也由工具 2 制成 工具 1 可以安装在机器 X 和 Y 和 Z 中 A 部分只能进入机器 X 和 Z B部分只能进入机器X和Y

连接表的这种“循环”引用是否有效?

我想我需要一个: 零件到工具 JCT 工具对机器 JCT 机器到零件 JCT

这是一个很好的圆形关系链接...我想我在任何地方都没有找到任何在线显示此的示例。

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

您需要设置如下表:

tblPart - A 和 B 部分的记录

tblTool - 工具 1 和 2 的记录

tblMachine - 机器 X、Y 和 Z 的记录

tblToolPart(字段:ToolId,PartId) - 记录 1,A; 1、乙; 2、A.

tblPartMachine(字段:PartId、MachineId)- 记录 A、X;一个,Z;乙,X; B,Y。

tblMachineTool(字段:MachineId、PartId)- 记录 X、1; Y, 1; Z,1。

不知道这是否足够清楚,可以理解这个想法,但是通过这 6 个表,您可以开始构建查询以导入您感兴趣的任何关系。

【讨论】:

以上是关于多个多对多关系(循环关系)的主要内容,如果未能解决你的问题,请参考以下文章

定义多对多关系的代码第一种方法导致关于“循环或多个级联路径”的mssql错误

实体框架多对多关系错误

具有额外多对多关系的 JPA 多对多

保存循环删除多对多CoreData关系的一端

实体框架中的多对多关系导致无限循环

查询是不是存在多个多对多关系