- 博客(21)
- 收藏
- 关注
转载 3-dw_缓慢变化维
上次我们理解了维度表,哪什么是缓慢变化维呢,比如我们有这样的一个场景,A客户在4月份的时候归属于X部门,在5月的时候归属于Y部门,如果A客户的销售额需要体现归属部门的变化关系。此时就需要用到缓慢变化维了。如下图就是对客户表的一个缓慢变化。 上面设计就是对每个月把客户生成一份数据,但如果我...
2019-05-19 19:37:00
83
转载 2-dw_事实表、维度表
事实表:记录公司的一笔正常的业务数据,需要提供4W,什么时候(When)在什么地方(Where)有哪些人(Who)做了什么事(What)。为了方便后续分析,在设计事实表的时候,我们应该尽可能的提供详细的维度信息和度量信息。 比如我们在谈一家物流公司的数据仓库的时候,如何去设计落地一个事实表,...
2019-05-19 19:36:00
109
转载 5-dw_星型模型和雪花模型
星型模型:由一个事实表连接多个维度表,图形显示像星星一样,在维度表上存在一定的数据冗余,如下图: 在上图中,我们的客户维表,对客户存储的省、市、县是有对数据一定的冗余,为了解决这个问题,设计出来的雪花模型。 雪花模型:为了减少数据的冗余,在星型模型的基础上,对维度表增加了维度,以减少数...
2019-05-19 19:34:00
203
转载 6-dw_元数据管理
元数据是帮助用户和技术人员对数据仓库里的数据理解,可以分为技术元数据和业务元数据。 技术元数据包含: 1:模型定义 定义数据仓库里各各种模型的功能,包括数据的口径,各个字段的含义,使用范围,出数时间和频率。 2:血缘定义 模型里的源头数据来源,ETL同步方式,时间,频率...
2019-05-19 19:33:00
117
转载 4-dw_退化维
目前是一个数据爆炸时代,数据量增长很快,很多的一些维度表数据量大到足可以影响到你的报表展示,比如一些企业的客户维度表,产品维度表等。 我们拿客户维度表来说,在客户维度表中,我们有客户代码,客户名称,月结客户代码,月结客户名称等,见如下图: 在有一些大客户上,他们很多分公司,所以在业务往...
2019-05-12 21:46:00
61
转载 1-dw_数据仓库
此系列主要是讲数据仓库的实战。主要包括如下 1:数据仓库的概念、事实表、维度表、缓慢变化维,退化维。 2:星型模型设计、雪花模型设计。 3:数据仓库元数据治理。 4:实战经验 在公司和企业里一般会有很多的业务系统,比如像销售、财务的、人资等各个部门都有自己为了开展工作或业务需要的系统...
2019-05-04 11:30:00
106
转载 13-oracle_数据库存储过程和包的开发
一:存储过程(图片左边的procedure目录): 在数据库的实际开发过程中,我们不可能每个脚本用人工的方式执行,需要自动的批量提交脚本到数据库执行,数据库就提供了像存储过程这样的对象,方便开发人员把处理某个功能或报表的逻辑写到存储过程里。 1)存储过程的优点: a.执行速度更快:在...
2019-05-04 11:29:00
71
转载 14-oracle_数据库开发过程
前面基础知识已经学的差不多了,我们更重要的是如何应用这些基础知识在工作中,把业务的需求通过这些知识点落地,在学习具体案例之前,怎么保证我们的开发过程正确,以下几点是大家在工作中需要经常记住的。 1:理解源头数据业务含义和格式。 我们在做任何开发之前,都应该熟悉源系统的业务,理解后台表...
2019-05-04 11:28:00
53
转载 12-oracle_分区
当表中的数据量不断增大,查询数据的速度就会变慢,这时就应该考虑对表进行分区。表分区后,逻辑上表仍然与原来表一样,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表的数据文件。 如上表就是分区前后的差异,在分区前这个表的数据全放在一个文件上,导致...
2019-04-14 10:20:00
62
转载 11-oracle_索引
索引大家可以理解为一本书里的目录,方便大家快速定位到自己要的章节,哪么在数据库里也一样,如果一个表数据有1000行数据,如何更快的查询到满足条件的记录,哪么索引就可以派上用场了,索引跟表一样,有自己的存储空间,只是表现形式不一样。 索引有很多种:分区和非分区索引、常规B树索引、位图(bitm...
2019-04-14 10:19:00
63
转载 10-oracle_表达式
1)关系表达式>,<,>=等 在我们做查询语句时,经常会在where后面加上关系表达式。返回逻辑为TRUE的记录。 select * from t_sales a where a.sales_amt > 5000; 所以结果只返回了销售额大于5000的记录...
2019-04-14 10:18:00
84
转载 9-oracle_union和union all
Union是对结果集的并集操作,会要求2个集合是要有相同的字段和类型。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序 Union all:对两个结果集进行并集操作,包括重复行,不进行排序 Union:我们对同一个表做2次查询,查询的结果并没有出现重复的...
2019-04-14 10:17:00
84
转载 7-oracle_分析函数(一)
1.分组聚合函数 聚合函数主要有求和:sum();最大数:max();最小数:min();平均值:avg();统计数:count()等,在应用此类函数的时候,要么是从全集合来看或者从分组来看的。分组就是我们之前所说的维度,比如在成绩表中,我们需要按科目求出总成绩,最低成绩,最高成绩,平均成绩...
2019-03-23 18:18:00
52
转载 8-oracle_分析函数(二)
1): Lead(),Lag() 其实这2个函数的作用非常好理解,Lead()就是取当前顺序的下一条记录,相对Lag()就是取当前顺序的上一行记录。 经常会有判断在一定条件下的两条记录之间的时间差、或者数值差这样的需求。 比如有一个员工号+部门+销售金额的表结构,现在求出每个部门的后一名...
2019-03-23 18:18:00
70
转载 5-oracle_创建表
表可以理解是数据库的一种复杂数据类型,用于存放具体数据的逻辑对象。 表的形式是一个二维表格,由行和列组成,在统计学里你可以把行理解为样本,列理解为特征,在数据仓库里行就是一个事实,列就是由维度和度量组成。 在创建表的时候,哪怎样去设计一个表的属性呢(列),比如我们要创建一个用户表,哪用户会...
2019-03-23 18:17:00
76
转载 6-oracle_表关联
表关联是对2个表的列合并,怎么合并呢,这里需要一个连接信息,也就是关联字段,比如一个学生表里有学号+班级+出生日期,另一个表里有学号+科目+成绩,哪如果需要得到学号+班级+科目+成绩这样的信息,这就需要表关联,关联的字段用什么呢,只能用这2个表共同相关的字段,也就是学号这个字段,这样就能把2个...
2019-03-23 18:17:00
149
转载 3-oracle_创建用户
oracle内部有两个建好的用户:system和sys。用户可直接登录到sys用户以创建其他用户,因为sys具有创建别的用户的权限,为什么需要创建一个新的用户,主要是sys用户权限太大了,如果某天一不小心,就把生产的重要信息删除了,后果很严重的,另外一个是从管理上来考虑的,一个用户负责一个应用...
2019-03-23 18:16:00
64
转载 4-oracle_基本数据类型
本课我只讲解一些基本常用的数据类型: Char:定长字符串,如果字符没有定义的长度,则后面补空格。 Varchar2:可变长字符串。 大家需要注意下这2个类型的区别,不然在后续的应用中会有一些坑,如下截图是我定义的一个表,其中A字段定义为char(10),B字段定义为varchar2(1...
2019-03-23 18:16:00
54
转载 2-plsql开发工具安装
本课主要是安装oracle的开发工具PLSQL Developer 12 链接:https://pan.baidu.com/s/1PSVW3LYkAIMjADqVD4G3Ig 提取码:kdxz 安装步骤就不一步步截图了,大家默认的点下一步就行了,但是在安装软件前,请注意自己电脑上是否已经...
2019-03-23 18:15:00
70
转载 0-oracle执行脚本
本课程的所有执行脚本都上传在github上。 请参见:https://github.com/blt328/oracle_blt自行下载。 转载于:https://my.oschina.n...
2019-03-23 18:14:00
43
转载 1-oracle环境准备
此课程是oracle开发的第一课,我们先从环境的准备开始。 1:oracle的下载和安装 大家登录下面网页下载安装文件 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index....
2019-03-23 18:14:00
64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人