有关数据仓库的基本问题

时间:2014-04-19 05:10:33

标签: sql-server ssas data-warehouse olap

我想要使用OLAP多维数据集,并且必须首先设计数据仓库。我要去寻找明星模式。我对如何从普通数据库转换到数据仓库感到有点困惑,特别是关于维度表之间的外键。我知道一个事实表有维度的外键,但维度之间是否有外键?例如,我需要对以下两个示例做什么:

TABLE: Airports
COLUMNS: Id, Name, Code, CityId

当我制作机场维度时,是否要移除CityId并改为使用城市名称?或者是什么?

TABLE: Regions
COLUMNS: Id, Name, RegionType, ParentId

这个问题大致相同,但有点复杂,因为这里ParentId引用相同的表(Regions)。例如:City可以引用父Country记录。如何将这些转换为数据仓库星型模式?

最后,关于措施,这些都放在事实表上,对吧?我想我可能需要多个事实表。这是正常的吗?一个事实表是否转换为一个OLAP多维数据集?或者是什么?

2 个答案:

答案 0 :(得分:0)

您没有转换到数据仓库,您正在创建具有少量维度和1(至少)Fact表的新数据仓库。维度表首先加载,您不希望用名称更改ID。 每个维度表需要额外的密钥。一旦你加载维度,我通常使用ssis包来加载事实表。(增量加载或你可以在每次加载新数据之前截断事实表(取决于你需要的)...

答案 1 :(得分:0)

您希望在机场维度中包含城市。您有意将您的规范化模式展平,以帮助提高维度模型的速度,如果您来自事务开发,这似乎是反直觉的。

关于常年的孩子关系,你希望将父母翻译成区域记录的代理人。在设计多维数据集时,Ssas将提供关联父子记录的功能。

多个事实并不罕见,但除非事实数据完全不相关,否则无需将它们分成不同的立方体。通过使用不同粒度的数据来驱动对多个事实的要求。将所有指标(即航班)保持在一起,但您可以将航班指标与食品销售指标分开