我正在努力建立一个网上商店,我正在与自己讨论如何实施销售项目。
最好是让ItemsOnSale表包含对待售商品的引用,还是包含Items表中的OnSale字段。
我确信自己第一个解决方案更正确,因为销售列表中的项目需要更少的遍历项目树,还因为如果有关销售的信息发生更改,则不必更改项目表只是看起来更“正交”的ItemsOnSale。
然而,我不是专家所以你们有什么想法?
修改
[products]
Id
Name
Price
[items_on_sale]
ProductId
NewPrice
[orders]
ProductId
UserId
这提出了如何选择产品以使items_on_sale的价格优先于产品价格的问题。
答案 0 :(得分:1)
如果我要实现商店,我的实体最初将如此存在:
<强>产品强>
id,name,...<强>价格强>
id,price,date,is_sale,...订单强>
id,product_id,customer_id,date,...
这样,您就可以在整个产品历史记录中记录价格。如果新价格(或折扣)不是标准价格下降,那么平展is_sale
就可以反映出您的观点。如果最近发生了变化,这也将使您能够做到/现在。