Sre*_*har 5 data-warehouse dimensional-modeling sql-server-2012
我正在尝试为多个表中的客户首选项构建维度.
源表的示例如下:

我已经建立了Dim Customer,现在我必须设计Customer Preference Dimension.新的维度将是SCD1; 始终拥有客户的最新偏好.但是给定的客户可以有多种组合.
现在我的问题:为每个Preference表设计维度是否好,我应该将客户的所有Preference属性都放到一个Dimension Table中,如下所示:

突出显示的列将使客户具有独特的偏好.*客户可以有多个偏好.
如果在未来的业务中引入了更多的偏好并希望包含在维度中,那该怎么办 然后我必须在上表中提供这些属性以及使其独特的键.
最好是按照偏好做单个尺寸,还是将所有尺寸合并为一个大尺寸,如上所述.
建议请.
编辑:
在我阅读之后,我了解到我必须在我的Customer Dim和其他Customer Preference Dimensions之间设计一个桥接表.
我计划的是为所有组合创建每个首选项类型的CustomerPreference维度.并将这些映射到桥接表中,其中可以具有多对多的客户偏好关系.
示例如下
这是正确的做法还是有任何最佳做法.

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

编辑:27-03-2013
根据Pondlife的建议,我将采用Snowflake方法,如下所示:

您还没有提及有关事实表的任何内容,这可能是决策的关键因素。如果偏好仅适用于客户并且与事实完全无关,那么您可以使用雪花模型添加仅链接到客户维度的客户偏好表。
但你提到“每个偏好的个人维度”,这表明偏好可能与事实直接相关。在这种情况下,如果每个事实的可能偏好数量有限(从您提供的信息中并不清楚),包含所有可能的偏好组合的迷你维度可能是更好的选择。
如果这没有帮助,我建议您澄清以下几点: