database - 数据库设计:具有多个项目单元的库存(批发和零售)
问题描述
我为药品(药房)商店设计了一个数据库,它将批发和零售药品。有一些药物可以以多个单位出售,例如,药条、胶囊和药瓶。基本上,每种药物都可以以多个单位出售。这是我的数据库:
我有一个 inventory_movement 记录,记录了用于填写每个订单的特定库存。如果一个药物的基本单位设置为小瓶,并且它在inventory_movement中有一些与小瓶有关的记录,并且在一段时间后,我想以胶囊为单位出售该药物,此时,我如何将其记录到inventory_movement ? 我如何从库存中计算库存?
如果我更新 item_unit 记录以设置如下数据:
而且我需要扫描整个inventory_mocement 表以将基本单位更新为新的(胶囊)并使用乘数重新计算数量。这合理吗?
我的设计有什么缺陷吗?有没有人有任何想法(或例子)?
解决方案
“我如何将此记录到inventory_movement?”
只需使用 appr 预订全部数量(在本例中为 7)。unit_id
,然后将其与另一个unit_id
.
我如何从库存中计算库存?
如果我是你,我会只为库存 (fe ) 设置一个新表item_id, unit_id, qty
,并且每次移动我都会根据数量和 减少/增加库存unit_id
。为此,我也会item_unit
像这样更改表格:id, item_id, unit_id, multiplier, base_unit (bool)
. 并且该item_unit
表将只是一个包含数据的主表,用于打包有多少个数据块。
因此,您无需查看移动表,您可以item_unit
使用 appr 根据该表计算您的库存。乘数。
推荐阅读
- mongodb - Mongodb $elemMatch 获取匹配空数组的文档
- c++ - 无法在 Visual Studio 2019 中打开文件
- scala - 使用空格拆分文件,其中列数据也有空格
- javascript - 如何使用 Visual Studio CE 2019 缩小、捆绑然后发布 TypeScript/React 单页 Web 应用程序项目
- javascript - 不能将 Stripe 与 nuxt 和 typescript 一起使用
- r - R中带有beta家族的gam()的随机效应
- android - 我如何读取特定用户的相关数据
- php - codeigniter中的验证rest api保持返回false
- java - 在 JAX-RS 中使用 Json:禁止空值
- java - AssertJ JSON 属性检查