第七章系统实现技术数据库系统数据库系统20102010概述DBMS对DB的监控,称为数据库的管理,有时也称为数据库的保护。对数据库的管理主要通过四个方面实现:数据库的恢复、并发控制、完整性控制和安全性控制。每一方面构成了DBMS的一个子系统本章重要概念(一)(1)事务的定义,COMMIT和ROLLBACK的语义,事务的ACID性质,事务的状态变迁图。(2)存储器类型,稳定存储器的实现,数据传送过程。(3)恢复的定义、基本原则和实现方法,故障的类型,检查点技术,REDO和UNDO操作。本章重要概念(二)(4)并发操作带来的三个问题,X锁、S锁、封锁粒度、封锁协议,活锁、饿死和死锁,并发调度,串行调度,并发调度的可串行化,SQL中事务的存取模式和隔离级别。(5)完整性的定义,完整性子系统的功能,完整性规则的组成。SQL中的三大类完整性约束,SQL3中的触发器技术。(6)安全性的定义、级别,权限,SQL中的安全性机制,几种常用的安全性措施,自然环境的安全性。主要内容和学习要求7.1事务(综合应用)7.2数据库的恢复(理解)7.3数据库的并发控制(了解)7.4数据库的完整性(理解)7.5数据库的安全性(理解)小结7.1事务定义7.1事务(transaction)是构成单一逻辑工作单元的操作集合,要么完整地执行,要么都不执行。事务和程序是两个概念在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序一个应用程序通常包含多个事务事务的性质性质原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)原子性事务是一个不可分割的工作单元,事务中包括的诸操作要么都做,要么都不做原子性由DBMS的事务管理子系统来实现。一致性一个事务独立执行的结果,应保持数据库的一致性。即数据不会因事务的执行而遭受破坏。事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性状态:数据库中只包含成功事务提交的结果不一致状态:数据库中包含失败事务的结果一致性由DBMS的完整性子系统执行测试任务。例子:原子性和一致性问题:设银行数据库中有一转账事务T,从账号A转一笔款子($50)到账号B。原子性(A,B同时被修改或同时保持原值)一致性(A+B的值不变)相应的事务:T:read(A);A:=A–50;write(A);read(B);B:=B+50;write(B).隔离性在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。隔离性由DBMS的并发控制子系统来实现。例子:隔离性T1的修改被T2覆盖了!读A=16A←A-3写回A=13①读A=16②③A←A-1写回A=15④T2T1持久性一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中持久性由DBMS的恢复管理子系统来实现。事务提交和事务撤销事务的所有操作都完成了,则事务提交(COMMIT),否则事务撤销(ROLLBACK)COMMIT事务正常结束提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效事务提交和事务撤销ROLLBACK事务异常终止事务运行的过程中发生了故障,不能继续执行回滚事务的所有更新操作,使事务回到开始时的状态事务提交和事务撤销BEGINTRANSACTION标志事务开始执行,COMMIT语句或ROLLBACK语句标志事务结束BEGINTRANSACTION和COMMIT或ROLLBACK一起保证了事务的四个性质对数据库访问的两个基本操作:读和写,但完成写操作后,数据可能暂时放在内存中,而非直接写进数据库。事务的状态活动状态事务将执行对数据库的读/写操作局部提交状态事务已执行完,但对数据库的修改,很可能还留在内存的系统缓冲区中失败状态处于活动状态的事务还没到达最后一个语句就中止执行,或处于局部提交状态的事务,遇到故障未能完成对数据库的修改事务的状态异常中止状态处于失败状态的事务,很可能已对磁盘中的数据进行了一部分修改提交状态对数据库的修改已全部写到磁盘上。事务的状态变迁read/write活动状态局部提交状态失败状态异常中止状态提交状态7.2数据库的恢复数据库的可恢复性(Recovery)定义7.2系统能把数据库从被破坏、不正确的状态恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢...