存储库存物料的计量单位的最佳方式

时间:2010-10-15 01:49:51

标签: database database-design oop schema

假设一个架构结构。

-----------------------------------------
Stock (ID, Description, blah blah)
-----------------------------------------
StockBarcode (ID, StockID, Barcode, Price, blah blah)
-----------------------------------------

存储库存商品的计量单位的最佳方式是什么?鉴于StockBarcode价格可能是1项,10项,10克或10磅?

股票到StockBarcode是一对多的关系。 (虽然我确定你不需要我告诉你)

干杯:)

4 个答案:

答案 0 :(得分:4)

您可能会考虑在所有数据列所在的所有表上添加一个额外的UOM列,并在所有货币列上添加额外的货币列。

所有输入屏幕都应该询问数量和UOM。

  

项目表 - 添加库存/库存UOM,采购/接收UOM,   定价UOM,发货/发送UOM,生产UOM,组件UOM列

     

new UOM table - ID,Abbrev。,Description,RegionID,UOMTypeID

     

新的UOMRegion表 - ID,代码,描述(示例数据 - 1,英国,   英国;                     2,美国,美国;                     3,INT,国际)

     

新的UOMType表 - ID,代码,描述,DefaultUOMID(示例   数据 - 1,V,体积,15;                      2,A,Area,45;                      3,W,重量,32;                      等)

     

新的UOMConversionFactor表 - ID,FromUOMID,ToUOMID,   ConversionFactor(示例数据 - 1,1,1,1;                      2,1,3,0.026021066655565;                      3,3,1,38.430399999999000)

     

(注意 - 从UOM到同一个UOM的转换是1.可以放在表或   不。               每条记录我通常都有一个隐含的列FromQty,它总是1。               确保ConversionFactor允许使用巨大数字,因此当涉及大数量时,最终数字会更准确)

思考 - 1)有些UOM不够具体,如“桶”(美国干货桶,美国桶蔓越莓,美国流体桶,英国啤酒桶,美国啤酒桶,油桶等) 。),2)如果您担心国际申请(即美国杯与英国杯不同于国际杯),UOM会受到地区的影响,3)我可以收到项目X的卡通片,将其存放在托盘中,并将其运送到货物中。 4)“套件”或“构建”项目可以是UOM中的原材料加上不同UOM中的各种组件,最终会在不同的UOM中生成最终产品。

答案 1 :(得分:3)

我要将QtyUOMID列添加到StockBarcode表,然后添加一个新表,如

StockUOM (ID, Description)

答案 2 :(得分:0)

如果我正确理解您的库存表,它包含您要库存的产品。

要考虑的一个选择是,您应该考虑保留基于库存用语的数据,而不是库存数据,称为SKU (stock keeping unit) Information

每个SKU本身可以由多个项目组成,但因为它不能以这种方式出售,所以在大多数情况下,您不必关心这些细节。价格等详细信息都是与SKU相关联的属性。

例如:如果产品说啤酒可以单独出售/ 6包/ 12包,则它有3个SKU相关联。

然后你有关系:

Products --> SKU's which is 1:many

SKU --> StockBarCode which is 1:1(假设您对同一SKU的所有单位都有相同的条形码 - 如果没有,那么它可以是1:很多也是如此)

答案 3 :(得分:0)

每个UOM都有独特的StockBarcode吗?例如,是否有用于克的条形码,用于磅的条形码和用于单个物品的条形码?如果是这样,安德鲁的解决方案将起作用。

如果没有,您将需要创建另一个包含StockID,Qty和UOMID的表。

StockUOM (ID, Description)

StockCount (ID, StockID, UOMID, Qty)

扫描条形码时,您需要输入要扫描的UOM。然后,软件可以根据扫描的项目更新StockCount表。如果您的商品没有多个条形码,并且您存放多个UOM(常见),这可能是一个很好的后备。