sql – 数据库仓库设计:事实表和维度表

前端之家收集整理的这篇文章主要介绍了sql – 数据库仓库设计:事实表和维度表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用RDBMS建立一个穷人的数据仓库.我已经确定要记录的关键“属性”:

> sex(true / false)
>人口统计分类(A,B,C等)
>出生地
>出生日期
>体重(每天记录):正在记录的事实

我的要求是能够运行“OLAP”查询,允许我:

“切片和骰子”
>“向上/向下”数据和
>一般来说,能够从不同的角度查看数据

在阅读本主题领域之后,普遍的共识似乎是使用维度表而不是标准化表来最好地实现.

假设这个断言是真的(即解决方案最好使用事实和维度表实现),我想在这些表的设计中寻求一些帮助.

“自然”(或明显)的维度是:

>日期维度
>地理位置

哪些具有层次属性.但是,我正在努力建模以下领域:

> sex(true / false)
>人口统计分类(A,C等)

我正在努力与这些领域的原因是:

>他们没有明显的层次属性,这将有助于聚合(AFAIA) – 这表明它们应该在事实表中
>他们大多是静态的或很少改变 – 这表明它们应该在维度表中.

也许我上面使用的启发式原则太粗糙了

我将给出一些关于我想在数据仓库上进行分析的类型的例子,希望这将进一步澄清.

我想根据性别和人口统计分类统计和分析数据.回答问题:

>男性和女性的权重如何比较不同的人口统计分类
>哪个人口统计分类(男性和女性)在本季度呈现最大的增长.

等等

任何人都可以澄清性别和人口分类是事实表的一部分,还是(我怀疑)维度表.

还假设它们是维度表,有人可以详细说明表结构(即字段)吗?

“明显”模式:

CREATE TABLE sex_type (is_male int);
CREATE TABLE demographic_category (id int,name varchar(4));

可能不是正确的.

解决方法

不知道为什么你觉得使用RDBMS是穷人的解决方案,但希望这可能有所帮助.

表格dimGeography和dimDemographic是所谓的小尺寸;它们允许基于人口统计学和地理学进行切片,而不必加入dimUser,并且还可以在测量时捕获用户当前的人口统计学和地理学.

顺便说一下,在DW世界里,详细 – 性别=’女’,AgeGroup = ’30 -35′,EducationLevel =’大学’等

猜你在找的MsSQL相关文章