小编dex*_*ter的帖子

建模层次属性

我正在尝试找出零售商的数据模型。

该零售商在全国拥有多家商店,它们使用以下层次结构进行建模:

Channel -> Zone -> City -> Store
Run Code Online (Sandbox Code Playgroud)

每家商店都包含几篇文章。每篇文章都有这样的属性

  • 激活标志(这表明文章的存在)
  • 价钱
  • 供应商
  • 仓库

现在,零售商可以在层次结构中的任何级别设置这些属性。考虑以下情况:

  • 在渠道级别为商品设置价格将应用于所有商店。
  • 设置在更高级别的价格可以在任何其他级别被覆盖。例如,在城市级别仅针对城市中的商店或特定商店。
  • 这适用于上面列出的所有属性。

到目前为止,他们已经使用 RDBMS 对其进行建模,方法是在层次结构的顶部定义全局规则,并将异常作为单独的行单独调用。比如说,价格表将在渠道级别为文章设置价格,任何级别的任何更改都将单独指定。显然,这在获取商店级别的属性时效率不高。

样本数据

假设 Channel、Zone、City 和 Store 统称为实体。频道的 ID 范围 >= 4000,区域 >= 3000,城市 >= 2000,商店范围从 1 到 1000。

下面给出了层次关系数据的一个子集:

Channel   | Zone     | City    | Store |
----------+----------+------------------
4001      | 3001     | 2001    | 13    |
4001      | 3001     | 2001    | 14    |
4001      | 3001     | 2002    | 15    |
4001      | 3002     | 2003    | 16    | …
Run Code Online (Sandbox Code Playgroud)

tree database-design hierarchy

5
推荐指数
1
解决办法
969
查看次数

标签 统计

database-design ×1

hierarchy ×1

tree ×1