2009-09-04 36 views
0

我有一个“客户”表。每个记录包含客户名称,电子邮件地址等。MySQL - 数据库设计问题 - 有效的正式规范

我有一个'skus'表。每条记录都包含一个SKU的名称。例如“超级软件包”。

SKU代表一个单一价格点的可购买物品。购买的商品可以包含一件或多件商品。

例如名为“Super Software Bundle”的SKU记录可能代表两种产品:product1和product2。

出于易用性/易用性的原因,其他表格不仅需要跟踪购买的skus,还需要客户可能访问的单个产品。

问题:我应该如何在数据库中表示SKU可变大小的性质,其中SKU可以表示1到n个产品?谢谢你的帮助。

回答

0

您将需要第三个表格来管理SKU和产品之间的关系,因为产品可能是多个SKU(我想)的一部分。你必须建模m:n关系。

产品

  • ID
  • 价格
  • ...

SKU

  • ID
  • 价格
  • ...

sku_product

  • ID
  • sku_id
  • PRODUCT_ID
+0

感谢您对此的帮助。我会尝试这种方法。 – SirRatty

0

如果我正在阅读此权限,那么您需要一个SKU表和一个产品表,并且产品表将具有SKU表的一个foriegn键。

+0

感谢您的回复。这是我遇到困难的一部分。我将如何设置SKU表和产品表,以便SKU表可以在产品表中引用可变数量的记录? – SirRatty

+0

一直在想这个。您是否在说为了获得每个SKU的产品清单,我应该在产品表中搜索与FK有关的特定SKU ID的所有记录? – SirRatty