导图社区 数据库系统原理第六章知识梳理
数据库系统原理第六章知识梳理来啦!下图内容完整,结构清晰,梳理了事务、故障、检查点、数据库的完整性、封锁技术和并发等内容的脉络,帮助你建构一个更为完善的数据库知识体系!
《计算机科学导论》第十二章离散结构重点总结
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
第六章数据库管理
事务
定义
它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位
ACID特性
A:原子性Atomicity
要么都执行,要么都不执行
C:一致性Consistency
事务执行不会破坏数据库中的数据(即数据符合数据库的业务规则)
由DBMS的完整性子系统执行测试任务
I:隔离性Isolation
事务并发执行的结果和串行执行的结果一样
D:持久性Durability
事务对数据库的操作要永久地存储在数据库中
由DBMS的恢复管理子系统实现
故障
事务故障
不可预期的
举例
运算溢出、数据错误、死锁等等
解决
由系统直接执行UNDO处理
可预期的
存款余额透支、商品库存不足等等
在事务代码中加入判断语句和ROLLBACK语句
系统故障(软故障)
硬件故障、软件故障、掉电等等引起系统停止后需要重启
未完成的
UNDO
已完成提交但更新还留在缓冲区的
REDO
介质故障(硬故障)
病毒攻击、介质损坏等等磁盘上的物理数据库遭到毁灭性破坏
流程1.重装最近的备份到新磁盘2.日志中找出备份后所有已提交的事务3.对找出来的事务执行REDO处理
检查点
DBS运行时,DBMS定时设置检查点。在检查点时刻才真正把对DB的修改写到磁盘,并在日志文件上写入一条检查记录
恢复算法
(1)根据日志文件决定哪些需要加入重做队列哪些需要加入撤销队列
故障发生前COMMIT
加入重做队列
故障发生后还没来得及执行COMMIT
加入撤销队列
(2)对重做队列的事务全部REDO,对撤销队列的事务全部UNDO
并发
并发带来的三个问题
丢失更新问题
读脏数据问题
不可重复读问题
并发操作的“调度”
事务的执行次序
依次执行为串行调度
如果一个并发调度的执行结果=某个串行调度的执行结果则称这个并发调度是“可串行化的调度”
分时同时进行为并发调度
SQL对并发的支持
存取模式
READ WRITE读写模式
程序开始时默认此模式
READ ONLY只读模式
隔离级别
SERIALIZABLE可串行化
REPEATABLE READ可重复读
READ COMMITTED读提交数据
READ UNCOMMITTED可以读未提交数据
↓↓↓↓级别从高到低↓↓↓↓↓↓↓↓↓↓↓↓
封锁技术
三级封锁协议
优点
一级
防止“丢失更新”
二级
防止“丢失更新”防止“读脏数据”
三级
防止“丢失更新”防止“读脏数据”防止“不可重复读”
排他型封锁(X锁)
上X锁的数据其他事务不可对此数据再上X锁必须等到当前事务解锁才可再上锁上X锁的事务才可以对此数据读和写
操作
XFIND R
对数据R申请上X锁
XRELEASE R
对数据R解X锁
共享型封锁(S锁)
上S锁的数据其他事务可以对此数据也上S锁然后此事务可以对此数据读,不可以写
SFIND R
对数据R申请上S锁
UPDX R
申请把R的S锁升级为X锁
SREALEASE R
对数据R解除S锁
封锁的粒度
封锁对象的大小
数据库的完整性
组成
相容性
同一事实的两个数据应相同
有效性
数据定义的有效范围
例如设定性别只能是整数0和1代表,不能有2
正确性
指数据要合法
例如整数型只能含数字不能有字母
完整性子系统
功能
监督事务执行,测试是否违反完整性,若有违反现象,要采取适当操作
完整性约束
分成
域约束
CREATE DOMAIN
基本表约束
三种形式
候选键定义
UNIQUE或PRIMARY KEY
外键定义
FOREIGN KEY (COLUMN)REFERENCES (TABLE)[(COLUMN)]
“检查约束”定义
CHECK(条件表达式)
断言
CHECK ASSERTION 断言名 CHECK (条件表达式)
触发器(主动规则)(事件—条件—动作规则)
事件
指对数据库的增删改
触发事件分三类
UPDATE
UPDATE事件后可跟OF短语
INSERT
DELETE
条件
执行动作的条件
动作
满足条件时要对数据库做什么
动作间隔尺寸
动作时间条件
动作体
SQL语句
CREATE TRIGGERAFTER 触发事件<OF 属性>ON 表FOR 动作间隔(EACH ROW等)要执行的SQL语句
数据库的安全性
五个级别
环境级
职员级
OS级
网络级
DBS级
权限
访问数据库的权限
读
插入
修改
删除
访问数据库模式的权限
索引
资源
撤销
安全性机制
视图
角色
审计
是一个记录数据库更删改操作的日志也包括一些其他信息比如哪个用户执行的本次操作和执行的日期
SQL2定义给用户的权限
SELECT
REFERENCES
允许用户引用其他关系的主键作为外键
USAGE
允许用户使用已定义的域
说白了就是这个权限只能用来登录数据库,其他什么也做不了
授权
GRANT 权限 ON 表 TO 用户名
回收权限
REVOKE 权限 ON 表 FROM 用户名
常用的实现数据库安全性的措施
强制存取控制
对每个数据对象(文件、记录、字段等)分级
绝密级↓机密级↓秘密级↓公用级
统计数据库(用于统计信息的数据库,比如人口调查数据库)的安全性
对用户查出记录数的上下限进行控制
自然环境的安全性
安全性是防止非法用户故意破坏完整性是防止合法用户无意破坏