Java mysql中的链接数据

Java mysql中的链接数据,java,mysql,rdbms,database,Java,Mysql,Rdbms,Database,我正在开发一个POS系统到一个备件库,该库在其数据库中维护许多项目。我的数据库中有一个item表。在此业务场景中,可能存在特定部分的替代部分。如果我们考虑A和B部分,我想把B作为A.的替代,我有一个名为TBLY-PARTY的表,记录如下数据。 A的id=1,B的id=2 主键是可选的\u id 它将B作为A的替代品,将A作为B的替代品。系统用户希望链接任何部分作为另一部分的替代品,并查看关系。如果有更多的部分作为B的替代链接,那么当B链接到A时,它们都应该链接到A。我的问题是我如何在MySQL

我正在开发一个POS系统到一个备件库,该库在其数据库中维护许多项目。我的数据库中有一个item表。在此业务场景中,可能存在特定部分的替代部分。如果我们考虑A和B部分,我想把B作为A.的替代,我有一个名为TBLY-PARTY的表,记录如下数据。 A的id=1,B的id=2 主键是可选的\u id


它将B作为A的替代品,将A作为B的替代品。系统用户希望链接任何部分作为另一部分的替代品,并查看关系。如果有更多的部分作为B的替代链接,那么当B链接到A时,它们都应该链接到A。我的问题是我如何在MySQL中处理这种情况。实际上我现在很困惑。如果有人能给我一个好的解决办法来救我的命,我会很钦佩的。

我会用三张表将零件组织成“组”,如下所示

Parts:
----------------
|id|description|
|1 |  .......  |
|2 |  .......  |
|3 |  .......  |
|4 |  .......  |
----------------

Groups:
----------------
|id|description|
|1 |    ....   |
|2 |   ....    |
----------------

PartGroup:
------------------
|part_id|group_id|
|1      |1       |
|2      |1       |
|3      |1       |
|1      |2       |
|4      |2       |
------------------
这种设置将处理两个以上的部件可交换的情况,并将处理一个部件作为多个组的成员的情况


例如,在我的示例中,第1部分、第2部分和第3部分是可交换的,第1部分和第4部分是可交换的,但第2部分和第4部分是不可交换的。

事实上,不同的部分是相互替代的,这意味着它们都可以实现特定的功能/用途/角色,例如“温度传感器”。您应该创建一个列出这些函数的表,然后将零件表链接到此表。这很可能是一个一对多的链接,其中一个函数可以由几个部分实现,在这种情况下,部分表将有一个函数表的外键。如果一个零件可以实现多个功能,那么关系应该是多对多的,在这种情况下,您将需要一个耦合表。此表只有两列:函数id和零件id。

我甚至看不到任何问号。好的,伙计们。非常感谢。我认为最好的解决方案是为所有零件保留一个类别表,并为相关类别分组零件。再次感谢Rudi Angela和Drew Galbraith.)