库存数据库:合并永久和定期库存系统
Inventory Database: Merging Perpetual and Periodic inventory system
我的客户要求我创建一个库存系统,当然可以每天、每周、每月和每年打印报告。
到目前为止,有了这个描述,我可以做这个系统,输出将是这样的:
-------------------------------
|id|cost|price|quantity|profit|
-------------------------------
|1 | 10 | 12 | 100 | 200 |
-------------------------------
然后我的客户想要有一个开始和结束数量,这应该不是问题,只需添加已售出的商品和剩余商品。但是我的客户希望能够转载过去的数据,比如说5天前的报告。
我的数据库设计是这样的:
tbl_items
------------------------------------------------
|item_code|item_name|item_cost|item_price|stock|
------------------------------------------------
tbl_sold
-----------------------------------------------------------
|id|item_code|item_cost|item_price|quantity_sold|date_sold|
-----------------------------------------------------------
如何改进我的数据库设计以满足我的客户需求?
我怎样才能使输出像这样:
------------------------------------------------
|id|beginning|cost|price|quantity|ending|profit|
------------------------------------------------
首先,您可以设置一个名为 tbl_item_transactions 的新 table(或用这个替换 tbl_sold)。 tbl_item_transactions 很可能包含以下字段:
- 编号
- item_code
- item_cost
- item_price
- transaction_type(如果是销售、交货、处置或任何其他库存移动)
- transaction_quantity
- transaction_amount(取决于交易类型,可能是item_price*交易数量,item_cost*交易数量,或交易数量*计算的平均成本,或者可能是零-金额交易)
- transaction_date
这样您就可以计算所有库存变动,包括它们的影响。然后,您可以根据交易日期和商品代码(或报告要求所需的任何内容)进行查询。
我的客户要求我创建一个库存系统,当然可以每天、每周、每月和每年打印报告。
到目前为止,有了这个描述,我可以做这个系统,输出将是这样的:
-------------------------------
|id|cost|price|quantity|profit|
-------------------------------
|1 | 10 | 12 | 100 | 200 |
-------------------------------
然后我的客户想要有一个开始和结束数量,这应该不是问题,只需添加已售出的商品和剩余商品。但是我的客户希望能够转载过去的数据,比如说5天前的报告。
我的数据库设计是这样的:
tbl_items
------------------------------------------------
|item_code|item_name|item_cost|item_price|stock|
------------------------------------------------
tbl_sold
-----------------------------------------------------------
|id|item_code|item_cost|item_price|quantity_sold|date_sold|
-----------------------------------------------------------
如何改进我的数据库设计以满足我的客户需求? 我怎样才能使输出像这样:
------------------------------------------------
|id|beginning|cost|price|quantity|ending|profit|
------------------------------------------------
首先,您可以设置一个名为 tbl_item_transactions 的新 table(或用这个替换 tbl_sold)。 tbl_item_transactions 很可能包含以下字段:
- 编号
- item_code
- item_cost
- item_price
- transaction_type(如果是销售、交货、处置或任何其他库存移动)
- transaction_quantity
- transaction_amount(取决于交易类型,可能是item_price*交易数量,item_cost*交易数量,或交易数量*计算的平均成本,或者可能是零-金额交易)
- transaction_date
这样您就可以计算所有库存变动,包括它们的影响。然后,您可以根据交易日期和商品代码(或报告要求所需的任何内容)进行查询。