一个物料多个供应商,数据库结构怎么设计好

如题所述

简单来说,就设计一个物料表和一个供应商的表就可以了,但供应商和物料其实都是唯一的key。他们本来都是唯一的一条数据,如何一对多的关联呢?

你的问题可能是这样的,每一种物料只有一条数据,而每个供应商也只有一条数据,怎么也无法建立出一对多的关系。如果增加一个关联字段,也只能关联到一条数据,这样的做法一般适用于一对一的关系。

我有个解决方案,不用修改你现在的两个表的设计,新建一个“中介”的中间表。这个中间表两个或三个字段(如果是三个字段,有一个字段是自增加的Key)。主要的两个字段就是物料表的key和供应商表的key,这样,每种物料对应多少供应商,全部插入到这个中间表里面。物料表或者供应商表的数据只要没有新的数据加入,就可以不用去改它们。实际上,这种设计还可以应用到权限角色管理上,比如一个User对应多个角色Role,而在User表,每个人一条数据就够了,而不是去增加只有角色不同的User数据,在执行查询操作的时候,也会引起逻辑混乱。

温馨提示:答案为网友推荐,仅供参考