【发布时间】:2012-04-19 17:32:09
【问题描述】:
我正在尝试创建一个基本销售点和库存管理系统。
需要考虑的一些事项:
- 整个系统中的产品始终相同(相同的 ID),但每个位置的库存(每个产品的可销售单位)是唯一的。位置 Y 和 Z 可能都有产品 X 的待售单位,但例如,如果从位置 Y 出售两个单位,则位置 Z 的库存不应该受到影响。 其库存单位仍然完好无损。
- 从位置 Y 销售一 (1) 件产品 X,意味着位置 Y 的库存应从其库存中减去一单位。
由此,我想到了这些表格:
-
地点
- 身份证
- 姓名
-
产品
- 身份证
- 姓名
-
交易
- 身份证
- 说明
-
inventories_header
- 身份证
- location_id
- product_id
-
inventories_detail
- inventories_id
- transaction_id
- 单位成本
- 单价
- 数量
-
orders_header
- 身份证
- 日期
- 总计(由 orders_detail 数量 * 价格计算;仅用于未来数据验证)
-
orders_detail
- order_id
- transaction_id
- product_id
- 数量
- 价格
好的,那么,有什么问题吗?当然。
- 如何跟踪单位成本的变化?如果有一天我开始为某种产品支付更多费用,我需要以某种方式跟踪边际效用 (
(cost*quantity) - (price*quantity) = marginal utility)。我主要为此想到了inventories_detail。否则我不会在意的。 - 关系是否稳固?我仍然很难考虑这些地点是否有库存,或者库存是否有多个地点。真让人抓狂。
- 您将如何保持/了解您当前的库存水平?由于我必须将库存表分开以跟上成本更新,我想我只需要将inventories_detail 中列出的所有数量相加即可。
- 您有什么建议要分享吗?
我确信我还有一些问题,但这些主要是我需要解决的问题。另外,由于我是第一次使用 Ruby on Rails,实际上,作为一种学习体验,在设计上停下来很遗憾,没有让我更快地完成实现,但我想这就是应该的方式。
提前致谢。
【问题讨论】:
标签: ruby-on-rails database-design point-of-sale inventory