- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
个推TechDay治数训练营第一期:数据仓库与维度建模(下)
为推动企业数字化进程不断加速,帮助大数据从业人员快速提升数据开发和分析技能,数据智能服务商每日互动(个推)结合自身多年来的数据挖掘和治理经验,特别打造推出系列线上课程——个推TechDay“治数训练营”。
2022年个推TechDay“治数训练营”首期课程围绕数仓建设与数据建模展开,从理论精讲到方法梳理再到实例教学,带你深入浅出,快速入门数据仓库,跑通复杂业务数据建模全流程。
展开查看详情
1 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 数据仓库 与 y“ 治 数维度建模 训 练 hD a Tec 主讲人:个推 推 个每日治数平台事业部 慕远 营” 训练 治 数 y“ h Da T ec 个推 个推TechDay“治数训练营”
2 . ” 数据仓库 与 维度建模 练营 数训 治 hDay“ T e c 个 推 什么是 为什么要建 营” 怎么建设 数据仓库 数据仓库 数训练 数据仓库 “治 D a y ec h 推T 个 营” 训 练 范式建模 治 数 维度建模 维度建模案例 D a y“ Te ch 个 推 2022年个推TechDay“治数训练营”
3 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 什么是数据仓库? 个 推T 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
4 . 数据仓库发展历史 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
5 . ” 什么是数据仓库? 数训 练营 治 Inmon提出,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支 D a y“ 持管理决策。 T ech 个推 • 面向主题: ” • 数据按主题域进行组织(主题是指用户进行分析决策时所关心的重点方面) 练 营 • 如电商业务有商品主题域、用户主题域、交易主题域等 数 训 “治 a y • 集成: ec hD T • 数据有来自于分散的操作型业务数据(将所需数据从原来的数据中抽取、加工,集成进入数 推 据仓库) 个 营” • 相对稳定: 训 练 数 • 数据基本不更新,主要是提供数据的查询 治 D a y“ • 反映历史变化: T ech 个•推记录数据的历史变化 2022年个推TechDay“治数训练营”
6 . 营” 什么是数据仓库? 治 数训 练 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
7 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD T 为什么要建数据仓库? ” 个 推 练 营 数 训 “治 h Day T ec 个推 2022年个推TechDay“治数训练营”
8 . ” 何时要建数据仓库? 数训 练营 治 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 练 训 治 数 y“ 1、想要集中化管理数据,解决数据孤岛 h Da T ec 2、想要数据驱动业务,借助大数据的⼒量来提升产品竞争力 个推 3、希望以更高效的方式使用数据(业务系统与分析系统 根据特点设计不同架构) 2022年个推TechDay“治数训练营”
9 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 y “ 数据仓库怎么建设?hD a ec 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
10 . ” 为什么要数据建模? 数训 练营 治 • 数据模型: ay“ hD • 就是数据组织和存储方法,它强调从业务以及数据的存取和使用角度合理存储数据。 T e c 个 推 营” • 良好模型的好处: 训 练 • 性能:能快速查询所需要的数据,减少数据的I/O吞吐 治 数 a y “ ec hD • 成本:能极大地减少不必要的数据冗余,也能实现计算结果复用,极大地降低存储和计算成本 推T • 效率:能极大地改善用户使用数据的体验,提高使用数据的效率 个 ” • 质量:能改善数据统计口径的不一致性,减少数据计算错误的可能性 营 训 练 • 数 大数据系统需要数据模型方法来帮助更好地组织和存储数据,使性能、成本、效率和质量之间取得最佳 治 平衡 D a y“ T ech 个推 2022年个推TechDay“治数训练营”
11 . 经典的数据建模方法 训 练营” 治 数 范式建模: ay“ hD T e c • 站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系的抽象 推 个 • 特点:需要全面了解企业业务和数据、实施周期长、对建模人员的能力要求高 ” 练 营 维度建模: 训 治 数 • 从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需 y “ hD a 求分析,同时具有较好的大规模复杂查询的响应性能 T ec 个 推 营” 训 练 治 数 D a y“ T ech 个推 2022年个推TechDay“治数训练营”
12 . ” 从OLTP和OLAP区别看模型方法选择 练营 数训 治 hDay“ T e c • OLTP 系统:(On-line Transaction Processing :联机事务处理) 推 个 • 面向随机读写数据操作 ” 练 营 • 主要采用满3NF 实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题 训 治 数 Day“ ech:联机分析处理) • OLAP 系统:(On-line Analytical Processing T • 面向批量读写数据操作 个 推 ” 练营 • 不关注事务处理一致性,主要关注数据的整合,以及在大数据查询和处理中的性能 训 治数 • 一般采用维度建模 D a y“ Te ch 个 推 2022年个推TechDay“治数训练营”
13 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 a y “ hD 范式建模 个 推T ec 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
14 . ” 范式建模 数训 练营 治 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
15 . ” E-R模型 数训 练营 治 hD 在信息系统中,将事物抽象为“实体”“属性”‘关系”,来表示数据关联和事物。 ay“ T ec 这种对数据的抽象建模通常被称为“ER实体关系模型”。 个推 营” 训练 治数 实体:通常为参与到过程中的主体(比如:商品、用户) “ a y 属性:对主体的描述、 修饰即为属性 echD T (比如:商品的属性有商品名称、 颜色、尺寸 等)个推 营” 练 关系:现实的物理事件是依附于实体的 训 治 数 D a y“ (比如:用户购买商品事件,依附实体用户、商品;会有“购买数量”,“金额”的属性产品) T ech 个推 2022年个推TechDay“治数训练营”
16 . ” 实体间的关系 数训 练营 治 实体之间建立关系时,存在对照关系: hDay“ T e c 个 推 1:1 即1对1的关系。(比如:实体人、 身份证,,一个人有且仅有一个身份证号) 营” 练 1:n 数训 即1对多的关系。(比如:实体学生、 班级;1个学生,仅属于1个班級, 而在1个 治 a y “ 班级中,可以有多个学生) hD Tec 个 推 n:m 即多对多的关系。(比如:实体学生、 ” 课程, 每个学生可以选修多门课程,同样 练 营 每个课程也可以被多个学生选修) 训 治数 D a y“ Te ch 个 推 2022年个推TechDay“治数训练营”
17 . E-R图 训 练营” 治 数 在日常建模过程中,需要梳理实体关系属性,并画出相应的E-R图: hDay“ T e c 个 推 营” “实体”用矩形表示: 练 数 训 “治 a y “关系”用菱形表示: ec hD 推T 个 营” “属性”用椭圆形表示: 训 练 治 数 D a y“ T ech 个推 2022年个推TechDay“治数训练营”
18 . ” 模型设计步骤 数训 练营 治 hDay“ T e c 个 推 1. 抽象出主体 营” 2. 梳理主体之间的关系 训 练 治 数 3. 梳理主体的属性 y “ hD a ec 4. 画出E-R关系图 T 个 推 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
19 . ” 案例 数训 练营 治 ay“ hD 场景:课程管理系统 e c 推T 该系统主要用来管理某校教师、学生、课程,其中包括课程选修、考试、教师授课、 个 学生班级管理功能, 现需要完成数据库逻辑模型设计。 营 ” 训 练 治 数 a y “ 逻辑模型具体实现: hD T ec • 实体:教师、课程、学生、班级 推 个 • 关系:教师讲授课程、学生选修课程、学生隶属班级等 ” 练 营 • 实体属性 数 训 治 • E-R关系图 D a y“ T ech 个推 2022年个推TechDay“治数训练营”
20 . ” 案例 数训 练营 治 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
21 . ” 案例 数训 练营 治 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”
22 . 范式 训 练营” 治 数 范式:设计模型时遵从不同的规范要求,设计出合理的模型。 hDay“ T e c 这些不同的规范要求被称为不同的范式,越高的范式数据库冗余越小。 推 个 营” 数据库范式的分类: 训 练 治 数 • 第一范式(1NF) y “ hD a • 第二范式(2NF) T ec 个 推 • 第三范式(3NF) • 巴斯-科德范式 练 营” (BCNF) 数 训 • 第五范式(5NF) 治 y“ Da • ch第六范式(6NF) e 个推T 2022年个推TechDay“治数训练营”
23 . 1NF 营” 训 练 治 数 Day“ 定义:符合1NF的关系中的每个属性都不可再分 Tech 个推 营” 训 练 治 数 a y “ ec hD 推T 个 营” 训 练 治 数 D a y“ ech T 个推 2022年个推TechDay“治数训练营”
24 . 1NF 训 练营” 1NF的问题: 治 数 • 数据冗余过大: 如 学号、姓名、系名、系主任 数据冗余 ay“ hD T e c • 插入异常:假如学校新建一个系,但还没招收学生,则无法将系名与系主任 单独地添加到数据表中 推 个 • 删除异常:假如将某个系中所有学生相关的记录都删除,那么所有系与系主任的数据也就随之消失了 营” • 修改异常:假如李小明转到法律系,需要修改三条记录中系与系主任的数据 训 练 治 数 a y “ ec hD 推T 个 ” 学生分数表 练 营 数 训 “治 Da y c h 推Te 个 2022年个推TechDay“治数训练营”
25 . 2NF 营” 训 练 治 数 定义:在1NF的基础之上,消除了非主属性对于码的部分函数依赖。 D a y“ T ech 个 推 存在部分依赖 消除部分依赖 营” 训 练 治 数 a y “ ec hD 推T 个 营” 训 练 治 数 学生成绩表的码是:“学号”+“课名”,“分数”依赖“学号” y“ +“ 课名” D a T ech 但姓名、系名、系主任都只需依赖学号,所以存在部分依赖 个推 2022年个推TechDay“治数训练营”
26 . ” 2NF 数训 练营 治 消除部分依赖 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 治 数 y“ h Da T ec 问题: 个推 • 数据冗余(在1NF上 有改进) • 插入异常(在1NF上 无改进) • 删除异常(在1NF上 无改进) 2022年个推TechDay“治数训练营” • 修改异常(在1NF上 有改进)
27 . 3NF 训 练营” 治 数 a y“ 定义:2NF的基础之上,消除了非主属性对于码的传递函数依赖。 D T ech 个推 存在传递依赖 营” 消除传递依赖 训 练 治 数 a y “ ec hD 推T 个 营” 训 练 治 数 a y“ “系主任”依赖“系名”,“系名”依赖“学号”,存在传递依赖 D T ech 个推 2022年个推TechDay“治数训练营”
28 . 3NF 训 练营” 治 数 消除传递依赖 hDay“ T e c 个 推 营” 训练 治 数 a y “ ec hD 推T 个 营” 训练 数 问题: “治 • 数据冗余(有改进) Da y ech • 插入异常(有改进) T • 删除异常(有改进) 个推 • 修改异常(有改进) 2022年个推TechDay“治数训练营”
29 . 营” 训 练 治 数 hDay“ T e c 个 推 营” 训练 治 数 y “ 维度建模 a hD ec 推T 个 营” 训练 治 数 y“ h Da T ec 个推 2022年个推TechDay“治数训练营”