设计 Seller、Category 和 Product 表的最佳方式是什么?

What is the best way to design Seller, Category and Product tables?

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

最好的设计方法是什么?目前,我有三个table,Seller,Category 和Product 是这样设计的。

如何 link 卖家和类别?我觉得我在这里建立了太多的关系。

一种方法是创建一个单独的 table,其中包含 SellerId 和 CategoryId 的索引。另外,我想我也需要一个单独的 table 用于 SellerId 和 ProductId。有没有更好的方法来处理这个设计?

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

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

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

1个产品又可以,有多个卖家,

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

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

根据你的更新,考虑这个结构...

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

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

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

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

在这种情况下:

  1. Seller 和 Product 是聚合根
  2. 一个卖家可以link绑定多个产品
  3. 一个产品可以link卖给多个卖家
  4. 类别是产品的属性
  5. 卖家根据他们销售的产品"linked"隐含地分类

是否需要将卖家link编入其没有产品的类别?如果没有,这个结构应该可以解决问题。如果卖家需要 link 进入另一个类别,则该卖家只需 link 进入该类别的产品。

通过将类别降级为值类型而不是它自己的实体,您不需要 link 其他实体给它。