数据仓库基本概念
一、数据仓库基本概念:
1.面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策,数据挖掘。
2.背景:急需数据整合,避免信息孤岛,进行批量数据分析,引入数据仓库的思想。
3.OLTP与数据仓库:
OLTP(操作型):面向应用的、事务驱动、实时性高、数据减检索量小、只存当前数据
数仓(分析型):面向主题、分析和决策、实时性要求不高、数据检索量大、存储大量历史数据和当前数据
4.ods与edw:
ods:操作型数据库:当前数据的、易变的
edw:企业级数据仓库
5.数据集市:依赖于数据仓库
二、数据库模型:
1.网状模型:结构复杂、语言复杂
2.关系模型:(二维表)
3.多维模型
三、模型设计:
1.规范化
2.范式:1NF--每列都是不可分割的数据项
2NF--费非主属性完全依赖主键
3NF--不能存在非主属性到码的传递依赖
3.概念模型:主体域(10大主题)、定义
逻辑模型:明确业务需求、解决业务问题(ER)--实体、关系、属性、键值、业务规则
物理模型:表、字段、关系
4.逻辑模型常见三种实体:父子类
关联实体:1-N N-N N-1
历史表
数据库范式:
一、数据库模型:
1.关系模型:简单
非过程化
数据独立性
坚实的理论
2.数据依赖对数据库的影响:
不规范:数据冗余、更新异常、插入异常、删除异常
3.函数依赖
二、规范化理论:
1.不同级别的范式要求各不相同
2.范式可以作为衡量一个关系模式好坏的标准
3.若关系模式R满足xNF
数据仓库架构
一、架构
1.技术缓冲层
用于数据加载和转换,不需要对外踢狗数据服务
2.近源模型层
保持原系统数据原貌
3.整合模型层
(1)长期、细节、整合的数据存储,为各业务需求提供支持
(2)特点:面向主题,提供规范和共享,细节信息保存长久历史
(3)
4.共性加工层
(1)相对中性,具有业务意义的初级加工数据
(2)特点:全局考虑,提炼需求共性,多层次设计,侧重业务理解
(3)技术层面:避免相同数据的重复计算,实现共享,降低应用开发和数据查询的复杂度,避免数据加工口径不一致
(4)业务层面:对常用统计口径的统一定义和维护
便于业务人员理解,直接进行数据分析
(5)设计理念:需求驱动、提炼共性、架构分明、迭代开发
(6)架构:中间层包括明细层(协议主题的扩展)和汇总层(业务的呈现)
(7)应用筛选和提炼
5.应用集市层:
(1)提供特定应用,面向应用,按需定制,满足特定业务需求
数据库与SQL基础
一、基本概念:
1.数据:承载信息的物理符号
数据库:长期存储在计算机内有组织的、可共享的集合。
数据库系统:由计算机硬件、数据库、数据库管理系统、、应用系统、数据库管理员和用户构成
数据库应用系统是实现某种具体信息管理功能的计算机应用软件
2.数据模型与概念模型
模型:描述事物认识事物的一种方法
概念模型:信息模型,按用户观点来对数据和信息建模。是对现实世界真实全面的反映
矩形表示实体
椭圆表示实体的属性
菱形表示实体间的联系
实体与联系用线段连接并注明类型
数据模型:按计算机的观点对数据建模。数据模型是DBMS的核心和基础
非关系模型:两个记录以及他们之间的一对多的联系
关系模型:二维表
元组:行
属性:列
主码:唯一确定的一个属性值
域:属性的取值范围
分量:元组中的一个属性值
关系模式:对关系的描述
3.关系代数
(1) 笛卡尔积
(2)关系代数三个要素:关系
符号:
(3)选择:限制
(4)投影:
(5)连接:两个关系的笛卡尔积中选取属性见满足一定条件的元组
等值连接:=
自然连接:特殊的等值连接,两个关系中进行连接的分量必须是相同属性组,并且在结果中把重复的属性列去掉
除运算
五种基本的关系运算:并、差、笛卡尔积、连接和投影
4.关系数据库:
(1)事务:用户定义的数据库操作序列,是个不可分割的工作单位。多个事务可以并行执行
原子性、一致性、隔离性、持久性
控制命令:commit(提交)、rollback(回滚)、savepoint(设置保留点)
二、SQL基础:
1.DCL(数据控制语言):grant--授权
revoke--废除、撤销
set role--设置角色状态
2. DDL(数据定义语言):create--创建用户、表、视图、索引
索引--一种提高查找速度的机制
索引文件:索引关键字、记录号--改变的是对索引文件的显示顺序
alter--修改表、视图、存储过程
drop--删除数据库、表、索引、主键
truncate--截断
3. DML(数据操作语言):select--查询:
多表查询:连接:内连接 inner join
左外连接:left join
右外连接: right join
全外连接:full join
组合查询:集合并:union
union all--不去重,效率高
集合交:intersect
intersect all--不去重
集合差:except
except all--不去重
注意事项:字段个数个字段类型必须一样
可以用于子查询
结果的列名是第一个查询中出现的列名
子查询:嵌套在其他查询中的查询
相关子查询:依赖于外部查询结果
非相关子查询:独立于外部子查询--效率更高
in:子查询结果集小优先用in
exists:优先查询外层查询--效率更高
not in:
not exists:不能完全替代not in
distinct:去重
统计函数:count、sum、max、avg
分组函数:group by --分组伴随聚集操作使用才有价值
having:限定分组统计函数的查询结果
order by:排序 desc--降序
asc--升序
update--修改:update tab_name set col_name=new where;
insert into tab_name values();
delete--删除:delete from tab_name where ;
注释:--注释内容
/*注释内容*/
逻辑数据模型概述
一、数据模型
二、EDW LDM概述
1.为复杂数据仓库系统实施提供了规范和基础结构--数据蓝图
促进业务部分用户和IT分析人员之间的有效沟通--明确业务需求、解决业务问题
形成对重要业务定义和术语的统一认识
具备跨部门、中性的特征,能够表达所有的业务
可以随着业务扩展而扩展
2.
三、数据仓库建模流程和方法
1.IBM IFW--FSDM(A层:相关方
位置
产品
合约
分类:一个或多个数据概念
资源项
事件
条件
业务方针
、B层)
2.TERADATA FS-LDM --十大主题
金融领域数据模型
一、金融行业高级模型
1.十大主题:当事人:金融机构所服务的对象和感兴趣进行分析的个人或者组织(个人、团体客户、雇员)
事件:经营活动相关的活动()
协议:客户与金融机构之间达成的关于特定产品的协议
渠道:
产品:金融机构销售或提供客市场化的产品、产品包和服务。通过产品特征加以描述
资产:具有价值的产品
内部机构:金融机构内部业务单元
营销活动:为了获取、挽留客户或提高用户的使用率而采取的战略、计划或者促销活动
财务管理:公司内部财务管理原则及总账分账户
区域位置:地理区域
2.设计原则:对商业模式的抽象
以商业模式中关注的对象作为划分依据
内容完整且相对稳定
每个主题域下一般都有一个与之同名的主实体
二、ERwin工具使用
三、实战练习