我正在开发一个电子商务应用程序,并且在设计数据库模式时,我偶然发现了两个有关存储购物车数据的问题。
首先,有什么理由要同时拥有购物车和cart_line表?我明白为什么要用订单之类的东西来做到这一点。显然,它可以通过将数据代入单个orderID外键来防止跨多个订单行(订单号,订单日期,用户/帐户,状态等)的重复数据。
但是,这样的唯一可以在购物车行之间共享的数据(我预见)将是用户。因此,为什么不只存储用户ID并完全消除购物车表,而不是在购物车行中存储对cartID的引用?
我是否忘了拥有专用购物车桌的另一个好处?
然后,思考这个问题使我想知道我是否还需要推车线表。如果订单具有状态,为什么不只是具有“未结”状态并将未结订单用于用户购物车?
我意识到这意味着要搜索(较大的)order_lines表而不是cart_lines表来检索用户的购物车。我只是想知道实际会有什么不同。并且,如果通常的做法是使用orders表存储购物车数据。
任何反馈或讨论将不胜感激。 :)
我正在开发一个电子商务应用程序,并且在设计数据库架构时,我偶然发现了有关存储购物车数据的两个问题。首先,是否有任何理由要同时拥有购物车和cart_line表? ...
这样做的常见原因是允许一个用户拥有“多个推车”。有时,用户确实需要“停放”未完成的订单并下一个订单,然后再返回未完成的订单以完成或丢弃该订单。