2012系统分析师复习笔记
1. 数据库
1.1. 死锁
数据库中死锁产生的原因是两个或多个数据事务都已封锁了一些数据对象,然后又都请求已为其它事务封锁的数据对象加锁,从而出现死等待。
死锁的诊断方法一般由超时法和等待图法。
1.2. 数据库体系结构
三类数据库系统体系结构:
? 集中式:DBMS和应用程序都存放在一台计算机上;
? 主从式(客户机/服务器):DBMS存放在服务器上,应用程序存放在客
户机上;
? 分布式:数据库在物理上分布在不同的场地,而逻辑上属于一个整体。
对于分布式数据库,分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上的数据库数据模型。
分布透明性和归入物理独立性的范围,包括三个层次:
? 分片透明性:最高层次的分布透明性,用户或应用程序只对全局关系进行操作,不必考虑数据分片;
? 位置透明性:用户或应用程序应当了解分片情况,但不必了解片段的存储场地;
? 局部数据模型透明性:用户或应用程序要了解分片及各片段存储的场地,
但不必了解局部场地上使用的是何种数据模型。
1.3. 范式
? 1NF ?2NF :消除部分函数依赖 ? 2NF? 3NF :消除传递函数依赖
? BCNF :每个决定因素都包含码
如果一个关系模式R的决定因素都是单属性,那就意味着不可能由部分函数依赖,那就是说至少是2NF。
如果一个关系R不属于2NF,则存在以下几个问题(举例,R(仓库号,仓库地址,商品号,商品属性1,商品属性2),主键是(仓库号,商品号)):
1. 插入异常:新建一个仓库,没有商品,就无法插入仓库数据; 2. 删除异常:当一个仓库的所有商品被删掉时,仓库也随之被删掉; 3. 修改复杂:某个仓库地址改变,需要修改所有与该仓库有关的元组。
1.4. 数据仓库
数据仓库是一个面向主题的、集成的、相对稳定且随时间变化的数据集合,用于支持管理决策。
? 面向主题:操作型数据库的数据组织面向事务处理(应用),而数据仓
库面向主题(有可能横跨多个应用的同类、基础数据集合)。就保险公司来说,事务是指汽车保险、人寿保险,而主题是指顾客、保单、保费。 ? 集成:最重要的特性。操作型数据库与特定应用相关,不同应用系统的
数据库相互独立、异构。数据仓库中的数据是经过对各类分散的操作型数据库进行抽取、清理、加工、汇总得到的,消除了数据不一致性,数据仓库中的信息是企业内全局一致的。 ? 相对稳定:数据仓库的数据主要供决策分析用,所以不会像操作型数据
库那样频繁更新。数据仓库中的查询操作很多,但修改、删除操作很少,通常只需定期加载、刷新。
? 随时间变化:传统数据库只保留当前值,数据不一定有时间属性;数据仓库保存的是从建库时间起,到目前为止的数据变化过程,目的是对企业发展历程和未来趋势做出定量分析和预测,数据仓库的数据必然包含时间属性,是一系列传统数据库的数据快照。
从结构来看,有3种数据仓库模型:企业仓库、数据集市、虚拟仓库: ? 企业仓库:包含整个企业的各个主题的数据信息;
? 数据集市:包含对特定用户有用的,企业仓库数据的子集,限定于选定
的主题;
? 虚拟仓库:传统数据库视图的集合。
数据清洗:从多个数据源中提取数据,解决不同数据源格式不统一的问题。
1.5. 数据挖掘
常见的数据挖掘算法有:决策树、神经网络、遗传算法、关联规则挖掘算法。 数据挖掘分析方法:
? 关联分析:挖掘出藏在数据间的相互关系;
? 序列模式分析:挖掘出藏在数据间的前后关系、因果关系;
? 分类分析:首先为每一个记录赋予一个标记(一组具有不同特征的类别),
即按标记分类记录,然后检查这些标定的记录,描述这些记录的特征; ? 聚类分析:分类分析的逆过程,首先输入原始记录(未标定,不做任何
处理),然后根据一定得规则,划分记录集合,并用显示或隐式方法描述不同类别。
数据清洗:解决不同数据源格式不统一的问题。
1.6. E-R图
局部ER图合成为总ER图时,会发生一些冲突: ? 命名冲突:同名异议,异名同义;
? 属性冲突:同一属性在不同分ER图中的变量类型、取值范围和数据单位等不一致;
? 结构冲突:同一实体在不同ER图中的有不同属性;同一对象在某一分ER图中被抽象为实体,而在另一份ER图中又被抽象为属性。 ? 联系冲突:实体间的联系在不同分ER图中是不同类型,需根据语义对
实体进行综合或调整。
分ER图中可能存在一些冗余的数据及冗余的实体间联系,合并ER图时应当予以消除。
1.7. 模式分解、函数依赖
R分解为R1和R2是无损分解就必须满足: (R1∩R2)?(R1-R2) 或者 (R1∩R2)? (R2-R1)
无损分解得到的子关系必须要能通过自然连接恢复到原关系!
分解是否保持函数依赖:是否存在跨越了不同的子模式的函数依赖,如果存在,则说明不保持函数依赖。注意:不是所有的函数依赖都要在每一个子模式中保持,毕竟模式分解后每个子模式拥有的属性都不全,只要每一个函数依赖都能找到一个子模式能保持就行!!!
最小函数依赖集:所有依赖的右侧只有1个属性,消除冗余、重复的依赖。
1.8. 关系代数
笛卡尔积:R(A,B,C,D) X S(C,D,E) 得到的是7元关系,即逐个用R中的每条数据与S中的每条数据直接拼接起来。如果R中有r条数据,S中有s条数据,那R X S中就有r*s条数据。
自然连接:自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
等值连接与自然连接的区别:
1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性
值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。
2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。
投影 (π):
的一元运算,这里的
是属性名字的集合,
投影是对R关系的列的映射。
选择 (σ):
是对关系R的行的映射,选出满足 关系的行。
1.9. 三级模式、两级映射
外模式、模式、内模式
外模式/模式映射、模式/内模式映射
? 外模式:External Schema或Sub Schema,用户模式,是数据库用户能
看见和使用的局部数据的逻辑结构,与某一应用有关的数据逻辑表示。外模式通常是模式的子集,一个数据库有多个外模式。概念结构设计阶段的产物,E-R图。
? 模式:Schema,也成为逻辑模式,数据库中全体数据的逻辑结构和特
征的描述,所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。逻辑结构设计阶段的产物,表结构。
? 内模式:Storage Schema,存储模式。一个数据库只有一个内模式,数
据物理结构和存储方式的描述,数据在数据库内部的表示方式。物理设计阶段产物。物理设计阶段产物。
两类独立性:
? 数据的物理独立性:当内模式(物理模式)发生改变时,数据的逻辑
结构(模式)保持不变。需要修改模式/内模式映射。
? 数据的逻辑独立性:数据的逻辑结构(模式)发生变化时,应用程序