多对多插入php和数据库架构

时间:2014-03-06 14:56:17

标签: php mysql database

我正在为一个项目做一个数据库而且我陷入了困境。

由于每个产品都有多个使用领域,但即使每种材料都有多个使用领域,我也会提出这个解决方案。

这是我的数据库架构。

http://i57.tinypic.com/2mhc03o.jpg

产品是每种材料的特定产品,例如2材料不能有相同的产品

材料是皮革,比利皮革,布料,PVC

使用领域是可以使用该材料的领域:运动,休闲,工作

问题是材料可以在很多领域使用,很多领域可以用于材料,所以它是N:M

每种产品都可以在很多领域使用,很多领域都可以用于产品,所以它太过N:M

例如,皮革可用于工作,运动,工作运动中的布料和办公室

产品可用于部分或全部应用领域,反之亦然。

1)对于我的架构,要检索可以在特定使用领域中使用的材料,我需要在所有表之间进行4 JOIN。好吗?还是太长了?

2)此外,当用户想要添加新类别时,要插入该类别可以使用的哪个字段,我需要已经为该类别提供产品。

3)当我想要填充多对多的关系时,我需要在结合表(field_of_use_product)中手动执行一些PHP代码吗?

1 个答案:

答案 0 :(得分:1)

  1. 对于涉及的四个表,您需要三个连接。

  2. 不可以,在插入外国牌桌的所有数据后,产品可能会被插入。

  3. 是的,如果您知道外键,这是一个简单的插入。