我正在为一个项目做一个数据库而且我陷入了困境。
由于每个产品都有多个使用领域,但即使每种材料都有多个使用领域,我也会提出这个解决方案。
这是我的数据库架构。
http://i57.tinypic.com/2mhc03o.jpg
产品是每种材料的特定产品,例如2材料不能有相同的产品
材料是皮革,比利皮革,布料,PVC
使用领域是可以使用该材料的领域:运动,休闲,工作
问题是材料可以在很多领域使用,很多领域可以用于材料,所以它是N:M
每种产品都可以在很多领域使用,很多领域都可以用于产品,所以它太过N:M
例如,皮革可用于工作,运动,工作运动中的布料和办公室
产品可用于部分或全部应用领域,反之亦然。
1)对于我的架构,要检索可以在特定使用领域中使用的材料,我需要在所有表之间进行4 JOIN。好吗?还是太长了?
2)此外,当用户想要添加新类别时,要插入该类别可以使用的哪个字段,我需要已经为该类别提供产品。
3)当我想要填充多对多的关系时,我需要在结合表(field_of_use_product)中手动执行一些PHP代码吗?
答案 0 :(得分:1)
对于涉及的四个表,您需要三个连接。
不可以,在插入外国牌桌的所有数据后,产品可能会被插入。
是的,如果您知道外键,这是一个简单的插入。