第7章-系统实现技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第7章-系统实现技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 实现 技术 课件
- 资源描述:
-
1、1第第7 7章章 系统实现技术系统实现技术2本章重要概念本章重要概念(1)(1)系统目录及其和)系统目录及其和DBMS各子系统的联系。各子系统的联系。(2)事务的定义,)事务的定义,COMMIT和和ROLLBACK的的语义,事务的语义,事务的ACID性质,事务的状态性质,事务的状态变迁图。变迁图。(3)存储器类型,稳定存储器的实现,)存储器类型,稳定存储器的实现,数据传数据传送过程。送过程。(4)恢复的定义、基本原则和实现方法,)恢复的定义、基本原则和实现方法,故障的类型,检查点技术,故障的类型,检查点技术,REDO和和UNDO操作,运行记录优先原则。操作,运行记录优先原则。3本章重要概念本章
2、重要概念(2)(5)并发操作带来的三个问题,)并发操作带来的三个问题,X锁、锁、PX协议、协议、PXC协议,协议,S锁、锁、PS协议、协议、PSC协议,活锁、饿协议,活锁、饿死和死锁,并发调度,串行调度,并发调度的可死和死锁,并发调度,串行调度,并发调度的可串行化,两段封锁法,串行化,两段封锁法,SQL中事务的存取模式和中事务的存取模式和隔离级别。隔离级别。(6)完整性的定义,完整性子系统的功能,完)完整性的定义,完整性子系统的功能,完整性规则的组成。整性规则的组成。SQL中的三大类完整性约束,中的三大类完整性约束,SQL3中的触发器技术。中的触发器技术。(7)安全性的定义、级别,权限,)安全
3、性的定义、级别,权限,SQL中的中的安全性机制,几种常用的安全性措施,自然环境安全性机制,几种常用的安全性措施,自然环境的安全性。的安全性。4主要内容和学习要求主要内容和学习要求n7.1 7.1 系统目录系统目录n7.2 7.2 事务事务n7.3 7.3 数据库的恢复数据库的恢复n7.4 7.4 数据库的并发控制数据库的并发控制n7.5 7.5 并发事务的可串行化和可恢复性并发事务的可串行化和可恢复性n7.6 7.6 数据库的完整性数据库的完整性n7.7 7.7 数据库的安全性数据库的安全性n小结小结57.1 7.1 系统目录系统目录n什么是系统目录什么是系统目录n系统目录的重要性系统目录的重
4、要性n系统目录的内容系统目录的内容n元数据元数据67.1.1 7.1.1 系统目录的存储内容系统目录的存储内容n关系名,属性名,属性域(数据类型)关系名,属性名,属性域(数据类型)n各种约束,主键,辅助键,外键,空值各种约束,主键,辅助键,外键,空值/非空值非空值 n视图的外部级描述,存储结构和索引的视图的外部级描述,存储结构和索引的内部级描述内部级描述 n安全性和授权规则安全性和授权规则 n数据完整性规则数据完整性规则 注意:这些数据都以表格的形式存在注意:这些数据都以表格的形式存在7系统目录内容系统目录内容REL_AND_ATTR_CATALOGREL_NAMEATTR_NAMEATTR_
5、TYPEMEMBER_OF_PKMEMBER_OF_FKFK_RELATION属性属性名名属性属性类型类型主主键键外外键键外键外键关系关系关系关系名名RELATION_KEYSREL_NAMEINDEX_NAMEMEMBER_ATTRINDEX_TYPEATTR_NOASC_DESC(a)存储键信息的目录关系存储键信息的目录关系REL_NAMEKEY_NUMBERMEMBER_ATTRRELATION_INDEXES(b)存储索引信息的目录关系存储索引信息的目录关系VIEW_QUERIER VIEW_ATTRIBUTESVIEW_NAMEQUERY VIEW_NAMEATTR_NAMEATTR
6、_NUM(c)存储视图信息的目录关系存储视图信息的目录关系8系统目录的扩充系统目录的扩充ERER图图属性属性键键视图属性视图属性视图关系视图关系关系关系基本关系基本关系索引索引属性名属性名键类型键类型d数据类型数据类型键编号键编号关系名关系名查询查询索引类型索引类型属性序号属性序号索引名索引名属性名属性名K_AR_IR_FI_AK_IR_AR_KV_A外键外键97.1.3 7.1.3 系统目录和系统目录和DBMSDBMS各子系统的联各子系统的联系系DDL编译程序编译程序DML优化程序优化程序DML命令的外命令的外部级到概念级部级到概念级映象映象DML编译程序编译程序DML分析校分析校验程序验程
7、序DBMS处理和检查三级处理和检查三级模式两级映象模式两级映象检查查询涉及的检查查询涉及的关系名属性名等关系名属性名等将查询涉及的概念将查询涉及的概念模式转换成内模式,模式转换成内模式,产生访问计划产生访问计划根据物理结构优根据物理结构优化查询执行方案化查询执行方案将查询中的视图由外将查询中的视图由外部级导到概念级映象部级导到概念级映象处理和检查权限处理和检查权限授权和安全程序授权和安全程序10主要内容主要内容n7.1 7.1 系统目录系统目录 n7.27.2 事务事务 n7.3 7.3 数据库的恢复数据库的恢复n7.4 7.4 数据库的并发控制数据库的并发控制n7.5 7.5 并发事务的可串
8、行化和可恢复性并发事务的可串行化和可恢复性n7.6 7.6 数据库的完整性数据库的完整性n7.7 7.7 数据库的安全性数据库的安全性n小结小结 11事务的定义事务的定义 n定义定义7.1 7.1 事务(事务(transactiontransaction)是构成单一逻辑工)是构成单一逻辑工作单元的操作集合。作单元的操作集合。n在程序中,事务以在程序中,事务以BEGIN TRANSACTIONBEGIN TRANSACTION语句开始,语句开始,以以COMMITCOMMIT语句或语句或ROLLBACKROLLBACK语句结束。语句结束。nCOMMITCOMMIT语句表示事务执行成功地结束(提交)
9、,此语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施(写入磁盘)。务对数据库的所有更新都已交付实施(写入磁盘)。nROLLBACKROLLBACK语句表示事务执行不成功地结束(应该语句表示事务执行不成功地结束(应该“回退回退”),此时告诉系统,已发生错误,数据库可),此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的所有更新必能处在不正确的状态,该事务对数据库的所有更新必须被撤消,数据库应恢复该事务到初始状态。须被撤消,数据库应恢复该事务到初始状态。12事务的事
10、务的ACIDACID性质性质n性质性质n原子性原子性(Atomicity):(Atomicity):事务事务是一个不可分割是一个不可分割的工作单元的工作单元。n一致性一致性(Consistency)(Consistency):即数据不会应事务即数据不会应事务的执行而遭受破坏。的执行而遭受破坏。n隔离性隔离性(Isolation)(Isolation):在多个事务并发执行在多个事务并发执行时,系统应保证与这些事务先后单独执行时,系统应保证与这些事务先后单独执行时的结果一样。时的结果一样。n持久性持久性(Durability)(Durability):一个事务一旦完成全一个事务一旦完成全部操作后,
11、它对数据库的所有更新应永久部操作后,它对数据库的所有更新应永久地反映在数据库中。地反映在数据库中。13例例:事务及其性质事务及其性质问题:问题:设银行数据库中设银行数据库中有一转账事务有一转账事务T T,从,从账号账号A A转一笔款子转一笔款子($50$50)到账号)到账号B B。相应的操作如下:相应的操作如下:T:BEGIN TRANSACTIONT:BEGIN TRANSACTION;readread(A A);A:=A-50A:=A-50 ;writewrite(A A););if(A0)ROLLBACKif(A0)ROLLBACK;else readelse read(B B););B
12、:=B+50 B:=B+50;writewrite(B B););COMMITCOMMIT;T:read T:read(A A);A:=A50 A:=A50 ;writewrite(A A););readread(B B);B:=B+50 B:=B+50;writewrite(B B).组合成一个事务:组合成一个事务:14事务提交和事务撤销事务提交和事务撤销n事务的所有操作都完成了,则事务提交事务的所有操作都完成了,则事务提交(COMMIT),否则事务撤销,否则事务撤销(ROLLBACK)。nBEGIN TRANSACTION标志事务开始执行。标志事务开始执行。nBEGIN TRANSACTI
13、ON和和COMMIT或或ROLLBACK一起保证了事务的四个性质。一起保证了事务的四个性质。n对数据库访问的两个基本操作:读和写,但对数据库访问的两个基本操作:读和写,但完成写操作后,数据可能暂时放在内存中,完成写操作后,数据可能暂时放在内存中,而非直接写进数据库。而非直接写进数据库。15事务的状态变迁图事务的状态变迁图活动状态活动状态局部提交局部提交状态状态提交状态提交状态失败状态失败状态异常中止状态异常中止状态READ/WRITEREAD/WRITE图图7.4 7.4 事务的状态变迁图事务的状态变迁图16主要内容主要内容n7.1 7.1 系统目录系统目录 n7.2 7.2 事务事务 n7.
14、3 7.3 数据库的恢复数据库的恢复n7.4 7.4 数据库的并发控制数据库的并发控制n7.5 7.5 并发事务的可串行化和可恢复性并发事务的可串行化和可恢复性n7.6 7.6 数据库的完整性数据库的完整性n7.7 7.7 数据库的安全性数据库的安全性n小结小结 17存储器类型存储器类型 n易失性存储器(易失性存储器(volatile storagevolatile storage)内存、内存、cachecache存储器存储器 n非易失性存储器(非易失性存储器(nonvolatile storagenonvolatile storage)磁盘和磁带磁盘和磁带 n稳定存储器(稳定存储器(stab
15、le storagestable storage)这是一个理论上的概念。存储在稳定存储这是一个理论上的概念。存储在稳定存储器中的信息是决不会丢失的。器中的信息是决不会丢失的。n稳定存储器稳定存储器的实现的实现n数据备份数据备份 n数据银行数据银行 18块和块的操作块和块的操作n块、物理块和缓冲块块、物理块和缓冲块n块的操作块的操作ninputinput(A A):把物理):把物理块块A A的内容传送到内的内容传送到内存的缓冲块中。存的缓冲块中。nOutputOutput(B B):把缓):把缓冲块冲块B B的内容传送到的内容传送到磁盘中恰当的物理块磁盘中恰当的物理块中中 B内存内存AB磁盘磁盘
16、input(A)output(B)块操作块操作19数据访问数据访问xiwrite(X)包含包含x的块的块Bx存在,存在,read(X)事务事务系统系统开开始始请求请求read(X)事务工作区事务工作区分配分配X磁盘缓冲区磁盘缓冲区扫描内存扫描内存磁盘磁盘包含包含x的块的块Bx存在,存在,input(B)20恢复和原子性的联系恢复和原子性的联系银行转账系统银行转账系统A=2000 B=1000事务事务A=A-100B=B+100output(A)output(A)output(B)output(B)断电或其断电或其他故障他故障假设没有事假设没有事务的原子性,务的原子性,那么重新启那么重新启动事务
17、时,动事务时,要么要么A因为因为再执行一遍再执行一遍而为而为1800,要么要么B因从因从未执行而保未执行而保持原值。持原值。21恢复的基本原则和实现方法恢复的基本原则和实现方法 n基本原则基本原则 :“冗余冗余”,即数据库重复存储。,即数据库重复存储。n具体实现方法具体实现方法 n平时做好两件事:转储和建立日志平时做好两件事:转储和建立日志n周期地(比如一天一次)对整个数据库进行拷贝,转储到周期地(比如一天一次)对整个数据库进行拷贝,转储到另一个磁盘或磁带一类存储介质中。另一个磁盘或磁带一类存储介质中。n 建立日志数据库。记录事务的开始、结束及数据每一次插建立日志数据库。记录事务的开始、结束及
18、数据每一次插入、删除和修改前后的值,并写到入、删除和修改前后的值,并写到“日志日志”库中。库中。n一旦发生数据库故障,分两种情况进行处理一旦发生数据库故障,分两种情况进行处理 n如果数据库已被破坏,则装入如果数据库已被破坏,则装入lastlast数据库备份,再利用日数据库备份,再利用日志库将这两个数据库状态之间的所有更新重新做一遍。志库将这两个数据库状态之间的所有更新重新做一遍。n如果数据库未被破坏,但某些数据不可靠,则撤消所有不如果数据库未被破坏,但某些数据不可靠,则撤消所有不可靠的修改,把数据库恢复到正确的状态。可靠的修改,把数据库恢复到正确的状态。22故障类型和恢复方法故障类型和恢复方法
19、n事务故障事务故障n可以预期的事务故障,如存款余额透支等可以预期的事务故障,如存款余额透支等n非预期事务故障,如运算溢出、数据错误、非预期事务故障,如运算溢出、数据错误、死锁等死锁等n系统故障系统故障硬件故障、软件错误或掉电等等硬件故障、软件错误或掉电等等n介质故障介质故障(硬故障硬故障)磁盘物理故障或遭受病毒破坏磁盘物理故障或遭受病毒破坏23检查点技术检查点技术(1)(1)n什么是检查点方法什么是检查点方法n检查点方法的恢复检查点方法的恢复算法算法n根据日志文件建根据日志文件建立事务重做队列立事务重做队列和事务撤销队列和事务撤销队列n对对重做队列中的重做队列中的事务进行事务进行REDORED
20、O处处理,对撤消队列理,对撤消队列中的事务进行中的事务进行UNDOUNDO处理处理 事务事务T1T1不必恢复;不必恢复;事务事务T2T2和事务和事务T4T4必须重做必须重做(REDO)(REDO);事务事务T3T3和事务和事务T5T5必须撤消必须撤消(UNDO)(UNDO)。事务事务检查点检查点故障点故障点t检查点检查点T1T1T3T3T2T2T5T5T4T424检查点技术检查点技术(2)(2)n运行记录优先原则运行记录优先原则写一个修改到数据库中写一个修改到数据库中写一个表示这个修改的运行记录到日志中写一个表示这个修改的运行记录到日志中n是两个不同的操作。哪一个操作重要?是两个不同的操作。哪
21、一个操作重要?n为了安全,运行记录应该先写下来,这就是为了安全,运行记录应该先写下来,这就是“运行记录优先原则运行记录优先原则”,具体有两点:,具体有两点:n至少要等相应运行记录已经写入运行日志后,才至少要等相应运行记录已经写入运行日志后,才能允许事务往数据库中写记录;能允许事务往数据库中写记录;n直至事务的所有运行记录都已经写入到运行日志直至事务的所有运行记录都已经写入到运行日志后,才能允许事务完成后,才能允许事务完成COMMITCOMMIT处理。处理。25SQLSQL对事务的对事务的支持支持n无无begin transactionnCommitnRollbackn游标游标26主要内容主要内
22、容n7.1 7.1 系统目录系统目录 n7.2 7.2 事务事务 n7.3 7.3 数据库的恢复数据库的恢复n7.4 7.4 数据库的并发控制数据库的并发控制n7.5 7.5 并发事务的可串行化和可恢复性并发事务的可串行化和可恢复性n7.6 7.6 数据库的完整性数据库的完整性n7.7 7.7 数据库的安全性数据库的安全性n小结小结 27问题问题1-1-丢失更新丢失更新时间时间更新事务更新事务T1T1数据库中数据库中A A值值更新事务更新事务T2T2t0t0 100100 t1t1FIND AFIND A t2t2 FIND AFIND At3t3A:=A-30A:=A-30 t4t4 A:=
23、AA:=A*2 2t5t5UPD AUPD A t6t6 7070UPD AUPD At7t7 200200 图图7.10 7.10 在时间在时间t7t7丢失了事务丢失了事务T1T1的更新的更新(FINDFIND表示从表示从DBDB中读值,中读值,UPDUPD表示把值写回到表示把值写回到DBDB)28问题问题2-2-读脏数据读脏数据(1)(1)时间时间更新事务更新事务T1T1数据库中数据库中A A值值读事务读事务T2T2t0t0 100100 t1t1FIND AFIND A t2t2A:=A-30A:=A-30 t3t3UPD AUPD A t4t4 7070FIND AFIND At5t5
24、ROLLBACKROLLBACK t6t6 100100 图图7.11 7.11 事务事务T2T2在时间在时间t4t4读了读了 未提交的未提交的A A值(值(7070)29问题问题2-2-读脏数据读脏数据(2)(2)时间时间更新事务更新事务T1T1数据库中数据库中A A值值更新事务更新事务T2T2t0t0 100100 t1t1FIND AFIND A t2t2A:=A-30A:=A-30 t3t3UPD AUPD A t4t4 7070FINDFIND A At5t5 A:=AA:=A*2 2t6t6 UPDUPD A At7t7 140140 t8t8ROLLBACROLLBACK K t
25、9t9 100100 图图7.12 7.12 事务事务T2T2在时间在时间t4t4读了未提交的读了未提交的A A值,值,并在时间并在时间t8t8丢失了自己的更新丢失了自己的更新 30问题问题3-3-错误求和错误求和时间时间读事务读事务T1DB中中A、B、C的值的值更新事务更新事务T2t0 40,50,30 t1FIND A t2SUM:=A t3FIND B t4SUM:=SUM+BSUM:=SUM+B t5 FIND Ct6 C:=C-10t7 UPD Ct8 40,50,20FIND At9 A:=A+10t10 UPD At11 50,50,20COMMITt12FIND C t13SU
展开阅读全文