4

对于同时允许访客结账和注册用户结账的电子商务网站,您将如何处理这两个不同的客户群?

  1. 您是否将两个组存储在同一个表中,该表customers具有customer_group_id指向另一个表的外键customer_groups?在这种情况下,您会担心重复的客人结账“污染”customers餐桌吗?

  2. 为 2 个客户群捕获的信息有何不同?我认为不同之处在于客人结账客户不会有密码。

4

2 回答 2

9

我将客户信息直接存储在订单中,而不是依赖客户记录中的信息。这有几件事:

  1. 我不必在客户数据库中有来宾用户
  2. 如果我的客户信息发生变化,或者如果客户想要将一件商品运送到一个地方,而将另一件商品运送到另一个地方,那么有关订单的信息仍然是正确的。

我将订单信息视为历史数据。它不应该改变,因为数据库中的其他内容发生了变化。例如,如果我向您订购了一些东西,并且稍后我移动并更新了我的帐单和运输信息,您仍然应该知道之前的订单已开票并运送到之前的地址。如果您依靠客户和订单之间的关系来保留账单和发货信息,一旦我移动并更新了我的个人资料,您就认为您发货到了我的新地址。你可能不认为这是一个问题,但它会。

如果客户有帐户,您仍然可以从客户记录中获取当前信息以填充订单上的字段。对于客人来说,他每次都要打字。

于 2013-06-27T21:10:42.657 回答
0

通用实体是 Checkout。来宾结帐将是结帐实体上到已注册用户实体的空 FK 链接。

于 2013-06-27T20:57:13.403 回答