gpt4 book ai didi

database-design - 具有库存水平跟踪的库存数据库 - 如何在结帐前实现库存检查

转载 作者:行者123 更新时间:2023-12-05 03:15:25 24 4
gpt4 key购买 nike

我正在为库存管理应用程序设计一个数据库,该应用程序将处理元素的库存水平跟踪以及结帐订单的提交和处理。到目前为止,我得到了:一个项目表

  • 项目编号
  • 描述
  • 初始库存水平
  • 其他相关信息

一个订单表

  • 订单编号
  • 订购日期
  • 客户编号

一个 order_detail 表

  • 订单详情编号
  • 订单编号
  • 项目编号
  • 数量

我正在使用交易表跟踪库存水平,每次处理订单或补货时,都会在该表中插入一条记录,其中包含交易类型以指示它是进货交易还是出货交易。交易进出

  • 交易编号
  • 项目编号
  • 交易类型(进/出)
  • 数量
  • 个人价格

我的问题是,在处理订单和插入出交易之前,我想检查库存水平是否足够,并在插入交易后激活低库存警报(尽管这是不同类型的问题)。因为它代表唯一的方法是重新计算当前的库存水平!!如果我的表按计划增长,这将对性能产生可怕的影响。最简单的方法是什么?

最佳答案

我会更新项目/产品表以包含 current_stock_level 列。将对该列进行检查约束以确保它始终为 >= 0

完成此操作后,您插入订单的交易也需要根据订购数量减少库存水平。如果某人订购的库存多于可用库存,他们将违反约束并收到错误消息。

如果您想根据交易验证库存水平,请保留 initial_stock_level 列。然后,您可以运行每日/每周/每当流程来验证减去订单总和是否等于当前库存水平。如果这些不同,那么您可以更新当前级别或向某人发出警报以对此进行调查。

此验证过程(成功)完成后,将 initial_stock_level 更新为当前级别。还包括一个 stock_level_verified 日期以指示上次运行的时间。

请注意,如果您的系统连续使用 24x7,您可能会在运行此检查过程时遇到并发问题,因为人们可以在您执行此操作时减少库存。您需要考虑如何管理它。

关于database-design - 具有库存水平跟踪的库存数据库 - 如何在结帐前实现库存检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com