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

    数据库技术及应用第8章数据库保护.ppt

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

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

    数据库技术及应用第8章数据库保护.ppt

    第第8 8章章 数据库保护数据库保护 数据库技术及应用第8章数据库保护 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第8 8章章 数据库保护数据库保护 8.1 数据库的安全性数据库的安全性 数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄密、更改或破坏。影响数据库安全的因素很多,包括软、硬件故障(如操作系统、DBMS故障或CPU存储介质故障)、非法对数据库存取、操作人员的误操作、自然灾害、人为的破坏与盗窃以及计算机病毒等。本节只讨论计算机系统在保证数据库安全方面的安全措施。第第8 8章章 数据库保护数据库保护 在一般计算机系统中,安全措施是层层设置的。图8-1所示是常见的计算机系统安全模型。第第8 8章章 数据库保护数据库保护 图8-1计算机系统的安全模型第第8 8章章 数据库保护数据库保护 8.1.1用户标识与鉴别1.确认用户名用一个用户名或者用户标识号表明用户身份,系统内部记录着所有合法用户的标识。2.口令为了进一步核实用户,系统常常要求用户输入口令,只有口令正确才能进入系统。第第8 8章章 数据库保护数据库保护 3.约定计算过程通过用户名和口令鉴别用户的方法简单易行,但用户名和口令容易被人窃取。4.利用用户具有的物品钥匙就是属于这种性质的鉴别物,在计算机系统中常用磁卡作为身份凭证。5.利用用户的个人特征指纹、声音等都是用户的个人特征。第第8 8章章 数据库保护数据库保护 8.1.2存取控制1.存取控制机制的构成存取控制机制主要包括以下两部分:(1)定义用户权限,且将用户权限登记到数据字典中。(2)合法用户检查。第第8 8章章 数据库保护数据库保护 2.存取机制的类别当前的DBMS一般都支持自主存取控制,有些大型的DBMS同时还支持强制存取控制。(1)自主存取控制。(2)强制存取控制。第第8 8章章 数据库保护数据库保护 8.1.3视图机制视图的一个优点就是可以对机密的数据提供安全保护。在系统中,可以为不同的用户定义不同的视图,通过视图把数据对象限制在一定范围内,把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。第第8 8章章 数据库保护数据库保护 8.1.4数据加密对于高度敏感数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。1.替换方法该方法使用密钥将明文中的每一个字符转换为密文中的字符。2.置换方法该方法仅将明文的字符按不同的顺序重新排列。第第8 8章章 数据库保护数据库保护 8.1.5审计审计日志包括以下内容:(1)操作类型(例如,修改、查询等)。(2)操作终端标识与操作者标识。(3)操作日期和时间。(4)所涉及的数据(例如,表、视图、记录、属性等)。(5)操作前的数据和操作后的数据。第第8 8章章 数据库保护数据库保护 8.1.6用户定义的安全性措施除了利用数据库管理系统提供的安全性功能外,还可以使用触发器定义一些用户级的安全性措施。例如,最典型的用户定义的安全性控制措施是:可以规定用户只能在指定的时间内对表进行更新操作。第第8 8章章 数据库保护数据库保护 8.2 数据库的完整性数据库的完整性 8.2.1完整性约束条件完整性检查是围绕完整性约束条件进行的。因此,完整性约束条件是完整性控制机制的核心。第第8 8章章 数据库保护数据库保护 1.静态列级约束静态列级约束是对一个列的取值域的说明,这是最常用、也最容易实现的一类完整性约束。静态列级约束包括以下几个方面:(1)对数据类型的约束。(2)对数据格式的约束。(3)对取值范围或取值集合的约束。(4)对空值的约束。(5)其他约束。第第8 8章章 数据库保护数据库保护 2.静态元组级约束一个元组是由若干个属性值组成的。静态元组级约束是对元组的属性组值的限定,及规定了属性之间的值或结构的相互制约关联。3.静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种关联或制约约束,这种约束称为静态关系约束。常见的静态关系约束有实体完整性约束、参照完整性约束、函数依赖约束和统计约束。第第8 8章章 数据库保护数据库保护 4.动态列级约束动态列级约束是指修改列定义或修改列值时必须满足的约束条件。(1)修改列定义时的约束。例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。(2)修改列值时的约束。修改列值有时需要参照其旧值,并且新、旧值之间需要满足某种约束条件。例如,职工的工龄只能增加,职工的工资不得低于原来的工资等。第第8 8章章 数据库保护数据库保护 5.动态元组级约束动态元组级约束是指当修改元组的值时,元组中字段组或字段间需要满足某种约束。6.动态关系约束动态关系约束是加在关系变化前、后状态上的限制条件。第第8 8章章 数据库保护数据库保护 表8-1完整性约束条件第第8 8章章 数据库保护数据库保护 8.2.2完整性控制1.完整性控制机制应具有的功能DBMS的数据库完整性控制机制应具有三个方面的功能:(1)定义功能,即提供定义完整性约束条件的机制。(2)检查功能,即检查用户发出的操作请求,看其是否违背了完整性约束条件。(3)保护功能,即监视数据操作的整个过程,如果发现有违背了完整性约束条件的情况,则采取一定的动作来保证数据的完整性。第第8 8章章 数据库保护数据库保护 2.立即执行约束和延迟执行约束根据完整性检查的时间不同,可把完整性约束分为立即执行约束和延迟执行约束。第第8 8章章 数据库保护数据库保护 8.3 数据库的并发控制数据库的并发控制8.3.1事务及并发控制的基本概念事务是多用户系统的一个数据操作基本单元。由于多用户数据库的事务非常多,如果事务串行执行,即每个时刻只有一个用户程序运行,而其他用户程序必须等到这个用户程序结束以后才能运行,这样就会浪费大量的系统资源。第第8 8章章 数据库保护数据库保护 8.3.2并发操作引起的问题下面我们以火车定票系统为例,说明并发操作带来的问题。假如,火车定票系统中有这样一个活动序列(如图8-2(a)所示):(1)甲售票点(甲事务)读出某车次的车票余额A,设A=20。(2)乙售票点(乙事务)读出同一车次的车票余额A,也为20。第第8 8章章 数据库保护数据库保护 (3)甲售票点卖出一张车票,修改余额AA-1,所以A为19,把A写回数据库。(4)乙售票点也卖出一张车票,修改余额AA-1,所以A为19,把A写回数据库。第第8 8章章 数据库保护数据库保护 图8-2三种数据不一致性的实例(a)丢失修改;(b)不可重复读;(c)读“脏”数据第第8 8章章 数据库保护数据库保护 1.丢失修改两个事务T1和T2读入同一数据并进行修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失,如图8-2(a)所示。2.不可重复读不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。第第8 8章章 数据库保护数据库保护 具体地讲,不可重复读包括三种情况:(1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值。(2)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神秘地消失了。(3)事务T1按一定条件从数据库中读取某些数据后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。第第8 8章章 数据库保护数据库保护 3.读“脏”数据读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,T1这时已将修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为脏数据,即不正确的数据。第第8 8章章 数据库保护数据库保护 8.3.3封锁封锁机制是并发控制的重要手段,封锁是使事务对它要操作的数据有一定的控制能力。封锁具有三个环节:第一个环节是申请加锁,即事务在操作前要对它将使用的数据提出加锁请求;第二个环节是获得锁,即当条件成熟时,系统允许事务对数据加锁,从而事务获得数据的控制权;第三个环节是释放锁,即完成操作后事务放弃数据的控制权。第第8 8章章 数据库保护数据库保护 1.排它锁排它锁也称为独占锁或写锁。2.共享锁共享锁又称读锁。第第8 8章章 数据库保护数据库保护 8.3.4封锁协议1.一级封锁协议一级封锁协议是事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。一级封锁协议可有效地防止丢失修改,并能够保证事务T的可恢复性。一级封锁由于没有对读数据进行加锁,因此无法避免不可重复读和读“脏”数据问题的出现。第第8 8章章 数据库保护数据库保护 图8-3用不同的封锁协议解决三种数据不一致性的例子(a)没有丢失修改;(b)可重复读;(c)不读“脏”数据第第8 8章章 数据库保护数据库保护 2.二级封锁协议二级封锁协议是事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取的数据必须先加S锁,读完后即可释放S锁。二级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。第第8 8章章 数据库保护数据库保护 3.三级封锁协议三级封锁协议是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加X锁,直到事务结束后才释放所有锁。第第8 8章章 数据库保护数据库保护 表8-2不同级别的封锁协议第第8 8章章 数据库保护数据库保护 8.3.5活锁和死锁1.活锁如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。第第8 8章章 数据库保护数据库保护 2.死锁如果事务T1和T2都需要数据R1和R2,它们在操作时,T1封锁了数据R1,T2封锁了数据R2;然后T1又请求封锁R2,T2又请求封锁R1;因T2已封锁了R2,故T1等待T2释放R2上的锁,同理,因T1已封锁了R1,故T2等待T1释放R1上的锁;由于T1和T2都没有获得全部必要的数据,所以它们不会结束,只能继续等待。第第8 8章章 数据库保护数据库保护 3.避免死锁(1)一次封锁法:就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。(2)顺序封锁法:就是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。第第8 8章章 数据库保护数据库保护 8.3.6并发调度的可串行性1.可串行性如果一个事务运行过程中没有其他事务同时运行,即没有受到其他事务的干扰,那么就可以认为该事务的运行结果是正常的。第第8 8章章 数据库保护数据库保护 2.两段锁协议两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁:(1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。(2)在释放一个封锁之后,事务不再申请并获得对该数据的封锁。第第8 8章章 数据库保护数据库保护 8.4 数据库的恢复数据库的恢复8.4.1故障的种类数据库系统中发生的故障是多种多样的,大致可以归结为以下几类。1.事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的,但是更多的则是非预期的,它们不能由事务处理程序处理。第第8 8章章 数据库保护数据库保护 2.系统故障系统故障是指造成系统停止运转的任何事件,从而使得系统必须重新启动。3.介质故障系统故障常称为软故障(SoftCrash),介质故障又称为硬故障(HardCrash)。4.计算机病毒计算机病毒是一种人为的故障或破坏,它是由一些恶意的人编制的计算机程序。第第8 8章章 数据库保护数据库保护 5.用户操作错误在某些情况下,由于用户有意或无意的操作也可能删除数据库中的有用的数据或加入错误的数据,这同样会造成一些潜在的故障。第第8 8章章 数据库保护数据库保护 8.4.2数据库恢复的原理恢复机制涉及的两个关键问题是:第一,如何建立备份数据;第二,如何利用这些备份数据实施数据库恢复。建立备份数据最常用的技术是数据转储和登记日志文件。1.数据转储数据转储是数据库恢复中采用的基本技术。第第8 8章章 数据库保护数据库保护 数据转储有以下几类:(1)静态转储和动态转储。根据转储时系统状态的不同,转储可分为静态转储和动态转储。(2)海量转储和增量转储。转储根据转储数据量的不同还可以分为海量转储和增量转储两种方式。第第8 8章章 数据库保护数据库保护 2.登记日志文件日志文件主要用于数据库恢复。日志文件能够用来进行事务故障恢复、系统故障恢复工作,并能够协助后备副本进行介质故障恢复工作。(1)登记日志文件的原则。为保证数据库的可恢复性,登记日志文件时必须遵循两条原则:一是登记的次序严格按并发事务执行的时间次序;二是必须先写日志文件,后写数据库。第第8 8章章 数据库保护数据库保护 (2)日志文件的格式和内容。日志文件是用来记录对数据库的更新操作的文件。不同的数据库系统采用的日志文件格式并不完全相同。概括起来日志文件主要有两种格式:一种是以记录为单位的日志文件;另一种是以数据块为单位的日志文件。第第8 8章章 数据库保护数据库保护 8.4.3故障恢复的方法1.事务故障的恢复当事务发生故障时,恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。2.系统故障的恢复前面已讲过,系统故障造成数据不一致的原因有两个:一是未完成事务对数据库的更新,数据可能已写入数据库;二是已提交事务对数据库的更新,数据可能还留在缓冲区中没来得及写入数据库。第第8 8章章 数据库保护数据库保护 3.介质故障的恢复介质故障会破坏磁盘上的物理数据库和日志文件,这是最严重的一种故障。恢复方法是重装数据库后备副本,然后重做已完成的事务。第第8 8章章 数据库保护数据库保护 习习 题题 8 8.1什么是数据库的安全性?8.2试述实现数据库安全性控制的常用方法和技术。8.3什么是数据库的完整性?数据库的完整性与数据库的安全性概念有什么区别和联系?8.4什么是数据库的完整性约束条件?可分为哪几类?8.5DBMS的完整性控制应具有哪些功能?第第8 8章章 数据库保护数据库保护 8.5DBMS的完整性控制应具有哪些功能?8.6在数据库中为什么要并发控制?8.7并发操作可能会产生哪几类数据不一致?用什么方法能避免这些不一致的情况?8.8什么是封锁?基本的封锁类型有几种?试述它们的含义。8.9如何用封锁机制保证数据的一致性?第第8 8章章 数据库保护数据库保护 8.10什么是封锁协议?不同级别的封锁协议的主要区别是什么?8.11什么是活锁?什么是死锁?8.12请给出预防死锁的若干方法。8.13说明数据不一致性中读“脏”数据的含义。

    注意事项

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

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




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

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

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

    收起
    展开