实施基于策略,基于时间和基于客户的定价

时间:2011-12-30 09:39:18

标签: sql database database-design architecture

我无法为SKU(库存单位)实施基于策略,基于时间和基于客户的定价。到目前为止,我已经创建了基于时间定价的下表

 SKUPrices  
ID Pk  
SKUID FK_To_Sku  
DateFrom  
DateTo  
Price

我相信这种架构可以很好地处理基于时间的定价(我需要对它进行社区审查)但我无法弄清楚如何处理基于客户的定价(如果我们想以某些客户的补贴价格向某些客户出售一些skus时间段)和基于政策的定价(如果某些政策在一段时间内出售,补贴价格将适用于skus)。

2 个答案:

答案 0 :(得分:2)

实现上述要求的一种非常简单的方法是再添加2个这样的列:

SKUPrices
------------------
ID Pk  
SKUID FK_To_Sku
CustomerId FK_to_Customer
PolicyId FK_to_Policy  
DateFrom  
DateTo  
Price

如果要输入基于日期的值,则可以为客户和策略ID(NULL0)提供默认值。如果您要存储客户或政策特定价格,请添加客户或政策FK。

这是一个非常简单的价格存储架构,但它可能足以满足您的需求。您可能还想要处理价格尺度(不同数量的不同价格)或其他需求。也许你已经可以通过你的政策解决这个问题,我不知道。

答案 1 :(得分:1)

为客户和基于策略的定价设置单独的表:

CustomerPrices
------------------
ID Pk  
SKUID FK_To_Sku
CustomerId FK_to_Customer
DateFrom  
DateTo  
Price

PolicyPrices
------------------
ID Pk  
SKUID FK_To_Sku
PolicyId FK_to_Policy  
DateFrom  
DateTo  
Price

在通过单独的左外连接计算每个表的价格时,包括对客户和策略定价表的检查。