设计卖家,类别和产品表的最佳方法是什么?

时间:2015-01-16 15:59:25

标签: mysql database database-design foreign-key-relationship

我想存储一个卖家列表,每个卖出一个类别的产品,然后每个卖家都会有产品来自这些类别。

设计这个的最佳方法是什么?目前,我所拥有的是以这种方式设计的三个表,卖家,类别和产品。

如何链接卖家和类别?我觉得我在这里创造了太多的关系。

一种方法是创建一个带有SellerId和CategoryId索引的单独表。另外,我想我还需要一个单独的表来表示SellerId和ProductId。有没有更好的方法来实现这种设计?

1个卖家可以有多个类别,

1个类别可以有多个卖家,

1个类别可以有多个产品,

1个产品可以再次拥有多个卖家,

1个产品只能有1个类别,

最后, 1个卖家可以有多个产品。

enter image description here

1 个答案:

答案 0 :(得分:1)

根据您的更新,请考虑此结构......

Seller
----------
ID
etc.

Product
----------
ID
CategoryID
etc.

SellerProduct
----------
SellerID
ProductID

Category
----------
ID
etc.

在这种情况下:

  1. 卖方和产品是合计根
  2. 卖家可以链接到多个产品
  3. 产品可以链接到多个卖家
  4. 类别是产品的属性
  5. 卖家是"链接"通过他们销售的产品隐含地分类
  6. 卖方是否需要链接到卖方没有产品的类别?如果没有,这个结构应该可以解决问题。如果卖方需要链接到另一个类别,则卖方只需链接到该类别的产品。

    通过将类别降级为值类型而非其自己的实体,您不需要将其他实体链接到它。