【问题标题】:Dimensional Modelling维度建模
【发布时间】:2013-03-15 15:43:55
【问题描述】:

我正在尝试为来自多个表的客户偏好构建维度。

源表示例如下:

我已经构建了 Dim Customer,现在我必须设计 Customer Preference Dimension。新维度将是 SCD1;始终拥有客户的最新偏好。但是给定的客户可以有多种组合。

现在我的问题:为每个偏好表设计维度是否好,我是否应该将客户的所有偏好属性放入一个单一维度表中,如下所示:

突出显示的列将使客户具有独特的偏好。 *客户可以有多种偏好。

如果未来业务引入更多偏好并希望包含在维度中怎么办。然后我必须将这些属性以及使唯一的键带到上表中。

是按照偏好做单独的维度,还是像上面那样将所有维度合并到一个大维度中更好。

请提出建议。

编辑:

进一步阅读,我了解到我必须在我的 Customer Dim 和其他 Customer Preference 维度之间设计一个桥接表。

我的计划是为每种偏好类型和所有组合创建客户偏好维度。并将这些映射到一个可以有多对多客户偏好关系的桥接表中。

示例如下

这是正确的做法还是有任何最佳做法。

[或]这是正确的方法吗?

编辑:27-03-2013

根据 Pondlife 的建议,我将采用 Snowflake 方法如下:

【问题讨论】:

  • 不知道为什么这个问题被选为“关闭”。投票支持这个的人似乎都没有维度建模经验。而网站允许发布带有“Dimensina-Modelling”标签的问题。并且不确定这个问题如何与编程或软件开发无关。如果你回顾一下 Stackoverflow 上关于“维度建模”的问题的历史,就会发现很多问题都得到了很好的回答。
  • 不知道为什么这个问题被选为“关闭”。投票支持这个的人似乎都没有维度建模经验。而网站允许发布带有“Dimensina-Modelling”标签的问题。并且不确定这个问题如何与编程或软件开发无关。如果你回顾一下 Stackoverflow 上关于“维度建模”的问题的历史,就会发现很多问题都得到了很好的回答。如果您不明白,请不要使用您的特权来否决问题。

标签: sql-server-2012 data-warehouse dimensional-modeling


【解决方案1】:

您没有对事实表发表任何意见,这可能是决定的关键因素。如果偏好仅适用于客户并且与事实完全无关,那么您可以使用snowflake model 添加仅链接到客户维度的客户偏好表。

但是您提到了“每个偏好的各个维度”,这表明偏好可能与事实直接相关。在这种情况下,如果您对每个事实的可能偏好数量有限(从您提供的信息中并不清楚这一点),那么包含所有可能偏好组合的mini-dimension 可能是更好的选择。

如果这没有帮助,我建议您澄清以下几点:

  1. 事实表代表什么
  2. 如果偏好与事实或客户相关
  3. 如果一位客户(或事实?)最多有 3 个偏好(营销、平台和类型),或一个未定义的数字(例如 3 个营销偏好、10 个平台偏好、2 个类型偏好)

【讨论】:

  • 没有关联的事实,偏好仅与客户关联。是的,每个客户都可以像您所说的那样有未定义的偏好数量,例如3 种营销偏好、10 种平台偏好、2 种类型偏好
  • 我打算按照你所说的为每个偏好类型使用所有可能的组合的小尺寸,然后在 Bridge 表(无事实表)中与客户链接。
  • 是的,这些偏好仅适用于客户,与事实完全无关。只有客户与事实相关联。
  • 如果偏好的数量不同,那么迷你维度并不适合,因为可能的组合数量是无限的。我可能会采用雪花方法并添加一个链接到客户维度的客户偏好表。它不是“干净”的,但纯星型模式无论如何都不太适合这种情况。
【解决方案2】:

对于客户偏好,您已经获得了可怕的“实体-属性-值”模型,因为开发人员认为在添加新偏好时无需更改数据库,这让他们的生活“更轻松”。当然,这会让你的生活变得更加艰难。

我目前在类似情况下工作,并且发现建模客户偏好的最简单方法是使用属性桥表,正如您自己发现的那样,尤其是当它确实是多对多时。

需要问的真正问题是将对这些偏好进行什么样的分析?如果您只是要根据偏好过滤客户,然后与那组客户一起了解事实,那么多对多桥应该可以解决问题。

【讨论】:

  • 感谢您的建议。我的偏好维度仅针对 Customer Dim,并且我将按照 @Pondlife 的建议将 Customer Preference Dim 链接到 Customer Dim,从而采用 Snowflake 方法。如果在其他地方使用这些偏好维度,我会使用桥接表(无事实的事实)。
  • 是否存在客户可以拥有多个相同类型偏好的情况?您可能需要雪花中的属性桥表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多