请教一下关于ERP的数据库设计
公司最近需要做一个ERP,由于没什么经验,所以设计表这块不太清楚目前设计这样的方案是否正确
目前我设计的是,物料表有物料的详细信息,大概有30-40左右的物料信息字段。
但是我在做采购单和销售单的时候,就有把物料的信息一起写到数据库的采购详情表和销售详情表里,
但是我做出入库和收发货这些,我就只是关联了物料的主键进出入库和收发货的详情表里面,没有把所所有字段都写进去,
就读出来的时候,是用主键去管理信息,显示出来
我想问下,这样的设计是否合理?传统的是否是这样的设计方式?
在出入库和收发货这些明细表中,是否需要把这些物料的信息都写进去?还是只是关联主键就可以了?
求高手指导一下,谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际使用中,这两种设计都有。
1.不用冗余字段
供销表只存物料表主键(一般是外键约束或自己写逻辑管理),这种方式每次显示供销信息的时候都要另外对物料表进行一次查询。
2.使用冗余字段
在供销表也存部分物料信息,这样查询供销表可以一次获得所有信息,减少查询次数。但是,需要维护数据一致性,比如物料表的某项信息更改了,这边也一样要更改。
建议按自己的需求选择,大多数情况下,一般系统压力不大,选第一种,开发起来也方便。除非对供销表的查询压力特别大,慎重选择第二种。
第一种情况,如果性能要求不高,可以选择直接用外键约束,开发更简单。如果性能有要求,可以把约束放在程序逻辑里,比如:如果物料信息不多,也不经常更改,可以一次性把所有信息读入内存(或redis等缓存),查询/插入供销信息的时候直接从缓存里读/验证。