我正在设计一个在线结账的数据库作为项目。这是我制作的第一个数据库,所以对我来说很容易。
无论如何,我有“帐户”,“订单”,“购物车”和“sku”表。帐户包含送货信息,姓名,电话,电子邮件等。主键是accountNumber。订单包含结算信息。它的外键是accountNumber,它的主键是OrderID。购物车只有2列orderID和skuNumber。 OrderID是外键,skuNumber是主键。 SKU有4列-skuNumber,quanity,price,unit和totalPrice。 skuNumber是外键和主键。
我的问题是 - 我目前有这种设置的方式,一次只能订购1项sku。你如何设计这种不同的方式,这是不必要的?我知道我可以做sku1,sku2等,但这似乎是违反最佳做法的。
谢谢!
答案 0 :(得分:1)
此设计的数据库不是normaized,而不是SKU
表,您需要两个额外的表,因为您只需要分离产品详细信息(Name
,{来自订单详细信息的{1}}等等,因此您必须添加以下表格:
<强>产品:强>
price
。Id
。Name
。另一个包含以下列的Price
或OrderItems
:
SKUItems
订单表的外键。OrderID
产品表的外键。ProductId
。我不明白Quantity
是什么,但如果它是某种产品类型,您可以添加一个包含产品类型的额外表SKU
,此表包含例如一个名为的产品类型ProductTypes: Id, name
然后您可以向SKU
添加ProductTypeId
,这样您就可以拥有以下内容:
Products
对于 ProductTypeId | Name
------------------------
1 SKU
表:
Products