【发布时间】:2017-03-23 15:43:24
【问题描述】:
如何构建动态自引用多对多关系?
我有一个我无法克服的问题。
我有桌子:
Types:
id
name
Products:
id
name
type_id
product_products
parent_id
child_id
假设我们在 Product 表中有几个产品。其中一些是:
(名称不相关)
CB1234 - products.type_id -> cardboard
CBB999 - products.type_id -> cardboardbox
CBP321 - products.type_id -> paper
TSH123 - products.type_id -> tshirt
FAB321 - products.type_id -> fabric
THR321 - products.type_id -> thread
现在我想告诉 product_product 关系,我有由纸板和纸类产品制成的纸板箱。在纸板箱-纸板和纸板箱-纸的关系中,我想定义使用多少百分比的产品(一致性)来制作纸板箱产品(比如说 80/20,不相关)
我对不同的产品有不同的案例。现在我想定义 tshirt-fabric 和 tshirt-thread 之间的关系,但我想定义该产品的面料和线成本,而不是一致性。
产品和产品参数计数不固定。可能有 500 种不同的产品以及它们之间的不同关系。有什么好的做法可以解决这个问题?我想出的方法很少
- 大量手工制作的多对多关系表
- product_product 表中有很多列
在这两种情况下,设计中都有我不喜欢的东西,但也许这些是正确的方法,也许我从一开始就错误地设计了我的数据库。
【问题讨论】:
标签: mysql sql dynamic many-to-many relationship