暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
数仓建模对比.docx
10
8页
1次
2025-04-01
免费下载
数仓建模
一、 范式建模
这样的设计方式是在关系型数据库中常用的,
Inmon
的范式建模法的最大
比较方便的实现数据仓库的建模。
1.1
范式化模型设计需满足下面三大范式:
1.1.1
第一范式(
1NF
:
原子性 字段不可再分
,
否则就不是关系数据
;
1.1.2
第二范式(
2NF
:
唯一性 一个表只说明一个事物
;
1.1.3
第三范式(
3NF
:
列都与主键有直接关系,不存在传递依赖
;
1.2
特点:
同一份数据只存放在一个地方,因此只能从一个地方获取,没有
数据冗余,保证了数据一致性;
解耦(系统级与业务级),方便维护;
设计思路自上而下,适合上游基础数据存储,同一份数据只存储
一份,没有数据冗余,方便解耦,易维护,缺点是开发周期一般
比较长,维护成本高;
二、维度建模
维度建模是一种将数据结构化的逻辑设计方法,它将客观世界划分为度量
和上下文。度量是常常是以数值形式出现,事实周围有上下文包围着,这种上
下文被直观地分成独立的逻辑块,称之为维度。维度建模是面向分析,为了提
高查询性能可以增加数据冗余,反规范化的设计技术。
2.1
特点:
模型结构简单,星型模型为主
开发周期短,能够快速迭代
维护成本较高
维度建模是面向分析,为了提高查询性能可以增加数据冗余,反规范化的设
计技术
设计思路是自下而上,适合下游应用数据存储,适合统计多层次维度的汇
总,开发周期短,缺点是维护成本高
2.2
维度建模的常见模式
2.2.1
星形模式
星形模式
(Star Schema)
是最常用的维度建模方式,下图展示了使用星形模
式进行维度建模的关系结构:
维度 C
维度 C
维度 B
维度 B
事实表
事实表
维度 A
维度 A
维度 D
维度 D
FK FK
FK
FK
可以看出,星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:
a.
维表只和事实表关联,维表之间没有关联;
b.
每个维表的主码为单列,且该主码放置在事实表中,作为两边连
接的外码;
c.
以事实表为核心,维表围绕核心呈星形分布;
2.2.2
雪花模式
雪花模式
(Snowflake Schema)
是对星形模式的扩展,每个维表可继续向外连接
多个子维表。下图为使用雪花模式进行维度建模的关系结构:
星形模式中的维表相对雪花模式来说要大,而且不满足规范化设计。雪花模型
相当于将星形模式的大维表拆分成小维表,满足了规范化设计。然而这种模式
维度表 C
维度表 C
维度表 B
维度表 B
事实表
事实表
…….
…….
维度表 E
维度表 E
维度表 A
维度表 A
维度表 D
维度表 D
FK
FK
FK
FK
FK
FK
维度表 B1
维度表 B1
维度表 B2
维度表 B2
维度表 A1
维度表 A1
FK
FK
…….
…….
维度 E
维度 E
FK FK
of 8
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。