一、考情分析
![软考系统架构师知识点集锦九:数据库系统_第1张图片](http://img.e-com-net.com/image/info8/5f1d4834256340818975693636cd8fb4.jpg)
二、考点精讲
2.1数据库概述
2.1.1数据库模式
- (1)三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件。
- (2)两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性。
- (3)物理独立性:即数据库的内模式发生改变时,应用程序不需要改变。
- (4)逻辑独立性:即逻辑结构发生改变时,用户程序不需要改变。(逻辑独立性 比物理独立性更难
- 实现)
- (5)聚簇索引会影响内模式
![软考系统架构师知识点集锦九:数据库系统_第2张图片](http://img.e-com-net.com/image/info8/9ed3ce89ddec48c483a282eec949fe95.jpg)
2.1.2分布式数据库
(1)体系结构
![软考系统架构师知识点集锦九:数据库系统_第3张图片](http://img.e-com-net.com/image/info8/134be57e78e9496d99027f5d000ef6ba.jpg)
(2)分布式数据库特点:
- 1.数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
- 2.集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
- 3.适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他场地来说,数据仍然是可用的,从而保证数据的完备性。
- 4.全局的一致性、可串行性和可恢复性。
(3)分布式透明性
- 分片透明性:分不分片,用户感受不到(不关心如何分片存储)。(水平分片:按记录分;垂直分片:按字段分;混合分片)
- 位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。
- 局部数据模型透明性(逻辑透明) :用户或应用程序无需知道局部场地使用的是哪种数据模型。
两阶段提交协议2PC:
2PC事务提交的两个阶段:
- 表决阶段,目的是形成一个共同的决定。
- 执行阶段,目的是实现这个协调者的决定。
两条全局提交规则:
- 只要有一个参与者撤销事务,协调者就必须做出全局撤销决定。
- 只有所有参与者都同意提交事务,协调者才能做出全局提交决定。
(4)分库分区分表
![软考系统架构师知识点集锦九:数据库系统_第4张图片](http://img.e-com-net.com/image/info8/7240a619aad8476284165dfe4262fbdf.jpg)
![软考系统架构师知识点集锦九:数据库系统_第5张图片](http://img.e-com-net.com/image/info8/4012d90ef95d40a59d964e9642f4eb5c.jpg)
分区的优点:
- 1、相对于单个文件系统或是硬盘,分区可以存储更多的数据。
- 2、数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可。
- 3、精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率。
- 4、可跨多个分区磁盘查询,来提高查询的吞吐量。
- 5、在涉及聚合函数查询时,可以很容易进行数据的合并。
(5)分布式数据库管理系统-组成: LDBMS、GDBMS、 全局数据字典、通信管理(CM)
(6)分布式数据库管理系统结构
- 全局控制集中的DDBMS
- 全局控制分散的DDBMS
- 全局控制部分分散的DDBMS
2.1.3索引和视图
(1)关系的3种类型
基本关系(通常又称为基本表或基表) :实际存在的表,实际存储数据的逻辑表示。
查询表:查询结果对应的表。
视图表:由基表或其他视图表导出的表,本身不独立存储,数据库只存放它的定义,常称为虚表。
它是一个虚拟表(逻辑上的表), 其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。
(2)视图(View) 并不在数据库中实际存在,而是一种虚拟表。
(3)视图的优点:
- 1、视图能简化用户的操作
- 2、视图机制可以使用户以不同的方式查询同- -数据
- 3、视图对数据库重构提供了-定程度的逻辑独立性
- 4、视图可以对机密的数据提供安全保护
(4)物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。
2.2数据库设计过程
![软考系统架构师知识点集锦九:数据库系统_第6张图片](http://img.e-com-net.com/image/info8/e041bb1aa6734f5197c8723478f07a8c.jpg)
2.2.1概念结构设计过程
![软考系统架构师知识点集锦九:数据库系统_第7张图片](http://img.e-com-net.com/image/info8/363e34a22c094f04951fbedf389932e8.jpg)
(1) E-R 图集成的方法:
- 多个局部E-R图一次集成。
- 逐步集成,用累加的方式一次集成两个局部E-R。
(2)集成产生的冲突及解决办法:
- 属性冲突:包括属性域冲突和属性取值冲突。
- 命名冲突:包括同名异义和异名同义。
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包
- 含的属性个数和属性排列次序不完全相同。
2.2.2逻辑结构设计
(1) 任务
1、E-R 图向关系模式的转换;
2、关系模式的规范化;
3、确定完整性约束(保证数据的正确性) ;
- 实体完整性约束
- 参照完整性约束
- 用户自定义完整性约束
- 触发器
4、用户视图的确定(提高数据的安全性和独立性)。
- 根据数据流图确定处理过程使用的视图
- 根据用户类别确定不同用户使用的视图
5、应用程序设计
(2)相关概念
- 目或度:关系模式中属性的个数。
- 候选码(候选键)
- 主码(主键)
- 主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
- 外码(外键)
- 全码(ALL-Key) :关系模式的所有属性组是这个关系的候选码。
- 简单属性与复合属性、派生属性、多值属性
2.2.3数据库性能优化
![软考系统架构师知识点集锦九:数据库系统_第8张图片](http://img.e-com-net.com/image/info8/b870a9f2dbbb418082d8ce14596bf469.jpg)
2.3关系代数
2.3.1并(结果为二者元组之和去除重复行)
2.3.2交(结果为二者重复行)
2.3.3差(前者去除二者重复行)
类似于集合运算,计算如下图所示:
![软考系统架构师知识点集锦九:数据库系统_第9张图片](http://img.e-com-net.com/image/info8/9d0bcad8a271499b80f26270b2ddf736.jpg)
2.3.4笛卡尔积
结果的属性列数为二者属性列数之和,结果的元组行数为二者元素数乘积。
![软考系统架构师知识点集锦九:数据库系统_第10张图片](http://img.e-com-net.com/image/info8/165760f6d21f46dbb73fb76759fa3cdb.jpg)
2.3.5投影
对属性列的选择列出。
2.3.6选择
对元组行的选择列出。
属性名可以依次标序号,直接以数字形式出现在表达式中。计算如下图所示:
![软考系统架构师知识点集锦九:数据库系统_第11张图片](http://img.e-com-net.com/image/info8/3f0d91fbb24f47f8a1917f79263018d5.jpg)
2.3.7自然连接
结果列数为二者属性列数之和减去重复列,行数为二者同名属性列其值相同的结果元组。笛卡尔积、选择、投影的组合表示可以与自然连接等价。
普通连接的条件会写出,没有写出则表示为自然连接。计算如图所示:
![软考系统架构师知识点集锦九:数据库系统_第12张图片](http://img.e-com-net.com/image/info8/90a52d9a4e0c47439d4dff23bf008274.jpg)
2.4规范化理论
2.4.1非规范化存在的问题
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。
2.4.2相关概念
函数依赖:
![软考系统架构师知识点集锦九:数据库系统_第13张图片](http://img.e-com-net.com/image/info8/bd91ba008ba5453f945ddbebc46c1b2b.jpg)
![软考系统架构师知识点集锦九:数据库系统_第14张图片](http://img.e-com-net.com/image/info8/99fbd62ae5d34a0f94dc7a08255862d0.jpg)
2.4.3 Amstrong公理
![软考系统架构师知识点集锦九:数据库系统_第15张图片](http://img.e-com-net.com/image/info8/0df898910d59413ea3b5d0d78708514c.jpg)
2.4.4候选键
![软考系统架构师知识点集锦九:数据库系统_第16张图片](http://img.e-com-net.com/image/info8/518e62a15c5940f190b8216da1b24faa.jpg)
主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性。
将关系模式的函数依赖关系用“有向图”的方式表示。
找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。
2.4.5范式
范式的关系
![软考系统架构师知识点集锦九:数据库系统_第17张图片](http://img.e-com-net.com/image/info8/445c27bc95a541218d4c972d1666481a.jpg)
第一范式(1NF) :在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
第二范式(2NF)--消除非主属性对码的部分函数依赖:当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式。
第三范式(3NF)--消除非主属性对码的传递函数依赖:当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。
BC范式(BCNF) --根据定义判断:设R是一个关系模式,F是它的依赖集, R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
(可以理解为在3NF基础上,消除主属性之间的传递函数依赖和部分函数依赖)
2.4.6规范化过程-模式分解
![软考系统架构师知识点集锦九:数据库系统_第18张图片](http://img.e-com-net.com/image/info8/26ca08b059f244fd9fbec1d2688e0105.jpg)
![软考系统架构师知识点集锦九:数据库系统_第19张图片](http://img.e-com-net.com/image/info8/a3fe6cfab36749db927b033130763689.jpg)
2.4.7反规范化
(1)反规范化手段
![软考系统架构师知识点集锦九:数据库系统_第20张图片](http://img.e-com-net.com/image/info8/b1ef42652be346cbb023c8592349fbb4.jpg)
(2)反规范化的优缺点
优点:连接操作少,检索快,统计快,需要查的表减少,检索容易。
缺点:
![软考系统架构师知识点集锦九:数据库系统_第21张图片](http://img.e-com-net.com/image/info8/718fa3a7b8564cff9afeb2ee4243deaa.jpg)