软考备战之数据库系统

加油

数据库模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
三级模式
外模式:用户视图
概念模式:DBA视图
内模式:内部视图

二级映射
模式/内模式的映像:实现概念模式到内模式之间的相互转换
外模式/模式的映像:实现外模式到概念模式之间的相互转换

关系表类型
基本关系:实际存在的表,实际存储数据的逻辑表示
查询表:查询结果对应的表
视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,虚表

数据库视图
优点:
视图能简化用户操作
视图使用户能以多种角度看待同一数据
视图对重构数据库提供了一定程度的逻辑独立性
视图可以对机密数据提供安全保护
物化视图
本身会存储数据,原表更新,物化视图也会更新

分布式数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
特性
数据独立性
除数据的逻辑独立性与物理独立性外,还有分布独立性(分布透明性)
集中与自治共享结合的控制结构
DBMS可以独立管理局部数据库,具有自治的功能
系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用
适当增加数据冗余度
存储同一数据多个副本,提高系统可靠性和可用性,提高系统性能
全局的一致性,可串行性和可恢复性

分片模式
体现在如何切割
分布模式
体现在如何放置

分布式数据库管理系统(DDBMS)组成
LDBMS局部数据库管理系统
GDBMS全局数据库管理系统
全局数据字典
通行管理(CM)

分布式数据库管理系统(DDBMS)结构
全局控制集中的DDBMS
全局控制分散的DDBMS
全局控制部分分散的DDBMS

分布透明性
分片透明:用户不必关心数据如何分片,对数据的操作在全局关系上进行
分片的种类(水平分片,垂直分片,混合分片)
复制透明:用户不必关心数据库在网络中各个节点的复制情况,被复制的数据的更新由系统自动完成
位置透明:用户不必关心操作的数据的存放位置,数据分配在哪些节点
局部映像透明(逻辑透明):用户不必关心局部DBMS支持哪种数据模型,使用哪种数据操纵语言

两阶段提交协议(2PC)
阶段
表决阶段:形成一个共同的决定
执行阶段:实现协调者的决定
规则
只要有一个参与者撤销事务,协调者就必须做出全局撤销决定
只有所有参与者都同意提交事务,协调者才能做出全局提交决定

数据库设计过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
需求分析
当前和未来应用的数据要求
数据处理要求
产物:
数据流图
数据字典
需求说明书
概念结构设计
用户的数据模型(与DBMS无关)
产物:
ER模型
逻辑结构设计
转换规则,规范化理论
产物:
关系模型
视图,完整性约束
应用处理说明书
物理设计
DBMS特性
硬件,OS特性

概念结构设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
实体集之间的联系
一对一
一对多
多对多

步骤
需求分析->抽象数据->设计局部ER模型->合并局部模型消除冲突->重构优化消除冗余->逻辑设计

集成方法
多个局部ER图一次集成
逐步集成,累加方式一次集成两个局部ER图

集成冲突
属性冲突:包括属性域冲突和属性取值冲突
命名冲突:包括同名异义和异名同义
结构冲突:包括同一对象在不同应用中具有不同的抽象,同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同

关系模型基本概念

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
三要素
数据结构
数据操作
数据的约束条件

层次模型
网状模型
面向对象模型
关系模型

概念
目或度:关系模式中属性的个数
候选码(候选键):唯一标识元组,且无冗余
主码(主键):从候选键任选一个
主属性与非主属性:组成候选码的属性就是主属性,其它的为非主属性
外码(外键):其他关系的主键
全码(ALL-Key):关系模式的所有属性组是这个关系的候选码

完整性约束
实体完整性约束:规定基本关系的主属性不能取空值
参照完整性约束:关系与关系间的引用,其他关系的主键或空值
用户自定义完整性约束:应用环境决定

逻辑结构设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
步骤
概念设计->转化为数据模型->关系规范化->模式优化->设计用户子模式->物理设计

ER图向关系模式的转换
实体向关系模式的转换
联系向关系模式的转换
关系模式的规范化
确定完整性约束(保证数据的正确性)
用户视图的确定(提高数据的安全性和独立性)
根据数据流图确定处理过程使用的视图
根据用户类别确定不同用户使用的视图
应用程序设计

一个实体型必须转换为一个关系模式
联系转关系模式:
一对一联系的转换方式
独立的关系模式:并入两端主键及联系自身属性(主键:任一端主键)
归并(任意一端):并入另一端主键及联系自身属性(主键:保持不变)
一对多联系的转换方式
独立的关系模式:并入两端主键及联系自身属性(主键:多端主键)
归并(多端):并入另一端主键及联系自身属性(主键:保持不变)
多对多联系的转换方式
独立的关系模式:并入两端主键及联系自身属性(主键:两端主键的组合键)

关系代数

1
2
3
4
并,交,差,笛卡尔积,投影,选择,连接
投影指SELECT
选择指WHERE
注意关系代数的符号表示

规范化理论

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
非规范化的关系模式
数据冗余
更新异常
插入异常
删除异常


候选键:唯一标识元组,且无冗余
主键:候选键任选一个
外键:其他关系的主键
主属性与非主属性:组成候选码的属性就是主属性,其他的是非主属性

求候选键
将关系模式的函数依赖关系用有向图方式表示
找入度为0的属性,并以该属性集合为起点,遍历有向图,如能正常遍历图中所有节点,则该属性集即为关系模式的候选键
若入度为0的属性集不能遍历图中所有节点,则需要尝试将一些中间节点并入入度为0的属性集中,直至该集合能遍历所有节点,集合即为候选键

函数依赖
部分函数依赖:只有存在多个候选键时才会出现
传递函数依赖:关系并不是直接依赖,但也能遍历到关系

Armstrong公理
自反律
增广律
传递律

范式判断
1NF:属性值都是不可分的原子值
在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式
简单属性,复合属性,单值属性,多值属性,NULL属性,派生属性
2NF:消除非主属性对候选键的部分依赖
当且仅当实体E是第一范式,且每一个非主属性完全依赖主键,则称实体E是第二范式
3NF:消除非主属性对候选键的传递依赖
当且仅当实体E是第二范式,且E中没有非主属性传递依赖于码时,则称实体E是第三范式
BCNF:消除主属性对候选键的部分和传递依赖
设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码

并发控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
事务的ACID特性
原子性
事务包含的所有操作要么全部成功,要么全部失败
一致性
事务必须使数据库从一个一致性状态变换到另一个一致性状态
隔离性
事务的执行不能被其他事务干扰
持续性
事务一旦被提交,对数据库的改变是永久性的

并发产生的问题
丢失更新,不可重复读,脏数据读出

解决
封锁协议
S封锁(读/共享),X封锁(写/独占)
一级/二级/三级封锁协议
两段锁协议

数据库的安全性

1
2
3
4
5
6
措施
用户标识和鉴定
存取控制
密码存储和传输
视图的保护
审计

数据库备份以及恢复

1
2
3
4
5
6
7
8
9
10
冷备份
将数据库正常关闭,停止状态,将数据库文件全部复制
热备份
利用备份软件,在数据库正常运行下,将数据库数据文件备份

完全备份:备份所有数据
差量备份:仅备份上一次完全备份之后变化的数据
增量备份:备份上一次备份之后变化的数据

日志文件:事务日志是针对数据库改变所做的记录,记录针对数据库任何操作,并将记录结果保存在独立的文件中

数据库性能优化

1
2
3
4
5
6
7
集中式数据库优化
硬件系统
系统软件
数据库设计
应用软件
分布式数据库优化
通信代价