我应该如何建模数据库模式以适应许多依赖列,并灵活地轻松添加新列



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

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

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

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

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

如果该属性是一个行业属性。它属于行业表,否则属于seller列。如果它是"每个供应商",但"行业依赖",您应该为此创建更多的表:seller_industry_attributes(每个行业一个表)。

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

    <
  • 教育/gh>
  • web

  • education_attributes
  • web_attributes
例如,

education_attributes表应该包含以下列:Seller_id和每个属性一列,因此,对于相同的示例,我们有属性:

  • 员工人数
  • 研究对象

education_attributes表应该包含以下列:

  • seller_id
  • number_of_employees
  • <
  • 主题/gh>

最新更新