动态自我引用多对多关系

时间:2016-11-09 18:24:51

标签: mysql sql dynamic many-to-many relationship

如何构建动态自引用多对多关系?

我有一个我无法克服的问题。

我有桌子:

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种不同的产品和它们之间的不同关系。这个问题有什么好的做法?我提出的方法很少

  1. 很多手工制作的多对多关系表
  2. product_product表的很多列
  3. 在这两种情况下,我都不喜欢设计中的东西,但也许这些是正确的方法,也许我从一开始就设计了错误的数据库。

1 个答案:

答案 0 :(得分:0)

1)将是要走的路 - 不确定一旦你想要存储的所有东西都会有“很多”

product_product_consistency product_product_cost(可以将其表示为product_cost,然后根据product_product_consistency或某些此类计算?)

最终用法是什么,您想问什么样的问题数据?