我的公司正在使用此模型来管理广告资源
Model 1 http://img534.imageshack.us/img534/6024/modeltest2.jpg
但我遇到了问题,因为在这个月我们在同一个仓库买了一些价格不同的塑料袋,有效期。
所以现在我将模型更改为此。
Model 1 http://img16.imageshack.us/img16/8416/modeltest.jpg
我的问题是,如果这是好的..它正在工作,但是我第一次创建一个只有主键的表。
数据示例:
PRODUCT WAREHOUSE Quantity Price Expiration_Date
PLASTIC BAG NEW YORK 20 1.20$ 12-10-2013
PLASTIC BAG NEW YORK 130 1.50$ 21-12-2015
由于
答案 0 :(得分:1)
特定于MySQL和InnoDB存储的一个问题是,InnoDB将在内部静默创建一个额外的6字节整数作为代理主键。此外,如果您可以通过主键执行查询,则对任何InnoDB表的查询都会更有效。因此,如果可能,定义主键(或唯一键)对您有利。
如果Product_ID,Warehouse_ID列的组合不足以唯一标识每一行,则可以添加第三列以区分重复项。例如,Stock_ID或其他。
答案 1 :(得分:1)
基本上没关系。在销售,仓库系统中,您无法在产品表中保存具有不同到期日期的所有产品,因为每个产品都会有很多记录。但通常你需要将它们保存在“Item_Ledger_Entry”表中,这里将是Sales of Sales或Purcahse的所有交易。
您使用同一产品只有不同的到期日期。我认为你根本不需要Product has warehouseKey