数据库课程思维导图
基础篇
设计与应⽤开发篇
系统篇
绪论
关系数据库
关系数据库标准语言SQL
数据库安全性
数据库完整性
关系查询处理和查询优化
数据库恢复技术
并发控制
绪论
并发控制
概述
数据模型
数据库系统结构
数据库系统组成
多事务执⾏⽅式
并发操作带来数据的不一致性
1
任务
2
主要技术
3
两段锁协议(2PL)
4
并发调度的可串⾏性
5
封锁
软件
⼈员
硬件平台及数据库
概念
类型
封锁协议
封锁带来的问题
活锁
死锁
一级封锁协议
⼆级封锁协议
三级封锁协议
概念:两个线程都处于阻塞状态,在等待其他进程释放锁
预防
诊断
解除
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放
选择一个处理死锁代价最⼩的事务,将其撤销,释放此事务持有的
所有锁使其他事务得以继续运⾏下去
超时法
等待图法
一次封锁法
顺序封锁法
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后⽅可释放S锁。⼆级封锁协议
除防⽌了丢失修改,还可以进一步防⽌读“脏”数据
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和⾮
正常结束(ROLLBACK)。一级封锁协议可以防⽌丢失修改,并保证事务T 是可恢复的
线程⽆阻塞,但是在做⽆⽤功
避免⽅法:采⽤先来先服务的策略
排他锁(写锁)
共享锁(读锁)
允许多个线程或事务同时访问同一数据,因为这种锁是可以共享的。多个线程或事务可以同时持
有读锁,但只有当没有线程或事务持有写锁时,才能进⾏读取操作
是一种当一个线程或事务获取了针对某一数据的写锁之后,其他任何尝试获取该数据锁的线程或事
务都将被阻塞直到写锁被释放。这种锁是独占的,一次只能被一个线程所持有
实现并发控制的重要技术
指某事务在对某个数据对象操作前,先向系统发送请求,对其加锁加锁后该事务
对该数据对象有了一定的控制,在事务释放锁前,其他对象不能更改此数据对象
串⾏调度一定是正确的
可串⾏调度:多个事务的并发执⾏是正确的,当且仅当其结果与按一
次串⾏地执⾏这些事务时的结果相同
可串⾏性:并发事务调度的准则
冲突可串⾏化调度
为了保证并发调度的正确性
指事务必须分两个阶段对数据项加锁和解锁
第一阶段:获得封锁,也称扩展阶段
第⼆阶段:释放封锁,也称为收缩阶段
数据库的完整性
保证事务的隔离性和一致性
对并发操作进⾏正确调度
定义
意义
SQL实现完整性控制功能
的⽅法
为确保完整性,数据库管理系
统必要的功能
进⾏违约处理
提供完整性检查的⽅法
提供定义完整性约束条件的机制
定义实体完整性
定义参照完整性
⽤⼾定义的完整性
完整性约束命名⼦句
域中的完整性约束
断言
触发器:是⽤⼾定义在关系表上的一类由事件驱动的特殊过程
防⽌数据库中存在不符合语意的数据
封锁、时间戳、乐观控制法等
指数据的正确性和相容性
丢失数据
不可重复性
读脏数据
事务串⾏执⾏
交叉并发执⾏
同时并发执⾏
数据库系统的模式的定义
三级模式结构
两级映像功能
分类
组成
外模式/模式映像
模式/内模式映像
数据结构
数据操作
数据的完整性约束条件
概念模型
逻辑模型和物理模型
模式
内模式
外模式
主要的逻辑数据模型
层次模型
⽹状模型
关系模型
基本概念:实体,属性,码,实体型,实体集,联系
表⽰⽅法:E-R模型
基本概念
数据库系统特点
数据库恢复技术
数据结构化
数据的共享性⾼,冗余度低且易扩充
数据独⽴性⾼
数据由数据库管理系统统一管理和控制
事务基本概念
故障种类
恢复的技术
恢复策略
检查点
数据库的镜像
根据数据库管理⼈员的要求,⾃动把整个数据库
或其中的关键数据复制到另一个磁盘上
数据转储:定期复制数据库到磁盘、磁带或其
他存储介质上保存起来的过程
登记⽇志⽂件
1
事务内部的故障
2
系统故障
3
介质故障
4
计算机病毒
概念:⽇志⽂件是⽤来记录事务对数据库的更新操作的⽂件
静态转储
动态转储
海量转储
增量转储
定义:⽤⼾定义的一个数据库操作序列,这些操作要么
全做,要么一个都不做,是一个不可分割的单位
事务的ACID属性
事务故障的恢复
系统故障的恢复
介质故障的恢复
原⼦性
一致性
隔离性
持续性
数据
数据库
数据库系统
数据库管理系统
数据库管理⼈员
数据库的安全性
关系数据库标准语言SQL
定义
不安全因素
数据库的安全控制
概述
操作
视图
1
定义
2
操作
3
作⽤
1
数据查询(DML)
2
数据定义(DDL)
3
数据更新(DML)
4
空值处理
简化⽤⼾操作
对机密数据提供安全保护
适当利⽤视图可以更清晰的表达查询
使⽤⼾能够以多种⻆度看待统一数据
对重建数据库提供了一定程度的逻辑独⽴性
概念:空值就是“不知道”或“⽆意义”或“不存在”的值
空值的产⽣、判断与约束条件
空值的算术运算,⽐较运算和逻辑运算
1
⽤⼾⾝份鉴别
2
存取控制
3
视图机制
4
审计
5
数据加密
存储加密
传输加密
审计事件
审计功能
可以为不同⽤⼾定义不同的视图,把数据对象限定在一定范围内
1
定义
2
基本概念
3
功能
4
特点
⾼度⾮过程化
⾯向集合的操作⽅式
以同一种语法结构提供多种使⽤⽅式
语法简洁,易学易⽤
综合统一
查询
数据库模式创建
数据的插⼊修改
数据库安全性完整性定义与控制
数据定义语言DDL
数据控制语言DCL
数据操纵语言DML
基本表是本⾝独⽴存在的表,在关系数据库管理系统中一个关系对应一个基本表,一个或多个基本表对应一个存储⽂件,一个表可以带若⼲索引,索引也存放在存储⽂件
存储⽂件的逻辑结构组成了关系数据库的内模式
存取控制机制
⽅法分类
强制存取控制⽅法
⾃主存取控制⽅法
定义⽤⼾权限
合法权限检查
围绕一个⽬标展开
插⼊数据
修改操作
删除操作
单表查询
连接查询
嵌套查询
集合查询
基于派⽣表的查询
定义视图
查询视图
更新视图
关系数据库的标准语言,是一个通⽤
的,功能极强的关系数据库语言
等值连接
⾃然连接
⾃⾝连接
外连接
多表连接
一个或⼏个基本表(或视图)导出的表
1
⾮授权⽤⼾对数据库的恶意存取和破坏
2
数据库中重要或敏感的数据泄露
3
安全环境的脆弱性
指保护数据库以防⽌不合法使⽤所造成的数据泄露,更改或破坏
关系数据库
关系数据结构及形式化定义
关系操作
关系的完整性
关系数据理论
数据库设计
数据库编程
实体完整性
参照完整性
⽤⼾定义的完整性
数据库编程
嵌⼊式SQL
过程SQL
ODBC
OLEDB
JDBC
基本的关系操作
关系数据语言的分类
关系演算语言
关系代数语言
具有关系代数和关系演算双重特点的语言
查询
插⼊
删除
修改
选择
投影
并
差
笛卡尔积
概念:一种抽象的查询语言,它⽤对关系的运算来表达查询
按运算符分类
传统的集合运算:并、差、交、笛卡尔积
专⻔的关系运算:投影、选择、连接、除运算
元组关系演算语言ALPHA(未实现)
元组关系演算
域关系演算语言QBE
数据库设计
定义
数据库特点
基本步骤
设计⽅法
基于E-R模型的设计⽅法
3NF的设计⽅法
统一建模语言⽅法
1
需求分析:数据字典,数据项,数据结构,数据流,数据存储描述
2
概念分析:E-R图,数据字典
3
逻辑分析:数据模型
4
物理结构分析
5
数据库实施:创建数据库模式,输⼊数据,数据库试运⾏
6
数据库运⾏和维护:性能检测,转储/恢复,数据库重组和重构
指对于一个给定的应⽤环境,构造(设计)优化的数
据库逻辑模式和物理结构,并据此建⽴数据库及其
应⽤系统,使之能够有效地存储和管理数据,满⾜各
种客⼾的需求,包括信息管理要求和数据操作要求
数据库建设的基本规律:三分技术,七分管理,⼗⼆分基础数据
结构(数据)设计和⾏为(处理)设计相结合
关系:在⽤⼾看来,关系模型中的数据的逻辑结构是一张扁平的⼆维表
关系模式:关系的描述称为关系模式,它可以形式的表⽰为R(U,D,DOM,F)
关系数据库:所有关系的集合构成一个关系数据库,关系数据库的值是这些关
系模式在某一时刻对应的关系的集合,通常就称为关系数据库
关系模式的存储结构