假设一个架构结构。
-----------------------------------------
Stock (ID, Description, blah blah)
-----------------------------------------
StockBarcode (ID, StockID, Barcode, Price, blah blah)
-----------------------------------------
存储库存商品的计量单位的最佳方式是什么?鉴于StockBarcode价格可能是1项,10项,10克或10磅?
股票到StockBarcode是一对多的关系。 (虽然我确定你不需要我告诉你)
干杯:)
答案 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)
我要将Qty
和UOMID
列添加到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(常见),这可能是一个很好的后备。