我应该如何塑造我的架构设计?

时间:2014-08-28 19:01:31

标签: database-design relational-database entity-relationship database-schema

我想创建一个客户端结算应用。我需要保持每个客户的价格。所以我需要每个客户的价格表。如果有人可以帮助我们如何塑造架构。 谢谢Ryuu Here is My Schema Still Under Work

1 个答案:

答案 0 :(得分:0)

如果您销售特定产品,并且每个产品对每个客户具有或可能具有不同的价格,那么您将创建一个包含客户ID和产品ID的外键的定价表。也就是说,对于每个客户,对于每个产品,都有一个价格记录。然后,您与客户之间存在多对一的价格关系以及价格与产品之间的多对一关系。

如果你有很多产品,我猜你不会为每个客户单独定价每件产品。就像你有200个产品并且你获得了一个新的客户一样,你可能不会为这个客户的200个产品中的每一个产生价格。在这种情况下,您更有可能拥有价格表。一些客户获得“A”列表,一些客户获得“B”列表等。然后您创建price_list表并将价格与price_list相关联,然后将price_list与客户关联。这就是我公司定价的方式:我们为标准商业客户提供一套价格,为我们的最大客户提供另一套价格,为非营利客户提供三分之一的价格。然后,每个客户只需要与相应的列表相关联,而不是与所有单个产品相关。

或者,您可能对每种产品都有“基本”价格,而某些客户可以获得折扣。那么你只需要为每个产品定价,并为每个客户提供百分比折扣。

根据您的定价方式,还有其他方法可以做到。