我试图在我的网站中使用MS SQL SERVER 2008 R2作为后端实现访客结账,我不知道它的数据库设计以及应该如何完成。所以任何帮助将不胜感激。
答案 0 :(得分:0)
也许您应该首先查看会话(php,ASP.NET文档,Java servlets教程 - 也适用于JSP)。
在会话中,您可能希望将用户的ID保留在数据库中,以便能够检索用户数据。
在用户的表格中,您会保留所需的任何信息 - 身份证,姓名,地址,银行帐户......
现在您遇到了一个小问题:您的购物车中可能有多个产品的用户 - 同时,这些产品中的任何一个都可能位于其他用户的购物车中。所以你有一个[n,m]关系。
要解决此问题,您需要一个额外的表格,我只需将其称为“购物车”。它是一个帮助表,用户将用户映射到购物车中的商品,因此它有两列包含两个外键:用户ID和产品ID(您可能需要查看here)。 / p>
变体:如果您不想为访客存储任何用户数据,则可以省略用户表并使用会话cookie作为购物车表中的键来识别用户。如果这样做,请不要忘记在销毁会话时删除cookie的数据库条目(您可以在为安全性创建新会话时再次执行此操作 - 如果服务器无法删除,这可以防止用户在购物车中有数据数据 - 例如由于崩溃或其他原因造成的。)