具有不同有效期的产品 ID



现在我正在创建一个应用程序来管理库存。我们经常收到产品,通常它们有不同的有效期或价格。例:

RECEIPT    PROVIDER     PRODUCT       PRODUCT EXPIRATION DATE    PRICE   QUANTITY
2125       IQT          PLASTIC BAG   10/21/2012                 2.35    30
2126       MDU          PLASTIC BAG   05/03/2012                 2.45    60
2127       PRADO        PLASTIC BAG   10/21/2012                 2.30    10

PRODUCT    NAME          EXPIRATION DATE   PRICE  QUANTITY
1001       PLASTIC BAG   10/21/2012        2.35   30
1001       PLASTIC BAG   05/03/2012        2.45   50
1001       PLASTIC BAG   10/21/2012        2.30   10

我的问题是我是否应该将到期日期和价格也设为主键,以便我可以注册具有不同参数的产品。或者我应该创建一个产品 ID 和收据 ID 的双重 PK。

我认为在

缓慢变化的维度表中使用复合键是可以接受的。我不同意产品的价格是复合键的一部分。(产品ID,到期日期)会很好。有些人可能会争辩说,你实现了存档表(例如Product_Archive),只在产品表中保留当前记录。

您可以选择使用代理项来代替主键中的 SKU、UPC 或 PLU。

我建议将产品价格作为单独表格的候选者,因为产品价格有许多驱动因素。在实体环境中,您的产品价格会因位置而异。

以脐橙为例。您可以根据购买它们的季节或地区等因素从多个供应商处获取它们。

最新更新