上午试题会出现3-5分。主要考的是三级模式两级映像、数据库设计、关系运算、规范化和法规范化、事务处理、分布式数据库。
1.三级模式两级映像
2.数据库设计
2.1.DB设计的阶段
- 需求分析:分许数据的存储要求。产出:数据流图、数据字典、需求说明书;获得用户对系统的三个要求(信息要求、处理要求、系统要求)
- 概念结构设计:设计E-R图。工作步骤包括:选择局部应用、逐一设计E-R图、E-R图合并(合并时会发生以下三种冲突)
- 属性冲突:同一属性的类型、取值范围、数据单位可能会不一样
- 命名冲突
- 结构冲突:同一实体在不同E-R图中有不同属性;同一对象在一个E-R图中是实体,但是在另一个E-R图中是属性
- 逻辑结构设计:E-R图变成关系模式,工作步骤包括:确定数据模型、将E-R转换为定制的数据模型、确定完整性约束、确定用户视图
- 物理设计:生成表等概念,生成物理数据库。工作步骤:确定数据分布、存储结构和访问方式
- 数据库实施阶段:建立数据库并试运行
- 数据库运行和维护阶段
2.2.DB各个阶段设计阶段的产出物、要求
3. 数据模型
- 关系模型——二维表表示实体-联系模型
- 概念模型——E-R图表示实体-联系模型
- 网状模型
- 面向对象模型
数据模型三要素:
- 数据结构:所研究的对象类型集合
- 数据操作:对数据库中各种对象的实例允许执行的操作的集合
- 数据的约束条件:一组完整性规则的集合
4.关系运算
这个算是数据库中基础的基础了,这里就不多讲了。而且考试题型也不会让你直接写SQL,只是让你SQL四选一。
- 交、并、差
- 笛卡尔积
- 选择、投影
- 自然连接
5.DB的规范化和去规范化
5.1.函数依赖
PS:知道这两依赖,了解定义,能分清楚即可。
5.2.公理系统
PS:这个曾经的考试里面出现过选择,而且他和小学数学里面的公式是比较像的,可以对比记忆一下。
- 关系模式R<U,F>来说有以下的推理规则:
(1)自反律:若Y包含于X,X包含于U,则X->Y为F所蕴含。
(2)增广律:若X->Y为F所蕴含,且Z包含于U,则XZ->YZ为F所蕴含。
(3)传递律:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含。
- 根据上面三条推理规则可以得到下面三条推理规则:
(1)合并规则:由X->Y, X->Z,有X->YZ
(2)伪传递规则:由X->Y,WY->Z,有XW->Z
(3)分解规则:由X->Y及Z包含于U,有X->Z
5.3. 键与约束
5.3.1. 键
- 超键:能唯一标识此表的属性的组合
- 候选键:超键去掉冗余属性
- 主键
- 外键
- 主属性
5.3.2. 约束
5.4.范式
PS:范式这个知识点基本不考嗷。我这里也就简单带过一下
- 第一范式:表中无表
- 第二范式:非主属性没有部份依赖
- 第三范式:非主属性没有传递依赖
- BC范式:主属性没有部分和传递依赖
5.5.模式分解(重要)
PS:这个一般考判断:是否保持函数依赖和是否是无损分解。考得题型一般不会变化,这里给大家呈上一个题目,题目会做就好。
5.6.并发控制
5.6.1.事务管理
- ACID特性
- 如果不按照ACID来会发生
- 丢失更新
- 不可重复读
- 读脏数据
5.6.2.封锁协议
- X锁和S锁
- 一级封锁协议:修改数据之前必须加X锁,可解决丢失更新
- 二级封锁协议:在一级的基础上,加上读取数据之前必须加S锁,可解决丢失更新和读脏数据
- 三级封锁协议:在一级的基础上,加上在事务在读取数据之前先加上S锁,可解决丢失更新和读脏数据和数据重复读
5.6.3.两段锁协议
每个事务的执行分为:生长阶段(加锁阶段)和衰退阶段(解锁阶段)
rollback和commit使事务进入解锁阶段。
5.7.反规范化技术
- 增加派生性冗余列
- 增加冗余列
- 重新组表
- 分割表
6.数据故障与备份
6.1.安全措施和数据故障
6.2. 数据库备份
- 静态转储
- 动态转储
- 完全备份
- 差量备份:备份上一次完全备份之后变化的数据
- 增量备份:备份上一次备份之后变化的数据
- 日志文件
7.分布式数据库
7.1.体系结构
PS:考过架构,在19年的真题里面,考的是全局概念模式
7.2.分片模式
- 水平分片
- 垂直分片
7.3.分片透明性
- 分片透明性:不需要知道如何分片存储
- 位置透明性:不关心数据存储物理位置的变化
- 逻辑透明性:无需知道局部使用的那种模型
- 复制透明性:不关心复制的数据从何而来
8.数据仓库
8.1.数据库四大特点
- 面向主题的
- 集成的
- 相对稳定的
- 反映历史变化的
8.2.数据仓库的结构
- 数据源
- 数据的存储与管理(数据仓库与数据集市)
- OLAP
- 前端工具
8.3.数据挖掘的分析方法
- 关联分析
- 序列分析
- 分类分析
- 聚类分析
8.4.商业智能(BI)
BI系统主要包括:
- 数据预处理:数据抽取、转换、加载
- 建立数据库:是处理海量数据的基础
- 数据分析:一般采用OLAP和数据挖掘
- 数据展现
9.SQL语言
10.NoSQL
NoSQL的共同特性:易扩展、大量数据、灵活的数据模型、高可用
NoSQL整体框架:数据持久层(定义数据的存储形式)、数据分布层(定义数据如何分布)、数据逻辑模型层(数据的逻辑表现形式)、接口层
部分内容引用自:
Armstrong公理系统_amstrong公理 通用一致性-CSDN博客
PS:因为小编本人是数据专业的,而且也考过了软考中级的数据库,所以这一章节的内容有很多基础的东西或者原理或者常见的名词不会深入详细的描写,请见谅。