3NF的Star Schema设计

时间:2016-07-25 15:42:44

标签: database data-warehouse olap bids star-schema

我是数据仓库的新手,我一直在阅读有关原则的文章和观看视频,但我对如何采用下面的设计并将其转换为星型模式感到困惑。

在所有的例子中,我看到事实表引用了dim表,所以我假设questionId和responseId是事实表的一部分?任何建议都将不胜感激。

enter image description here

3 个答案:

答案 0 :(得分:2)

此刻我无法看到图像(被办公室的防火墙阻挡)。但我会尝试给你一些想法。

一般的想法是组织您可测量的事实'进入所谓的事实表。有三种主要类型的事实,但这是一个不同日子的主题(但如果需要,我很乐意进入这个)。这些事实中的每一个都是您在典型的星级模式中心所看到的。事实表中的其他属性通常是对维度表的FK引用。

关于维度,这些是共享共性的属性组(最值得注意的是日历维度)。这很重要,因为当您跨多个事实进行分析时,维度就是您用来连接它们的尺寸。

如果您考虑这个简单示例:订购产品然后发货。我们可以有2个交易事实(一个包含有序的数量 - 度量,订购的产品类型 - 维度和交易日期 - 维度)。我们还有产品发货的交易事实(发货数量 - 尺寸,产品类型 - 尺寸和发货日期 - 尺寸)。这个简单的架构可用于回答诸如“上个季度按产品类型划分的产品数量但未发货”等问题。

希望这有助于您开始使用。

答案 1 :(得分:0)

通常情况表用于汇总度量 - 它们始终是数字。例如:销售额,距离,重量,销售的商品数量。

您在此处绘制的数据类型没有任何剪切和干燥的“度量”,因此您需要决定要测量的内容。每个问题的答案数量是多少?每个样本的响应数量是多少?

这通常称为事件事实表(如果您要搜索其他示例)。在将其转换为星型模式之前,您需要某种报告要求。所以这不是一个简单的答案......

答案 2 :(得分:0)

太简单了 :) 响应是事实,所有其他都是维度。而且您的模式现在是星级设计的,因为您可以直接将事实与所有维度联系起来。例如,当您需要重新设计其结构时,地址存储在单独的表中并与示例相关。您必须将地址表 ID 添加到响应表中才能获取星型架构。