设计一种电子商务数据库的最佳实用方法是,如果没有,那么在更新商品信息时不应更新客户购买的商品的商品信息?
为了更好地理解,这里是一个场景:
我正在研究的一种解决方案是将整个产品信息作为PHP序列化数据保存在表中,作为“ purchases.product_information”中的数据。
将PHP序列化数据存储在列中甚至是个好主意吗?如果用户想在产品信息中搜索价格,商品名称等文字,效果如何?
还有其他解决方法吗?
谢谢
答案 0 :(得分:0)
这是尺寸变化缓慢的情况(https://en.wikipedia.org/wiki/Slowly_changing_dimension)
一个简单的解决方案是拥有一个单独的表purchase_items,并使所有列随时间变化(例如价格,折扣等)(例如:价格,折扣等),而purchase和purchase_items表将具有one_to_many关系
尽管如此,在更复杂的情况下,产品的价格会根据一天中的订购时间等即时变化。在这种情况下,价格可能无法与产品本身相对应存储< / p>
此答案恰好解决了问题,您可能会发现这很有帮助 https://dba.stackexchange.com/questions/57992/ecommerce-orders-table-save-prices-or-use-an-audit-history-table