首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >量纲建模

量纲建模
EN

Stack Overflow用户
提问于 2013-03-25 23:58:53
回答 2查看 459关注 0票数 5

我试图为客户偏好构建一个维度,从多个表中获取资源。

源表的示例如下:

我已经建立了迪姆客户,现在我必须设计客户偏好维度。新的维度将是SCD1;总是有客户最新的首选项。但是,给定的客户可以有多个组合。

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

突出显示的列将为客户提供唯一的首选项。*客户可以有多种偏好。

如果在未来的业务中引入一些更多的首选项,并希望包括在维度中,该怎么办?然后,我必须将这些属性放在上面的表中,还有使其独特的键。

更好的做法是按每个偏好进行单个维度,还是将所有维度合并成一个大维度(如上面所示)。

请提出建议。

编辑:

根据我的阅读,我理解我必须在我的Customer和其他客户偏好维度之间设计一个桥接表。

我的计划是为所有组合的每个偏好类型创建CustomerPreference维度。并将它们映射到一个桥接表中,在那里可以有多到多个客户偏好关系。

示例如下

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

还是这条路是对的?

编辑: 27-03-2013

根据庞德生命的建议,我将采用雪花法,如下所示:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-26 12:46:26

您还没有提到您的事实表,这可能是决策中的一个关键因素。如果首选项只适用于客户,并且与事实完全无关,那么您可以使用雪花模型添加一个只链接到customer维度的customers表。

但是您提到了“每个偏好的个人维度”,这意味着偏好可能与事实直接相关。在这种情况下,如果您实际上有有限的可能的首选项(从您提供的信息来看并不十分清楚),包含所有可能的首选项组合的小尺寸可能是一个更好的选择。

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

  1. 事实表代表什么?
  2. 如果首选项与事实或客户相关联
  3. 如果一个客户(或事实?)拥有最多3种偏好(营销、平台和体裁),或未定义的数量(例如3种营销偏好、10种平台偏好、2种类型偏好)
票数 4
EN

Stack Overflow用户

发布于 2013-03-26 23:44:51

您已经得到了用于客户偏好的可怕的“实体-属性-值”模型,因为开发人员认为,当添加新的首选项时,不必对数据库进行更改,从而使他们的生活“更容易”。当然,这会让你的生活更加艰难。

目前,我正在类似的情况下工作,并且已经找到了最简单的方法来建模客户偏好,就像您自己发现的那样,使用属性桥接器表,特别是当它对许多人来说是非常多的时候。

真正需要问的问题是,对这些偏好要做什么样的分析?如果你只是要根据偏好过滤客户,那么对这一组客户进行事实分析,许多桥梁应该能起到这个作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15627025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档