database - 基于数量范围的多种产品价格的高效数据库设计
问题描述
我有 product 和 product_price 表来存储详细信息。
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
当用户订单达到一定数量时,每个产品可能包含不同的单价。
上面显示的 product_price 表将根据零售价进行折扣。如果购买超过 20 数量被视为批发价。
或者我应该这样做
Table Product_price
id_price | id_product | qty | unit_price
1 | 1 | 1 | 12
2 | 1 | 20 | 10
3 | 1 | 50 | 9
我想做一些产品的零售价和批发价。当用户批量购买时,用户将获得批发价。如果不是批量,那么用户将坚持零售价。它基于购买的数量。
设计是否有任何缺陷或任何更好的方法可以使它变得更好?谢谢。
解决方案
通常的方法是有一个数量范围。所以 1-5 可能有一个价格,6-10 可能有另一个价格,依此类推。如果您没有下限和上限,您将无法通过一次查找找到您所追求的价格,这应该是您的目标。
推荐阅读
- opengl - 片段着色器中的丢弃是否会阻止修改模板缓冲区?
- plugins - 如何让玩家阻止(1.8.8)
- asp.net-core - ASP.NET Core - 是否可以强制刷新响应标头?
- php - 获取要删除的已创建文件的文件 ID - Google Drive API
- javascript - 如何使用 javascript 构建 html 表并具有两级列标题
- jenkins - Jenkins - withCredentials 文件截断路径
- scala - 如何写入与 Spark 分区相同数量的文件
- ta-lib - TA-Lib Windows 10 安装
- python - 从现有数据框的查询中创建数据框
- xamarin - Xamarin 自定义控件绑定不起作用