【问题标题】:Basic questions regarding Data Warehousing关于数据仓库的基本问题
【发布时间】:2014-04-19 05:10:33
【问题描述】:

我想使用 OLAP 多维数据集,必须先设计一个数据仓库。我要使用星型模式。我对如何从普通数据库转换为数据仓库有点困惑,尤其是关于维度表之间的外键。我知道事实表有维度的外键,但是维度之间有外键吗?例如,我需要如何处理以下 2 个示例:

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

当我创建 Airports 维度时,是否要删除 CityId 并代之以城市名称?还是什么?

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

这个问题大部分是相同的,但有点复杂,因为这里 ParentId 指的是同一个表(区域).. 示例:一个 City 可以指一个父 Country 记录。如何将这些转换为数据仓库星型架构?

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

【问题讨论】:

    标签: sql-server ssas data-warehouse olap


    【解决方案1】:

    您希望在机场维度中包含城市。您有意扁平化您的规范化模式以提高维度模型的速度,如果您来自事务性开发,这似乎与直觉相悖。

    关于常年子女关系,您希望将 parented 转换为区域记录的代理项。在您设计多维数据集时,Ssas 将提供关联父子记录的功能。

    多个事实并不罕见,但除非事实数据完全不相关,否则没有必要将它们分成不同的立方体。对多个事实的需求将由不同粒度的数据驱动。将所有指标(即航班)放在一起,但您会将航班指标与食品销售指标分开

    【讨论】:

      【解决方案2】:

      您没有转换为数据仓库,您正在创建具有少量维度和 1 个(至少)事实表的新数据仓库。首先加载维度表,您不想用名称更改 id。 您需要每个维度表的附加键。一旦你加载维度,我通常使用 ssis 包来加载事实表。(增量加载或者你可以在每次加载新数据之前截断事实表(取决于你需要什么)......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-20
        • 1970-01-01
        • 2021-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多