1

我有一个关系数据库,我将卖家信息存储在一个名为(自然而然)卖家的表中。在该表中,我有一个名为行业的列。我也有很多关于卖家的属性。适用于卖方的属性取决于其行业。平均而言,一个行业只有四个属性是适用的。每个行业的最大属性是 12 个属性(到目前为止)。

目前,我将每个属性表示为 Seller 表中的一列。我有 21 个属性,因此有 21 个对应的列允许在卖方表上为空。

该应用程序是相当新的(3 个月),业务在这段时间内请求了 6 个新属性(总共 27 个属性)。我猜将来会继续请求更多属性。我现在质疑将每个属性作为卖方中的一列的选择。有没有更好的方法在数据库中对此进行建模?

我有人提到有一个名为属性的列。该列将是 XML 类型。将包含属性名称(与行业相关)及其对应值的 XML。这是一个好方法吗?

编辑 有154个行业。因此,许多行业具有共同的属性。

4

1 回答 1

1

如果属性是行业属性。属于行业表,否则属于卖家列。如果它是“每个供应商”但“取决于行业”,您应该为此创建更多表:seller_industry_attributes(每个行业一个表)。

例如,如果您有以下行业:

  • 教育
  • 网络

那么你应该有以下表格:

  • 教育属性
  • web_attributes

education_attributes例如,表应包含列:seller_id 和每个属性一列,因此,对于同一个示例,如果我们具有以下属性:

  • 在职员工人数
  • 研究对象
  • ETC

那么education_attributes表应该有列:

  • 卖家ID
  • 在职员工人数
  • 主题
于 2013-05-08T18:12:10.263 回答