为我的网站建立一个数据库

时间:2011-03-07 22:32:32

标签: database-design normalization

我需要帮助为我的在线定制西装店设计数据库。到目前为止,我已经为产品,订单和我的用户/客户创建了表格。我想我需要添加一些表来管理我的购物车,同时他们正在进行选择并自定义它们。在这一点上,我对如何继续有点困惑。我的购物车是否需要几乎掌握我的订单表最终会保存的所有信息?从附图中可以看出,订单包含订单商品,订单商品包含订单商品选项。通过这种方式,我可以提取客户想要的每个订单商品,以及每个特定订单的所有自定义项。这是否需要先在我的购物车中完成,这意味着我基本上必须复制数据库的orders部分中的所有表,还是有更好的方法?另外,我的数据库应用程序还缺少什么来强大运行像www.indochino.com这样的网站?

感谢所有帮助...... enter image description here

4 个答案:

答案 0 :(得分:1)

您应该将order表格更改为shopping_cart表格,并从中删除所有送货地址信息。

然后创建一个单独的order表,其中包含指向相关购物车的shopping_cart_id。此order表应包含已过帐订单的所有必要信息,例如送货地址,项次料品总金额,税额,订单总金额,过帐日期时间等。

我认为状态字段不是正确的方法,因为购物车不是订单,许多订单字段不适用于购物车。这些字段不应采用空值,因为它们是已完成订单所必需的。在编写有关此数据的报告时,根据状态字段存储完全不同的事物的表是一种负担。

答案 1 :(得分:0)

我认为你不需要一张单独的购物车桌子。我只想使用现有的order / order_item表来保存购物车信息,然后在订单上添加一个状态字段,其中包含“不完整”,“完成”,“已发货”等等。任何不完整的订单都是呈现为购物车。恕我直言,状态机将是管理订单生命周期的良好候选者。

答案 2 :(得分:0)

如果在订单表上放置“in_cart bit”列,它会起作用吗?这样你就可以使用相同的表,但是将in_cart设置为1,而订单尚未最终确定。

答案 3 :(得分:0)

假设您的购物车是一个单独的表,它应该有orderid和userid作为外键。