代码之家  ›  专栏  ›  技术社区  ›  Crazy

基于数量范围的多产品价格高效数据库设计

  •  0
  • Crazy  · 技术社区  · 7 年前

    我有产品和产品价格表来存储详细信息。

    Table Product
    id_product| name    | ....
    1         | abcd    | ....
    
    Table Product_price
    id_price  | id_product  | qty     | price_type            | price
    1         | 1           | 20      | percentage_discount   | 10
    2         | 1           | 50      | price_discount        | 2
    

    当用户订单达到一定数量时,每种产品可能包含不同的单价。

    上述产品价格表将根据零售价格打折。如果购买超过20个数量视为批发价。

    或者我应该这样做

    Table Product_price
    id_price  | id_product  | qty     | unit_price
    1         | 1           | 1       | 12
    2         | 1           | 20      | 10
    3         | 1           | 50      | 9
    

    我想对产品做零售价和批发价之类的事。当用户批量购买,然后用户将得到批发价。如果不是批量,那么用户将坚持零售价。它是基于购买的数量。

    这个设计有什么缺陷或者更好的方法来改进它吗?谢谢。

    0 回复  |  直到 7 年前
        1
  •  0
  •   TomC    7 年前

    通常的方法是有一个数量范围。所以1-5可能有一个价格,6-10另一个价格,以此类推。如果你没有下限和上限,你无法找到你的价格,你是在一个单一的查找,这应该是你的目标。