第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt

上传人:b****2 文档编号:15574242 上传时间:2022-11-05 格式:PPT 页数:85 大小:1.28MB
下载 相关 举报
第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt_第1页
第1页 / 共85页
第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt_第2页
第2页 / 共85页
第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt_第3页
第3页 / 共85页
第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt_第4页
第4页 / 共85页
第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt_第5页
第5页 / 共85页
点击查看更多>>
下载资源
资源描述

第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt

《第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt(85页珍藏版)》请在冰豆网上搜索。

第四章数据库管理系统与数据库保护PPT课件下载推荐.ppt

64.1.2事务的性质事务具有以下4个重要特性,通常称为ACID性质。

(1)原子性(Atomicity)从终端用户(End-User)的角度看,事务是不可再分的原子工作。

从系统的角度看,事务是完成某件原子工作的程序的一次执行。

它要么全部成功地完成;

要么全部不完成,对数据库毫无影响。

(nothingorall)原则。

事务必须以Commit/Rollback结束。

由DBMS的事务管理子系统完成。

74.1.2事务的性质

(2)一致性(Consistency)独立运行的事务,必须保证数据库的一致状态,即数据不会因为事务的执行而遭到破坏。

数据库的一致性状态有编写事务的程序员来负责,也可以有系统测试完整性约束来自动完成。

由由DBMS的完整性子系统完成的完整性子系统完成。

84.1.2事务的性质(3)隔离性(Isolation)系统必须保证事务不受其它并发执行事务的影响。

多个并发事务之间不能相互干扰并发不影响事务的执行。

隔离性通过DBMS并发控制子系统实现。

94.1.2事务的性质(4)持久性(Durability)事务的持久性是指一个事务的成功完成之后,其工作的结果就会永远保存在数据库中,是永久有效的,即使随后系统发生故障,也能保持或恢复。

一旦事务成功完成(Commit),它对数据库的更新应该是持久的即使在写入磁盘之前,系统发生故障在下次启动之后,也应该保障数据更新的有效持久性通过持久性通过DBMS恢复管理子系统实现。

恢复管理子系统实现。

104.1.2事务的性质对数据库的访问是建立在读和写两个操作的基础上。

对数据库的访问是建立在读和写两个操作的基础上。

read(X):

从数据库传送数据项X到事务的工作区。

write(X):

从事务的工作区中将数据项X写回数据库。

114.1.2事务的性质举例:

银行转帐:

事务Ti从帐户A过户100¥到帐户B。

T:

read(A);

A=A-100;

write(A);

read(B)B=B+100;

write(B);

12练习:

1.DBMS的并发控制子系统,保证了事务()的实现。

2.事务的独立执行不会破坏DB的完整性,称为()3.DBMS中实现事务持久性的子系统是:

()1.隔离性2.事务的一致性3.DBMS恢复管理子系统134.1.3事务的状态一个事务从开始到成功地完成或者因故中止,中间可能经历不同的状态。

事务状态图144.1.3事务的状态

(1)活动状态(Active)。

(2)局部提交状态(PartiallyCommitted)。

(3)失败状态(Failed)。

(4)中止状态(Aborted)。

(5)提交状态(Committed)。

154.1.4更新事务的执行与恢复涉及插入、删除和修改等操作的事务统称更新事务,数据库管理系统必须确保其原子性和一致性。

1更新事务的执行为了确保事务的原子性和一致性,更新事务在活动状态下对数据库的任何修改都不能直接在磁盘中进行,而只能在内存缓冲区中进行。

164.1.4更新事务的执行与恢复完整性检查可以分为以下几种:

(1)在事务的每个维护操作(插入、删除、修改)执行后检查完整性,如果这时查出完整性受到破坏,则将该事务转为失败状态。

这样的完整性约束称为立即约束(ImmediateConstraint)。

(2)在整个事务完成之后检查完整性,这种完整性约束称为延迟约束(DeferredConstraint)。

(3)在事务的某些特定点检查完整性,这样的点称为检查点。

(4)在一个维护操作请求之后且执行之前检查完整性。

(5)在数据库管理员或审计员发出检查请求时检查完整性。

174.1.4更新事务的执行与恢复2更新事务的恢复

(1)从活动状态转入失败状态的恢复

(2)从局部提交状态转入失败状态的恢复。

这种对事务操作的撤销也称为回滚(ROLLBACK)。

184.2数据库的故障与恢复n4.2.1故障类型n4.2.2恢复的基本原则和实现方法n4.2.3SQL中的恢复操作194.2.1故障类型n在运行数据库系统时,可能回出现各种各样的故障。

发生故障时,可能丢失数据库中的数据。

DBMS的恢复管理子系统采取一系列措施,保证在任何情况下保持事务的原子性和持久性,确保数据不被破坏。

n1.数据库系统中可能发生的故障n

(1)事务故障n非预期的事务故障n事务由于某些内部条件无法继续正常执行n如:

非法输入、找不到数据、出错等n可预期的事务故障n应用程序可以发现的事务故障n该事务可在以后的某个时间重新执行。

n此时数据库中的数据处于非一致状态204.2.1故障类型n

(2)系统故障n由于特殊的原因导致事务无法正常执行,而系统必须重新启动n如停电、CPU故障等n一般只影响正在执行的事务,而不会破坏数据库本身以及DBMS环境n系统重新启动时,数据库处于一种非一致性状态214.2.1故障类型n(3)介质故障n外存发生故障,导致存储其中的数据、或数据库本身、或DBMS软件处于不正常状态n这类故障的破坏性较大n计算机病毒n破坏DBMS软件环境n破坏OS环境n导致数据库系统无法正常工作224.2.2恢复的基本原则和实现方法n

(1)定期对整个数据库进行复制和转)定期对整个数据库进行复制和转储储n冗余技术是数据库恢复的保障n建立数据的冗余n与数据库分别存储n利用冗余数据,重建数据,使其达到一致的状态n建立整个数据库的冗余n将整个数据库进行备份(冗余的数据库)n需要时将备份数据库恢复(重载)至系统中n解决数据库本身被破坏的场合n只能恢复到数据库备份时的状态234.2.2恢复的基本原则和实现方法n转储可以分为:

n静态转储:

在存储期间不允许对数据库进行存取、修改。

n动态转储:

在存储期间允许对数据库进行存取、修改。

n转储还可以分为:

n海量存储:

每次存储全部数据库n增量存储:

每次只存储上次转储后更新过的数据。

244.2.2恢复的基本原则和实现方法n

(2)建立日志文件)建立日志文件n以日志文件的形式,记录事务对数据库的更新操作n日志文件记录了数据库更新的所有日志记录的序列n常见的是以记录为单位的日志文件n利用日志记录,可对数据库做相应的恢复n日志内容n各个事务的开始标志n各个事务的数据更新操作n各个事务的结束(Commit/Rollback)254.2.2恢复的基本原则和实现方法n(3)恢复)恢复n数据库本身(或DBMS)被破坏n重新安装DBMSnReload数据库副本(先前被转储的数据库)n用日志文件执行REDO操作,不丢失对数据库的更新n需要DBA人工处理264.2.2恢复的基本原则和实现方法n(4)具体恢复)具体恢复n数据库本身未被破坏,但有些数据不可靠n系统重启,扫描日志文件(耗时)n根据日志,做Undo:

对更新的操作执行反向操作n系统自动完成n根据运行记录优先原则n1.至少要等到相应运行记录已经写入日志文件后,才能允许事务向数据库写入记录n2.直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“ENDTRANSACTION”处理。

27练习:

n1、为了能在出故障时做好恢复,应在平时做好两件事情:

()和()n2、后备副本的主要作用是()n3、日志文件用于保存()、备份和日志、故障恢复、对数据库的更新操作284.3并发控制n4.3.1并发控制的概念n4.3.2可串行化的判断n4.3.3封锁机制n4.3.4活锁与死锁n4.3.5共享型封锁(S封锁)n4.3.6两段封锁协法294.3.1并发控制的概念n数据库是一个共享资源,允许多个用户程序并行地存取数据库。

若对这种并发操作不加以控制就会破坏数据的一致性。

n这些用户程序可以一个一个的串行执行,每一时刻只有一个用户程序运行,执行对数据库的存取。

其它程序必须等到这个用户程序结束后才能对数据库存取。

n在多个用户共享系统中,如果多个用户同时对同一数据进行操作称为并发操作。

可能会互相干扰,破坏了事务的隔离性。

304.3.1并发控制的概念1.丢失更新问题A值100,错误,第8步丢失了T1对数据库的更新操作。

时间更新事务T1数据库A的值更新事务T21502read(A)read(A)34A=A-10A=A*256write(A)740write(A)8100314.3.1并发控制的概念2.不一致问题在第6步时,由于T1已更新了A的值,此时T3使用的A值仍为50,因此造成了不一致。

即读了过时的数据。

时间更新事务T1数据库A的值更新事务T31502read(A)3read(A)4A=A-105write(A)640324.3.1并发控制的概念3.脏数据的读出数据库中A的值恢复为50,事务T4读出的A的值为40,提交随后又被撤消的数据称为脏数据。

时间更新事务T1数据库A的值更新事务T41502read(A)3A=A-104write(A)540read(A)6ROLLBACK750334.3.1并发控制的概念并发控制需要靠数据库的并发控制子系统来解决。

如1.在第3步避免T2执行read,因为T1已经读了A的值,将要进行更新。

2.应避免T1执行write,因为T2已经在使用A值。

3.应避免T2执行write,因为T1已写了新的A值,事务T2的写操作将把T1的写操作冲掉。

时间更新事务T1数据库A的值更新事务T21502read(A)3read(A)4A=A-105A=A*26write(A)740write(A)8100344.3.1并发的概念为了防止数据库数据的不一致性,必须采取封锁策略,即在事务要对数据库进行操作之前,首先对其操作的数据设置封锁,禁止其他事务再对该数据进行操作,当它对该数据操作完毕并解除对数据的封锁后,才允许其他事务对该数据进行操作。

串行操作,并行操作。

并行操作与串行操作的结果不一定相同,当且仅当几个事务并行运行的结果和这些事务按某一次序串行运行的结果相同时,这种并行操作才是正确的。

把并发操作的若干事务的全部事务步按某一顺序排定的运行次序叫做调度。

一个事务的运行次序在并行调度执行的结果等价于某一串行调度执行的结果,则称这种调度是可串行化的调度。

354.3.1并发控制的概念364.3.1并发控制的概念三种调度策略374.3.2可串行化的判断构造前趋图:

G(V,E)V是所有参与调度的事务,E是通过分析事务间的冲突”操作对”来决定.加边原则:

Ti-Tj1).Ri(x)在Wj(x)之前2).Wi(x)在Rj(x)之前3).Wi(x)在Wj(x)之前分别为读写、写读、写写冲突画出前趋图后,如果没有回路,则必有入度为零的点,依次去掉这些顶点,就可获得一个等价串行调度。

384.3.2可串行化的判断给定事务集(T1,T2,T3,T4),并发调度S=W3(y)R1(x)R2(y)W3(x)W2(x

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1