我正在尝试找出零售商的数据模型。
该零售商在全国拥有多家商店,它们使用以下层次结构进行建模:
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)