我正在建立一个网站,我有一点点的知识的PHP和SQL。 当涉及数据库中的多对多关系时,我遇到了很多问题。后面的逻辑插入到许多数据库和取消
我对每种材料都有特定的产品,例如不可能有相同的产品2的材料
材料皮革,使用simil-皮革,布,PVC
字段是可以使用的该材料的领域:体育,休闲,工作
的问题是,材料,在许多领域中使用和场具有相关联的许多材料,所以它的N:M
产品可以在许多领域中使用和场可用于许多产品,因此太N:M
例如,皮革可用于工作,运动,工作中的运动和办公用品
产品可用于部分或全部应用领域,反之亦然。
为了达到这个更好的架构A还是B?
(产品具有总是的材料相同的应用领域,不能属于具有的应用领域的材料不具有的材料的产品)
A)http://i60.tinypic.com/27zdk4k.jpg B)http://i57.tinypic.com/2mhc03o.jpg
如果我理解正确,多对多的关系可以在两者之间的“中间”表中工作。
所以,当它来到我的数据库中插入数据和价值观,我有什么是:
材料
1皮革
2布
MATIERIAL_APPL_FIELD
APPLICATION_FIELD
- 1 NAUTIC
- 2休闲
以这种方式,皮革具有2应用领域。但是我怎样才能以一种聪明的方式填补中桌?
也 当我想取消的东西,这是更好的建筑? 我应该从所有表中取消?
我只是想帮忙。也许你可以在下次自动对我的回应进行投票之前澄清你的问题。 –
我没有downvote你其实 – user3384514
行。对这个假设感到抱歉。 –