当前位置:  开发笔记 > 程序员 > 正文

库存数据库设计

如何解决《库存数据库设计》经验,为你挑选了5个好方法。

这不是关于"编程"的问题(不是特定于任何语言或数据库),而是更多的设计和架构.这也是"什么是最好的X方式"的问题.我希望不会引起太多"宗教"的争议.

在过去,我开发了以某种方式保留某种形式的物品清单(与物品无关)的系统.有些人使用不支持交易的语言/数据库.在这些情况下,我选择不在项目记录的字段中保存项目数量.相反,库存量计算共计收到库存-总库存的销售.由于软件的原因,这导致库存几乎没有差异.表格已正确编入索引,性能良好.如果记录量开始影响性能,则存在归档过程.

现在,几年前我开始在这家公司工作,我继承了一个跟踪库存的系统.但数量保存在一个字段中.注册条目后,收到的数量将添加到项目的数量字段中.销售商品时,会减去数量.这导致了差异.在我看来,这不是正确的方法,但此前的程序员发誓它.

我想知道是否就设计这样的系统的正确方法达成共识.还有哪些资源可用,印刷或在线,以寻求相关指导.

谢谢



1> Neil Aitken..:

我已经在我现在的公司看到了两种方法,并且肯定会倾向于第一种方法(根据股票交易计算总数).

如果您只在一个字段中存储总数量,则您不知道如何到达该数字.没有交易历史记录,您最终可能会遇到问题.

我写的最后一个系统通过将每笔交易存储为具有正数或负数的记录来跟踪库存.我发现它运作得很好.


我进行了测试 - 我发布了超过2000种产品的约300万条记录(正面和负面的库存调整).只需几分之一秒即可计算所有行的总和,按SKU分组.我不得不说我对它的工作速度感到非常惊讶,对于我正在做的项目,我肯定会有一定数量的增长,而且不用担心它会很快.显然,如果你在网站上显示实时库存总数,你可能想要缓存它们,但即使在所有2000种产品中,我几乎可以立即计算总和.
@Neil - 你能评论一下这种方法的表现吗?它似乎是受欢迎的方法,但如果你有数百个产品和成千上万的交易,你如何或何时计算累积总数.或者您是否只是将累积总数存储在另一个地方,并且知道如果需要可以重新计算?
银行/会计系统与交易(借方或贷方)的功能相似,通常作为单独的字段,但具有相同的求和效果。主要是出于操作原因,创建了每月余额(通常有一个验证月末流程),但这也是一种能够累加12个每月增量值以便快速累加一年而不是一年中的每笔交易的方法。经过数年和数百万个帐户的处理后,性能收益是实实在在的,而且还允许数月前进行更正,只需要重新计算该月的收盘价即可。

2> Patrick Cuff..:

数据模型资源手册,卷.1:适用于所有企业的通用数据模型库

数据模型资源手册,卷.2:特定行业的数据模型库

数据模型资源手册:数据建模的通用模式

我有Vol 1和Vol 2,这些在过去非常有帮助.



3> lubos hasko..:

这取决于,库存系统不仅仅是计算物品.例如,出于会计目的,您可能需要基于FIFO(先进先出)模型了解库存的会计价值.这不能通过简单的"收到的库存总量 - 销售库存总量"公式来计算.但他们的模型可能很容易计算出来,因为他们会随着时间的推移修改会计价值 我不想详细说明,因为这不是编程问题,但如果他们发誓,也许你并不完全理解他们必须满足的所有要求.



4> Steven A. Lo..:

两者都有效,视情况而定.当满足以下条件时,前者最佳:

要求的项目数量相对较少

很少或没有特殊情况需要考虑(退货,调整等)

不经常需要库存物料数量

另一方面,如果您有大量项目,几个例外情况和频繁访问,维护项目数量将更有效

还要注意的是,如果你的系统有差异,然后它有缺陷,应追踪并消除

我已经完成了两种方式的系统,两种方式都可以正常工作 - 只要你不忽略错误!


@Simon:我写的早期库存系统之一是定制冰淇淋店.回报不仅是例外,它们实际上是不可能的;-)

5> Eddie Deyo..:

看看ARTS(零售技术标准协会)数据模型(http://nrf-arts.org).它使用StockLedger表并记录每个项目,并在InventoryJournalEntries中跟踪对库存的更改.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有