对于同时允许访客结账和注册用户结账的电子商务网站,您将如何处理这两个不同的客户群?
您是否将两个组存储在同一个表中,该表
customers
具有customer_group_id
指向另一个表的外键customer_groups
?在这种情况下,您会担心重复的客人结账“污染”customers
餐桌吗?为 2 个客户群捕获的信息有何不同?我认为不同之处在于客人结账客户不会有密码。
对于同时允许访客结账和注册用户结账的电子商务网站,您将如何处理这两个不同的客户群?
您是否将两个组存储在同一个表中,该表customers
具有customer_group_id
指向另一个表的外键customer_groups
?在这种情况下,您会担心重复的客人结账“污染”customers
餐桌吗?
为 2 个客户群捕获的信息有何不同?我认为不同之处在于客人结账客户不会有密码。
我将客户信息直接存储在订单中,而不是依赖客户记录中的信息。这有几件事:
我将订单信息视为历史数据。它不应该改变,因为数据库中的其他内容发生了变化。例如,如果我向您订购了一些东西,并且稍后我移动并更新了我的帐单和运输信息,您仍然应该知道之前的订单已开票并运送到之前的地址。如果您依靠客户和订单之间的关系来保留账单和发货信息,一旦我移动并更新了我的个人资料,您就认为您发货到了我的新地址。你可能不认为这是一个问题,但它会。
如果客户有帐户,您仍然可以从客户记录中获取当前信息以填充订单上的字段。对于客人来说,他每次都要打字。
通用实体是 Checkout。来宾结帐将是结帐实体上到已注册用户实体的空 FK 链接。