欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学习情境5数据库控制技术教学文稿.ppt

    • 资源ID:60896299       资源大小:355.50KB        全文页数:31页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学习情境5数据库控制技术教学文稿.ppt

    主主 编编 樊颖军樊颖军 副主编副主编 张张 光光主主 审审 殷锋社殷锋社电子商务电子商务(din z shn w)数据库技术数据库技术普通高等教育普通高等教育普通高等教育普通高等教育“十二五十二五十二五十二五”规划教材规划教材规划教材规划教材电子商务专业项目是教学电子商务专业项目是教学电子商务专业项目是教学电子商务专业项目是教学(jio xu)(jio xu)课题成果课题成果课题成果课题成果 中国(zhn u)水利水电出版社第一页,共31页。子学习(xux)情境一 事务n n事务有事务有3 3种运行模式种运行模式(msh)(msh):n n(1 1)自动提交事务。即每条单独语句都是一个事务。)自动提交事务。即每条单独语句都是一个事务。n n(2 2)显式事务。即每个事务均以)显式事务。即每个事务均以BEGIN BEGIN TRANSACTIONTRANSACTION语句开始,以语句开始,以COMMITCOMMIT语句或语句或ROLLBACKROLLBACK语句结束。事务通常是以显式模式语句结束。事务通常是以显式模式(msh)(msh)运运行。行。n n(3 3)隐性事务。即在前一个事务完成时,新事务隐式启)隐性事务。即在前一个事务完成时,新事务隐式启动,但每个事务仍以动,但每个事务仍以COMMITCOMMIT语句或语句或ROLLBACKROLLBACK语句显语句显式地表示完成。式地表示完成。第二页,共31页。n任务二 事物的特性n事务具有4个特性:原子(yunz)性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability),简称为ACID特性。第三页,共31页。子学习情境(qngjng)二 并发控制技术n任务一 并发操作带来的不一致性n并发操作带来的数据不一致问题包括3类:丢失修改(Lost Update)、读“脏”数据(Dirty Read)、不可重复读(Non-Repeatable Read)。n1丢失修改n假设在售票系统(xtng)中有如下操作序列:n甲售票点(甲事务)读出某车次的剩余车票张数d,设d=50。n乙售票点(乙事务)读出同一车次的剩余车票张数d,同样为50。n甲售票点售出一张车票,修改剩余车票张数dd-1,所以d为49,把d写回数据库。n乙售票点也卖出一张车票,修改剩余车票张数dd-1,所以d为49,把d写回数据库。第四页,共31页。n3不可重复读n不可重复读是指甲事务读取数据后,乙事务执行更新操作,使甲无法再现前一次读取结果。具体地讲,不可重复读包括3种情况:n甲事务读取某一数据后,乙事务对其做了修改,当甲事务再次读该数据时,得到与前一次不同的值。n甲事务按一定(ydng)条件从数据库中读取了某些数据记录后,乙事务删除了其中部分记录,当甲事务再次按相同条件读取数据时,发现某些记录神秘地消失了。n甲事务按一定(ydng)条件从数据库中读取某些数据记录后,乙事务插入了一些记录,当甲事务再次按相同条件读取数据时,发现多了一些记录。第五页,共31页。n任务二 基于封锁(fn su)的并发控制技术n1三级封锁(fn su)协议n(1)一级封锁(fn su)协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。第六页,共31页。n(2)二级封锁协议:一级封锁协议加上事务T在读取数据(shj)R之前必须先对其加S锁,读完后即可释放S锁。n二级封锁协议除防止了丢失修改外,还可进一步防止读“脏”数据(shj)。n(3)三级封锁协议:一级封锁协议加上事务T在读取数据(shj)R之前必须先对其加S锁,直到事务结束才释放。第七页,共31页。n2两段锁协议n所谓两段锁协议是指所有事务必须分两个(lin)阶段对数据项加锁和解锁。n(1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。n(2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。n“两段”锁的含义是,事务分为两个(lin)阶段。第一阶段是获得封锁,也称为扩展阶段。在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。第八页,共31页。n任务(rn wu)三 活锁和死锁n1活锁n如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求T2有可能永远等待,这就是活锁的情形 第九页,共31页。n2死锁n如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现(chxin)了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁 第十页,共31页。n(1)死锁的预防。n在数据库中,产生死锁的原因是两个或多个事务(shw)都已封锁了一些数据对象,然后又都请求对已为其他事务(shw)封锁的数据对象加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:一次封锁法和顺序封锁法。n1)一次封锁法。一次封锁法要求每个事务(shw)必须一次将所有要使用的数据全部加锁,否则就不能继续执行 第十一页,共31页。n2)顺序封锁法。顺序封锁法是预先对数据对象规定一个封锁顺序,所有(suyu)事务都按这个顺序实行封锁。例如在表5-9中,可规定封锁的顺序为R1、R2,T1和T2都必须按这个顺序封锁,即T2也必须先封锁R1。当T2请求封锁R1时,由于T1已经封锁了R1,所以T2只能等待,等T1释放R1、R2上的锁后,T2继续执行。这样就不会发生死锁。第十二页,共31页。n(2)死锁的诊断与解除。n数据库系统中诊断死锁一般使用超时法或事务等待图法。n1)超时法。如果一个事务的等待时间超过了规定(gudng)的时限,就认为发生了死锁。超时法实现简单,但其不足之处也很明显。一是有可能误判死锁,事务因为其他原因使等待时间超过时限,系统会误认为发生了死锁。二是时限若设置得太长,死锁发生后不能及时发现。n2)事务等待图法。事务等待图是一个有向图G=(T,U)。T为节点的集合,每个节点表示正在运行的事务;U为边的集合,每条边表示事务等待的情况。若T1等待T2,则T1和T2之间划一条有向边,从T1指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地检测事务等待图,如果发现图中存在回路,则表示系统中出现了死锁。DBMS的并发控制子系统一旦检测到系统中存在死锁,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务得以继续运行下去。当然,对撤消的事务所执行的数据修改操作必须加以恢复。第十三页,共31页。子学习情境(qngjng)三 数据库恢复技术n任务一 数据库可能出现的故障种类n数据库可能出现的故障有以下几种(j zhn):n(1)事务内部故障。n事务内部故障是指事务在运行过程中由于种种原因,如运算溢出、并发事务、发生死锁等,使事务未运行至终止点就中途夭折的情况。事务内部故障有的是可以通过事务本身发现的,有的是非预期的,不能由事务本身处理。事务故障可能使数据库处于不正确状态,恢复程序要在不影响其他事务运行的前提下强行回滚该事务,即撤消该事务已经做出的任何对数据库的修改,使数据库恢复到该事务未发生前的正确状态。n事务内部更多的故障是非预期的,是不能由事务本身处理的。例如,运算溢出、多个并发执行的事务因发生“死锁”而被选中撤消该事务、违反了某些完整性限制等。第十四页,共31页。n(2)系统故障。n系统故障是指在系统运行(ynxng)过程中造成系统停止运行(ynxng)的任何事件,使得系统需要重新启动。系统故障称为软故障,如一些特定的硬件错误,如CPU故障、操作系统故障、突然停电等。这类故障影响正在运行(ynxng)的所有事务,但不破坏数据库。发生系统故障时,主存内容尤其是数据库缓冲区(在内存)中的内容都将丢失,所有运行(ynxng)事务都被非正常终止。发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到物理存储设备中,从而造成数据库处于不正确的状态。第十五页,共31页。n(3)介质故障。n介质故障又称为硬故障。硬故障指外存故障,即存放物理数据库的存储设备发生不可预知的故障。这类故障将破坏整个数据库或部分数据库,并影响正在存取这部分数据的所有事务(shw)。此类故障比事务(shw)故障和系统故障发生的可能性要小,但一旦发生破坏性极大。第十六页,共31页。n(4)计算机病毒。n计算机病毒是具有破坏性,可以自我复制的计算机程序。计算机病毒已成为(chngwi)计算机系统的主要威胁,同时也威胁着数据库系统的安全。因此,数据库一旦被病毒破坏,需要用数据库恢复技术将数据库恢复。第十七页,共31页。n任务二 数据库恢复技术n一个好的数据库管理系统DBMS应该能够(nnggu)将数据库从不正确的状态(因出现故障)恢复到最近一个正确的状态,DBMS的这种能力称为“可恢复性”。n恢复机制涉及的两个关键问题是:n如何建立冗余数据,即数据库的重复存储。n如何利用这些冗余数据实施数据库恢复。n建立冗余数据最常用的技术是数据转储和登记日志文件。通常在一个数据库系统中,这两种方法一起使用。第十八页,共31页。n 1数据转储n数据转储是指数据库管理员DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。n当数据库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行转储以后的所有更新事务。转储是十分耗费时间和资源的,不能频繁(pnfn)进行。DBA应该根据数据库使用情况确定一个适当的转储周期。第十九页,共31页。n2登记日志(rzh)文件n(1)日志(rzh)文件的格式和内容。n(2)日志(rzh)文件的作用。n(3)登记日志(rzh)文件(Logging)。第二十页,共31页。n任务三 数据库恢复策略n当系统(xtng)运行过程中发生故障时,利用数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。不同故障其恢复策略和方法也不一样。n1事务故障的恢复n事务故障是指事务在运行至正常终止点前被终止,这时恢复子系统(xtng)应利用日志文件撤消此事务已对数据库进行的修改。事务故障的恢复是由系统(xtng)自动完成的,对用户是透明的。系统(xtng)的恢复步骤如下:n(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。n(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空);若记录中是删除操作,则做插入操作;若是修改操作,则相当于用修改前的值代替修改后的值。n(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。n(4)如此处理下去,第二十一页,共31页。n2系统故障的恢复n系统的恢复步骤如下:n(1)正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交的事务,将其事务标识(biozh)记入重做队列。通过查找出故障发生时尚未完成提交的事务,将其事务标识(biozh)记入撤消队列。n(2)对撤消队列中的各个事务进行撤消回滚处理。进行撤消回滚处理的方法是,反向扫描日志文件,对每个撤消事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。n(3)对重做队列中的各个事务进行重做处理。进行重做处理的方法是,正向扫描日志文件,对每个重做事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”写入数据库。第二十二页,共31页。n3介质故障的恢复n发生介质故障后,磁盘上的物理数据(shj)和日志文件被破坏,这是最严重的一种故障,恢复方法是重装数据(shj)库,然后重做已完成的事务。具体地说就是:n(1)装入最新的数据(shj)库后备副本(离故障发生时刻最近的转储副本),使数据(shj)库恢复到最近一次转储时的一致性状态。对于动态转储的数据(shj)库副本,还需要同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法才能将数据(shj)库恢复到一致性状态。n(2)装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据(shj)库。这样就可以将数据(shj)库恢复至故障前某一时刻的一致状态了。第二十三页,共31页。拓展(tu zhn)知识 数据库新技术n一、数据库技术发展情况n数据库技术最初产生(chnshng)于20世纪60年代中期,根据数据模型的发展,可以划分为以下几个阶段:n(1)第一代的数据库系统是层次模型的数据库系统和网状模型的数据库系统。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。n(2)第二代的关系数据库系统主要特征是支持关系数据模型。关系型数据库的数据模型及其理论是在20世纪70年代由E.F.Codd提出的,最初并未引起重视,但是后来人们逐渐发现了它的重要性,现在它已从理论研究走向系统实现,占据了数据库市场的主流地位。n(3)第三代的数据库以面向对象模型为主要特征。第二十四页,共31页。n二、面向对象数据库系统n面向对象的程序设计方法使用面向对象程序设计语言可以更好地描述客观世界,以及事物之间的联系,更加清晰地模拟客观现实世界。具体体现在以下几个方面:n(1)客观世界是由很多具体的事物构成,并且每个事物都具有两个性质,一个为静态的,一个为动态的。n(2)客观世界中的很多事物具有相同的特性,也就是说,很多事物具有共同性,一般将具有相同特性的事物划为一类n(3)在同一类事物中,每个事物又具有其区别于其他同类事物的独特的个性。n(4)客观世界中的每个事物都是一个独立的整体,外界一般很少关心事物的内部实现细节。n(5)客观世界中的每个事物都不是孤立的,事物和事物之间可能会发生这样或者那样的联系,面向对象程序设计中使用对象与对象之间的消息(xio xi)机制来实现事物之间的联系。第二十五页,共31页。n三、分布式数据库技术(jsh)n1集中式数据库系统n2分散式数据库系统n3分布式数据库系统第二十六页,共31页。n四、主动数据库技术n为了有效地支持ECA规则,主动数据库的研究主要集中解决以下(yxi)几个问题:n(1)主动数据库的数据模型和知识模型。n(2)执行模型。n(3)条件检测。n(4)事务调度。n(5)体系结构。n(6)系统效率。第二十七页,共31页。n五、并行(bngxng)数据库技术n个并行(bngxng)数据库系统可以实现如下目标:n(1)高性能。n(2)高安全性。n(3)可扩充性。第二十八页,共31页。n六、数据仓库及数据挖掘技术n1数据仓库n(1)数据仓库是面向主题的。n(2)数据仓库是集成的。n(3)数据仓库是相对稳定(wndng)的。n(4)数据仓库是反映历史变化的。第二十九页,共31页。n2联机分析(fnx)处理技术及工具n联机事务处理(OLTP,On-Line Transaction Processing)是操作人员和底层管理人员利用计算机网络对数据库中的数据实现查询、删除、更新等操作,完成事务处理工作。n联 机 分 析(fnx)处 理(OLAP,On-Line Analytical Processing)是决策人员和高层管理人员对数据仓库进行信息分析(fnx)处理。第三十页,共31页。n3数据挖掘技术和工具n数据挖掘(DM,Data Mining)是从大型数据库或数据仓库中发现并提取隐藏内在信息的一种新技术。目的是帮助决策者寻找数据间潜在的关联,发现被忽略的要素,它们对预测趋势、决策行为也许是十分有用的信息。数据挖掘技术涉及数据库技术、人工智能技术、机器学习、统计分析等多种技术,它使决策支持系统(DSS)跨入了一个(y)新阶段。传统的决策支持系统通常是在某个假设的前提下,通过数据查询和分析来验证或否定这个假设,而数据挖掘技术则能够自动分析数据,进行归纳性推理,从中发掘出潜在的模式或产生联想,建立新的业务模型帮助决策者调整市场策略,找到正确的决策。第三十一页,共31页。

    注意事项

    本文(学习情境5数据库控制技术教学文稿.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开