gpt4 book ai didi

mysql - 数据库设计帮助-在线结帐项目

转载 作者:行者123 更新时间:2023-11-29 00:48:18 25 4
gpt4 key购买 nike

我正在为在线结帐设计一个数据库作为一个项目。这是我创建的第一个数据库,请放轻松。

无论如何,我有表“account”、“order”、“shopping cart”和“sku”。 Account 包含发货信息、姓名、电话、电子邮件等。主键是 accountNumber。 Order 包含账单信息。它的外键是 accountNumber,主键是 OrderID。购物车只有 2 列——orderID 和 skuNumber。 OrderID 是外键,skuNumber 是主键。 SKU有4列——skuNumber、quanity、price、unit、totalPrice。 skuNumber 是外键和主键。

我的问题是 - 我目前使用此设置的方式一次只能订购 1 件商品 sku。您将如何以不同的方式设计它,以便没有必要?我知道我可以做 sku1、sku2 等,但这似乎有悖于最佳实践。

谢谢!

最佳答案

您的数据库不是 normaized通过这种设计,您将需要两个额外的表而不是 SKU 表,因为您只需要将产品详细信息(名称价格等...)从订单详细信息,因此您必须添加下表:

产品:

  • Id
  • 姓名
  • 价格
  • ...

另一个 OrderItemsSKUItems 包含以下列:

  • OrderID 订单表的外键。
  • ProductId 产品表的外键。
  • 数量
  • ...

我不明白什么是 SKU 但如果它是某种产品类型,您可以添加一个额外的表 ProductTypes: Id, name 来保存产品类型,此表包含例如名为 SKU 的产品类型,然后您可以将 ProductTypeId 添加到您的 Products,这样您就可以拥有类似以下内容:

 ProductTypeId  |  Name
------------------------
1 SKU

对于 Products 表:

 ID  |   Name  | ProductTypeId
-----------------------------
1 SKU1 1
2 SKU2 1
3 SKU3 1

关于mysql - 数据库设计帮助-在线结帐项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9596901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com