数仓 - [02] 数据仓库模型设计
一、什么是数据模型
模型,指对于某个实际问题或者客观事物、规律进行抽象后的一种形式化表达方式。
数据模型,多指在设计和建立数据库时,用于提供数据表示和操作手段的形式架构。
企业数据模型,是企业数据特征的抽象,主要用来体现企业的业务规则以及信息。
二、数据模型的层次
概念模型:定义了重要的业务概念和彼此的关系,由核心实体或其集合,及实体间的业务关系组成。
逻辑模型:对概念数据模型的进一步分解和细化,描述实体、属性、以及实体与实体之间的关系。
物理模型:
- 描述模型实体的细节,对数据冗余与性能进行平衡。
- 关注数据库的物理实现,解决细节技术问题。
- 需要考虑数据类型、长度、索引等因素,需确定数据平台和架构。
三、关系模型
关系数据模型的规范化是一种组织数据的技术。
- 规范化方法对标进行分节,以消除数据冗余,避免异常更新,提高数据完整性
- 通过实体关系(E-R)描述企业业务和业务规则
关系模型 —— 3NF
- 数据表的每一列都是不可分割的原子数据项,即字段不可再分;(1NF)
“地址”字段可以再分为“省份”、“城市”、“街道”等更细的子字段。
- 数据表中的每一行都必须可以被唯一地标识,并且除了主键列外,其他列都完全依赖于主键列。(2NF)
“授课老师”列不完全依赖于主键“学号”,而是依赖于“课程名”。
- 每个非主键字段不能依赖于其他关系中的字段。(3NF)
四、维度模型
星型模型
(1)特点
- 表达维度和事实之间单层关系的模型
- 事实和每个维度之间都是直连关系
- 不同维度之间没有任何关联
(2)优点
- 简化查询
- 简化业务报表逻辑
- 提升查询性能
- 快速聚合
- 便于向立方体提供数据
雪花模型
(1)特点
- 基于星型模型之上拓展来的
- 一般是对星型模型的维度表进行了范式化,一个维度被规范化成多个关联的表。
- 一个规范化的维度对应一组具有层次关系的维度表,表达维度和事实之间多层关系。
(2)优点:规范化的维度属性节省存储空间。
星座模型
(1)特点:星型模型的延伸,多张事实表,且共享维度表。
— 要养成终生学习的习惯 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南