常识学习网

当前位置:主页首页 > 生活课堂 > >

第二篇:数据龙火护符仓库与数据集市建模

来源::网络整理 | 作者:管理员 | 时间:2018-09-09 14:15

        数据仓库建模包含了几种数据建模技术,除了之前在数据库系列中介绍过的ER建模和关系建模,还包括专门针对数据仓库建模技术。

        本文将详细介绍数据仓库建模技术,并重点讨论三种基于ER建模/关系建模/建模的数据仓库总体建模体系:规范化数据仓库,建模数据仓库,以及独立数据集市

建模的基本概念

        建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。

        它本身属于一种关系建模方法,但和之前在操作型数据库中介绍的关系建模方法相比增加了两个概念:

        1. 维度表(dimension)

        表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个:时间(昨天早上),地点(京东), 商品(皮包)。通常来说维度表信息比较固定,121枪杀大案,且数据量小。

        2. 事实表(fact table)

        表示对分析主题的度量。比如上面那个例子中,200元就是事实信息。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。

        注:在数据仓库中不需要严格遵守规范化设计原则(具体原因请看上篇)。本文示例中的主码,外码均只表示一种对应关系,此处特别说明

建模的三种模式

        1. 星形模式

        星形模式(Star Schema)是最常用的建模方式,下图展示了使用星形模式进行建模的关系结构:

        可以看出,星形模式的建模由一个事实表和一组维表成,且具有以下特点:

                a. 维表只和事实表关联,维表之间没有关联;

                b. 每个维表的主码为单列,且该主码放置在事实表中,作为两边连接的外码;

                c. 以事实表为核心,维表围绕核心呈星形分布;

        2. 雪花模式

        雪花模式(Snowflake Schema)是对星形模式的扩展,每个维表可继续向外连接多个子维表。下图为使用雪花模式进行建模的关系结构:

        星形模式中的表相对雪花模式来说要大,而且不满足规范化设计。雪花模型相当于将星形模式的大表拆分成小表,满足了规范化设计。然而这种模式在实际应用中很少见,因为这样做会导致开发难度增大,而数据冗余问题在数据仓库里并不严重。

        3. 星座模式

        星座模式(Fact Constellations Schema)也是星型模式的扩展。基于这种思想就有了星座模式:

        前面介绍的两种建模方法都是多维表对应单事实表,但在很多时候空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分建模都采用的是星座模式。

        4. 三种模式对比

        归纳一下,星形模式/雪花模式/星座模式的关系如下图所示:


分享到: 更多

热榜阅读TOP

本周TOP10

手指甲“月牙”反映健康状况 中医

手指甲“月牙”反映健康状况 中医

中医专家表示,中医从指甲上的月牙诊断一个人的健康是科学的,而且有一定的道理。健康人的月牙应该有七八...