请教一下关于ERP的数据库设计

发布于 2022-09-06 08:57:32 字数 323 浏览 12 评论 0

公司最近需要做一个ERP,由于没什么经验,所以设计表这块不太清楚目前设计这样的方案是否正确
目前我设计的是,物料表有物料的详细信息,大概有30-40左右的物料信息字段。
但是我在做采购单和销售单的时候,就有把物料的信息一起写到数据库的采购详情表和销售详情表里,
但是我做出入库和收发货这些,我就只是关联了物料的主键进出入库和收发货的详情表里面,没有把所所有字段都写进去,
就读出来的时候,是用主键去管理信息,显示出来
我想问下,这样的设计是否合理?传统的是否是这样的设计方式?
在出入库和收发货这些明细表中,是否需要把这些物料的信息都写进去?还是只是关联主键就可以了?
求高手指导一下,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗酒趁年少 2022-09-13 08:57:32

实际使用中,这两种设计都有。
1.不用冗余字段
供销表只存物料表主键(一般是外键约束或自己写逻辑管理),这种方式每次显示供销信息的时候都要另外对物料表进行一次查询。
2.使用冗余字段
在供销表也存部分物料信息,这样查询供销表可以一次获得所有信息,减少查询次数。但是,需要维护数据一致性,比如物料表的某项信息更改了,这边也一样要更改。

建议按自己的需求选择,大多数情况下,一般系统压力不大,选第一种,开发起来也方便。除非对供销表的查询压力特别大,慎重选择第二种。
第一种情况,如果性能要求不高,可以选择直接用外键约束,开发更简单。如果性能有要求,可以把约束放在程序逻辑里,比如:如果物料信息不多,也不经常更改,可以一次性把所有信息读入内存(或redis等缓存),查询/插入供销信息的时候直接从缓存里读/验证。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文