我一直在研究购物车的数据库结构,并注意到在存储订单详细信息时,产品信息会重复并再次存储在表中。我想知道这背后的原因是什么?这是我的意思的一个小例子:
产品表
product_id name desc price
1 product 1 This is product 1 27.00
订单表
order_id customer id order_total
1 3 34.99
订单明细表
order_details_id product_id product name price qty
1 1 product 1 27.00 1
如您所见,产品名称和价格再次存储在订单详细信息表中。为什么是这样?我能想到的唯一原因是因为产品详细信息在下订单后可能会发生变化,这可能会造成混淆。这是正确的吗?
谢谢
保罗
最佳答案
是的,这是唯一的原因
你的产品价格经常变动
这样您就可以再创建一个表并存储产品的详细信息,如下所示
产品更新表
id product_id name desc price
1 1 product 1 This is product 1 27.00
订单表将是
order_details_id product_Update_id qty
1 1 1
关于mysql - 购物车数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560625/