数仓建模
1. ER建模/关系建模/维度建模
业务层次--领域模型--逻辑模型--物理层次(实体方面,真实存在)
1. 业务层次--物理层次
机试题(单纯增删改查)
小型案例项目(多套增删改查)
例子:
开一个小卖店,店主自己统计收益情况
什么时间,卖/买了什么对象,多少件,多少钱
2. 业务层次--逻辑模型--物理层次
例子:
开一个小卖店,连锁管理者统计经营情况(业务)
(业务需求发生变化,但是实际物理数据没有任何变化)
什么时间,什么样的人,买/卖了什么品牌的东西
进店多久,多少件,多少钱,支付方式
查看哪种商品买的多,进行进一步的调整
店里制作的食品类,多少人,多少钱 150,400
饮品类,多少人,多少钱 100,500
生活用品类,多少人,多少钱 30,300
查看留住哪类人,设置喜好
老太太 10min 1 现金 打折水果
学生 1min 20 支付宝 零食饮料
3. 业务层次--领域模型--逻辑模型--物理层次
经济方面研究,统计一个城市居民消费习惯(业务模型)
饭店,娱乐,超市,网购。。。
超市(主题域):大超市 小超市(主题) 地摊。。
小超市:。。。我们的品牌。。。
我们的品牌:店1,店2进来一个买东西的人(实体)
2. 建模的目的
(业务1, 业务2) -- 数据仓库1
(业务1新, 业务2新) -- 数据仓库2 这样不好
(业务1, 业务2) -- 数据仓库1
(业务1新, 业务2新) -- 数据仓库1 + 一点新变化,这样比较理想
3. 数据仓库模型
四个过程,层次划分
业务模型->领域模型->逻辑模型->物理模型
业务建模:解决业务层面的分解和程序化
领域建模:对业务模型进行抽象处理,生产领域概念
逻辑建模:将领域模型的概念实体以及实体之间的关系进行数据层次的逻辑化
物理建模:逻辑模型针对不同关系的数据的物理化以及性能等一些具体技术问题的解决(做搜索引擎的事情)
概念实体:加工后供上级使用的数据
4. 发展过程
三个阶段:
(1)简单报表阶段:通过原始数据,以及结构化查询条件生成一些简单的能够辅助决策的汇总数据,表现形式大多是关系型数据库和前端报表工具
(2)数据集市阶段:根据某个业务部门或模块的需要,进行一定的数据采集,整理进行多维报表的展现,能够提供对特定业务指导的数据
(3)数据仓库阶段:按照一定的数据模型,对整体的(全模块的,多部门的)数据进行采集整理,并且能够按照个业务模块的需要,提供跨模块的,
完全一致的业务报表数据,能够通过数据仓库生成对业务具有指导性的数据。
5. 如何建立(自行百度)
数据模型大概包括5个部分
- 系统记录域
- 汇总域
- 分析域
- 反馈域
- 内部管理域
6.建模方法
维度建模(星型架构)
实际步骤:
- 确定数据的处理阶段(3种)
- 确定业务层需求和物理层数据来源
- 清晰数据结构的作用域
- 数据血缘追踪
- 减少重复开发(设计一些通用的中间层数据)
业务阐述:
主题域的划分:购买(定座,排行),信息(社区,发现)
主题:社区,发现。。。
三个星型的模型:
不要根据表现层的或代码层的一些框架要求 设计数据结构
有了数据结构之后,可以适当加入那些特殊需求。
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16336229.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?