我需要创建一个数据库来管理加油站。
我正在考虑一个基本的产品库存和销售数据模型,但它需要一些更改。
请参阅http://www.databaseanswers.org/data_models/inventory_and_sales/index.htm。他们是这样进行的:经理每天两次跟踪库存和销售情况,每次都有加油站服务员负责,并负责销售。
我怎样才能跟踪这个?
我需要创建一个数据库来管理加油站。
我正在考虑一个基本的产品库存和销售数据模型,但它需要一些更改。
请参阅http://www.databaseanswers.org/data_models/inventory_and_sales/index.htm。他们是这样进行的:经理每天两次跟踪库存和销售情况,每次都有加油站服务员负责,并负责销售。
我怎样才能跟踪这个?
使用您提供的模型,您可以使用第一个模型作为参考:
我会使用所有六 (6) 个表,即:
1) Products
2) Product_Types
3) Product_In_Sales
4) Sales
5) Daily_Inventory_Level
6) Ref_Calendar
但是我不得不通过更改和添加来进行一些更改:
首先,我需要包含至少具有以下字段的 SalesPerson 表
1) SalesPersonID
2) Lastname
3) Firstname
4) Alias
因此,我需要在我的Sales表中添加SalesPersonID作为外键。
现在,由于您希望每天有两次 Inventory,那么您可以通过多种方式为 Daily_Inventory_Level 表添加单个主键,或者您可以添加一个名为Inventory_Daily_Flag的新字段,其值只有 1 或 2。如果 1 表示这是第一个库存,如果 2 表示这是当天的第二个库存。这意味着您同时是主键和外键将不再只是 Day_Date 和 ProductID,还有 Daily_Inventory_Level 表的 Inventory_Daily_Flag。
并且与此一致,这意味着您还需要在Product_In_Sales中添加一个字段,例如FlagForInventory,并将布尔值作为数据类型。
因此,假设一名主管进来进行第一次盘点,那么当天在 Product_In_Sales 中销售的产品将在 FlagForInventory 中标记为 True,然后将转移到 Daily_Inventory_Levels,其中 Inventory_Daily_Flag 字段为 1 以指示为第一个库存,当然关卡也会更新。
因此,当一天结束并且要执行第二个库存时,那些来自 Product_In_Sales 表的当天销售额,其 FlagForInventory 为 false,那么 FlagForInventory 将被标记为 True,然后再次转移到 Daily_Inventory_Levels,Inventory_Daily_Flag 为 2,表示第二个库存. 当然,您还需要更新关卡。
是否有意义?如果不是,我总是可以改变方法?;-)