数据库模型可将数量从一个位置移至另一个位置和另一位置

时间:2018-10-05 15:32:24

标签: database-design product inventory-management

我正在为一个合适的数据库模型而苦苦挣扎,该模型允许我多次将一部分产品从一个位置转移到另一个“位置”,并能够像库存系统一样跟踪其原始订单中的每个项目。

示例(描述性):

  • 订购的产品“ ABC”的数量为10件
  • 产品“ ABC”的总共10件应存储在“ X”位置
  • 然后,将产品“ ABC”以5件的形式部分移至“ Y”位置
  • 一旦产品“ ABC”到达“ Y”位置,应将3件物品从“ Y”位置移至“ Z”

因此,当需要通过产品的位置以及原产地(“订单”)来跟踪此类产品的移动时,数据库模型将是什么样子。

示例(数据库模型):

我迅速绘制了一个示例数据库模型进行说明。 Link

我要关注的重要事情

  • 通过将数据库保留在4th normal form中,根据系统中订购的整体现有数量(单个产品)灵活输入产品数量
  • 在位置的任何地方追溯到原始顺序
  • 列出所有产品,包括Movement表所做的位置的详细信息

非常欢迎部分符合我要求的想法或现有数据库模型。

1 个答案:

答案 0 :(得分:1)

我已经为批发商工作了多年,我们在数据库级别上的工作方式是(一般概念,非常简化):

  • 主要重点是每个配送中心(称为“位置”)中的产品库存。
  • 为每个客户分配了一个配送中心,通常是离配送中心最近的配送中心。
  • 每次客户下订单时,都会从配送中心的库存中扣除他订购,包装和运输的数量。

  • 我们还从制造商处订购产品。

  • 这些订单由自动库存补充触发器触发。
  • 触发器将检测产品的可用性是否低于一定水平。
  • 有一个复杂的算法(例如,一个季节或城市的需求量更大),但这超出了这个问题的范围。
  • 每次在中心收到这些订单时,都会执行我们称为补货的过程。
  • 补货是将新库存添加到数据库中,并将产品放置在中心的指定货架上。

总而言之

enter image description here

还有许多其他流程,例如退货,拖欠订单管理等,但是请紧紧抓住重点。

我们也像您一样在配送中心之间进行产品移动。但是,由于“以库存为中心”,移动的处理方式类似于运输产品的中心的销售情况,另一种处理方式是作为补货的情况。

恕我直言,我不建议您根据移动量来计算广告资源。这将为您带来大量的计算。如果您有很多物品的大订单,那么建立库存可能是一个巨大的计算。

由此造成的另一个问题是,必须对每个单元进行标识,以某种方式标记,进行跟踪,计算,报告……


无论如何,这是我尝试解决您的问题的模式。

enter image description here

我的逻辑:

  • 单元:架构中的中心项。
  • 一切都围绕着它,以定义单位并跟踪其所在位置。

  • 订单:订单是单位的集合,这些单位已同时订购。

  • Order_has_Unit :将单位链接到订单。请注意,由于我们分别跟踪每个单位,因此每个项目都必须在此处链接。 Order_has_Unit中有8个表== 8个单位== 8行。

  • Unit_has_Movement Movement Location 用于跟踪每个单元在系统中的移动情况。

方案,正在接收订单:

  • 在订单中为每个项目创建一个单位条目。
  • 将其链接到适当的产品
  • 定义从[位置==外部]到[位置==“ X”]的运动
  • 将该运动链接到每个收到的部队。

要在实际中与这种设计相匹配,每个单元都必须加标签以进行识别。条形码足以识别产品,但不能识别单个单元。需要创建一个新的“标签号”。


您想知道在某个位置建立库存的查询是什么样的。这是登录名(不是SQL!):

  • 找到每个单元,其中:
  • 最近的运动具有idLocationTo ==您想要的位置
  • 这些可以按产品进行计数和分组,因此您拥有总数。

我希望这会给您带来继续前进的想法,并可能考虑其他符合您要求的解决方案。祝你好运!