如何构造动态自引用多对多关系?
我有一个我无法克服的问题。
我有表:
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 关系,我有 cardboardbox,它由纸板和纸张类型的产品制成。在 cardboardbox-cardboard 和 cardboardbox-paper 关系中,我想定义产品用于制造 cardboardbox 产品的百分比(一致性)(比如说 80/20,不相关)
我对不同的产品有不同的案例。现在我想定义 T 恤 Fabric 和 T 恤线之间的关系,但我想定义该产品的 Fabric 和线成本而不是一致性。
产品和产品参数数量不固定。可能有 500 种不同的产品以及它们之间的不同关系。这个问题有什么好的做法?我想到了几种方法
- 大量手工制作的多对多关系表
- product_product 表的很多列
在这两种情况下,在设计中都有一些我不喜欢的东西,但也许这些是正确的方法,也许我从一开始就设计了错误的数据库。
最佳答案
1) 将是要走的路——一旦你计算出你想要存储的所有东西,不确定是否真的有“很多”
产品_产品_一致性 product_product_cost(这是否可以表示为 product_cost,然后根据 product_product_consistency 或类似的东西计算?)
最终的用法是什么,你想问数据什么样的问题?
关于mysql - 动态自引用多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513607/