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

    数据库系统原理教程第五章清华大学.ppt

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

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

    数据库系统原理教程第五章清华大学.ppt

    第第5章章数据库安全数据库安全l5.1安全性安全性l5.2完整性完整性l5.3并发控制并发控制l5.4恢复恢复l5.5数据库复制与数据库镜像数据库复制与数据库镜像第第5章章数据库安全数据库安全l5.1安全性安全性l5.2完整性完整性l5.3并发控制并发控制l5.4恢复恢复l5.5数据库复制与数据库镜像数据库复制与数据库镜像5.1 5.1 安全性安全性l问题的提出问题的提出数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享但数据共享必然带来数据库的安全性问题但数据共享必然带来数据库的安全性问题数数据据库库系系统统中中的的数数据据共共享享不不能能是是无无条条件件的的共共享享例:军事秘密、例:军事秘密、国家机密、国家机密、新产品实验数据、新产品实验数据、市场需求分析、市场营销策略、销售计划、市场需求分析、市场营销策略、销售计划、客户档案、客户档案、医疗档案、医疗档案、银行储蓄数据银行储蓄数据安全性(续)安全性(续)数数据据库库中中数数据据的的共共享享是是在在DBMS统统一一的的严严格格的的控控制制之之下下的的共共享享,即即只只允允许许有有合合法法使使用用权权限的用户访问允许他存取的数据限的用户访问允许他存取的数据数数据据库库系系统统的的安安全全保保护护措措施施是是否否有有效效是是数数据据库系统主要的性能指标之一库系统主要的性能指标之一安全性(续)安全性(续)l什么是数据库的安全性什么是数据库的安全性数数据据库库的的安安全全性性是是指指保保护护数数据据库库,防防止止因因用用户户非非法法使使用用数数据据库库造造成成数数据据泄泄露露、更更改改或或破破坏。坏。l什么是数据的保密什么是数据的保密数数据据保保密密是是指指用用户户合合法法地地访访问问到到机机密密数数据据后后能否对这些数据保密。能否对这些数据保密。通过制订法律道德准则和政策法规来保证。通过制订法律道德准则和政策法规来保证。5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5.1.2Oracle数据库的安全性措施数据库的安全性措施5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5.1.2Oracle数据库的安全性措施数据库的安全性措施5.1.1安全性控制的一般方法安全性控制的一般方法l非法使用数据库的情况非法使用数据库的情况用户编写一段合法的程序绕过用户编写一段合法的程序绕过DBMS及其授及其授权机制,通过操作系统直接存取、修改或备权机制,通过操作系统直接存取、修改或备份数据库中的数据;份数据库中的数据;直接或编写应用程序执行非授权操作;直接或编写应用程序执行非授权操作;数据库安全性控制概述(续)数据库安全性控制概述(续)通过多次合法查询数据库从中推导出一些保通过多次合法查询数据库从中推导出一些保密数据密数据例:某数据库应用系统禁止查询单个人的工资,但例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:的工资,于是他:首先查询包括张三在内的一组人的平均工资首先查询包括张三在内的一组人的平均工资然后查用自己替换张三后这组人的平均工资然后查用自己替换张三后这组人的平均工资从而推导出张三的工资从而推导出张三的工资破坏安全性的行为可能是无意的,故意的,破坏安全性的行为可能是无意的,故意的,恶意的。恶意的。数据库安全性控制概述(续)数据库安全性控制概述(续)应用应用DBMSOSDB低低高高安全性控制层次安全性控制层次方法:方法:用户标识用户标识和鉴定和鉴定存取控制存取控制审计审计视图视图操作系统操作系统安全保护安全保护密码存储密码存储l计算机系统中的安全模型计算机系统中的安全模型数据库安全性控制概述(续)数据库安全性控制概述(续)l数据库安全性控制的常用方法数据库安全性控制的常用方法用户标识和鉴定用户标识和鉴定存取控制存取控制视图视图审计审计密码存储密码存储1.用户标识与鉴定用户标识与鉴定l用户标识与鉴别(用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施系统提供的最外层安全保护措施用户标识与鉴定(续)用户标识与鉴定(续)l基本方法基本方法系统提供一定的方式让用户标识自己的名字系统提供一定的方式让用户标识自己的名字或身份;或身份;系统内部记录着所有合法用户的标识;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户每次用户要求进入系统时,由系统核对用户提供的身份标识;提供的身份标识;通过鉴定后才提供机器使用权。通过鉴定后才提供机器使用权。用户标识和鉴定可以重复多次用户标识和鉴定可以重复多次用户标识与鉴定(续)用户标识与鉴定(续)l让用户标识自己的名字或身份的方法让用户标识自己的名字或身份的方法用户名用户名/口令口令简单易行,容易被人窃取简单易行,容易被人窃取每个用户预先约定好一个每个用户预先约定好一个计算过程计算过程或者或者函数函数系统提供一个随机数系统提供一个随机数用户根据自己预先约定的计算过程或者函用户根据自己预先约定的计算过程或者函数进行计算数进行计算系统根据用户计算结果是否正确鉴定用户系统根据用户计算结果是否正确鉴定用户身份身份2.存取控制存取控制l存取控制机制的功能存取控制机制的功能存取控制机制的组成存取控制机制的组成定义存取权限定义存取权限检查存取权限检查存取权限用户权限定义和合法权检查机制一起组成用户权限定义和合法权检查机制一起组成了了DBMS的安全子系统的安全子系统存取控制(续)存取控制(续)定义存取权限定义存取权限在数据库系统中,为了保证用户只能访问在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户他有权存取的数据,必须预先对每个用户定义存取权限。定义存取权限。检查存取权限检查存取权限对于通过鉴定获得上机权的用户(即合法对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行的各种操作请求进行控制,确保他只执行合法操作。合法操作。存取控制(续)存取控制(续)l定义存取权限定义存取权限存取权限存取权限存取权限由两个要素组成存取权限由两个要素组成数据对象数据对象操作类型操作类型存取控制(续)存取控制(续)定义存取权限定义存取权限定义一个用户可以在哪些数据对象上进行定义一个用户可以在哪些数据对象上进行哪些类型的操作哪些类型的操作在数据库系统中,定义存取权限称为授权在数据库系统中,定义存取权限称为授权(Authorization)授权定义经过编译后存放在数据字典中授权定义经过编译后存放在数据字典中存取控制(续)存取控制(续)关系系统中的存取权限关系系统中的存取权限类型类型数据对象数据对象操作类型操作类型模模式式模模式式建立、修改、删除建立、修改、删除外模式外模式建立、删除建立、删除内模式内模式建立、删除建立、删除数数据据 表表查找、插入、修改、删除查找、插入、修改、删除属性列属性列查找、插入、修改、删除查找、插入、修改、删除存取控制(续)存取控制(续)关系系统中的存取权限关系系统中的存取权限(续续)定义方法定义方法GRANT/REVOKE自主存取控制方法(续)自主存取控制方法(续)关系系统中的存取权限关系系统中的存取权限(续续)例例:一张授权表一张授权表用户名用户名数据对象名数据对象名允许的操作类型允许的操作类型王平王平关系关系StudentSELECT李青李青关系关系StudentUPDATE李青李青关系关系CourseALL李青李青关系关系SCUPDATE李青李青关系关系SCSELECT李青李青关系关系SCSELECT存取控制(续)存取控制(续)l检查存取权限检查存取权限对于获得上机权后又进一步发出存取数据库对于获得上机权后又进一步发出存取数据库操作的用户操作的用户DBMS查找数据字典,根据其存取权限对查找数据字典,根据其存取权限对操作的合法性进行检查操作的合法性进行检查若用户的操作请求超出了定义的权限,系若用户的操作请求超出了定义的权限,系统将拒绝执行此操作统将拒绝执行此操作存取控制(续)存取控制(续)l授权粒度授权粒度授权粒度是指可以定义的数据对象的范围授权粒度是指可以定义的数据对象的范围它是衡量授权机制是否灵活的一个重要指它是衡量授权机制是否灵活的一个重要指标。标。授权定义中数据对象的粒度越细,即可以授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统定义的数据对象的范围越小,授权子系统就越灵活。就越灵活。存取控制(续)存取控制(续)关系数据库中授权的数据对象粒度关系数据库中授权的数据对象粒度数据库数据库表表属性列属性列行行能否提供与数据值有关的授权反映了授权子能否提供与数据值有关的授权反映了授权子系统精巧程度系统精巧程度存取控制(续)存取控制(续)l实现与数据值有关的授权实现与数据值有关的授权利用存取谓词利用存取谓词存取谓词可以很复杂存取谓词可以很复杂可以引用系统变量,如终端设备号,可以引用系统变量,如终端设备号,系统时钟等,实现与时间地点有关的系统时钟等,实现与时间地点有关的存取权限,这样用户只能在某段时间存取权限,这样用户只能在某段时间内,某台终端上存取有关数据内,某台终端上存取有关数据例:规定例:规定“教师只能在每年教师只能在每年1月份和月份和7月份星期一月份星期一至星期五上午至星期五上午8点到下午点到下午5点处理学生成绩数据点处理学生成绩数据”。存取控制(续)存取控制(续)例:扩充后的授权表例:扩充后的授权表用户名用户名数据对象名数据对象名允许的操作类型允许的操作类型存取谓词存取谓词王平王平关系关系StudentSELECTSdept=CS 张张明明霞霞关关系系StudentUPDATESname=张张明明霞霞 张明霞张明霞关系关系CourseALL空空3.定义视图定义视图l视图机制把要保密的数据对无权存取这些数据视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。程度的安全保护。l视图机制更主要的功能在于提供数据独立性,视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应其安全保护功能太不精细,往往远不能达到应用系统的要求。用系统的要求。定义视图(续)定义视图(续)l在实际应用中通常是视图机制与授权机制配合在实际应用中通常是视图机制与授权机制配合使用,首先用视图机制屏蔽掉一部分保密数据,使用,首先用视图机制屏蔽掉一部分保密数据,然后在视图上面再进一步定义存取权限。然后在视图上面再进一步定义存取权限。这时视图机制实际上间接实现了支持存取谓这时视图机制实际上间接实现了支持存取谓词的用户权限定义词的用户权限定义定义视图(续)定义视图(续)例:王平只能检索计算机系学生的信息例:王平只能检索计算机系学生的信息先建立计算机系学生的视图先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECTFROMStudentWHERESdept=CS;定义视图(续)定义视图(续)在视图上进一步定义存取权限在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平王平;4.审计审计l什么是审计什么是审计审计功能启用一个专用的审计日志(审计功能启用一个专用的审计日志(AuditLog),),系统自动将用户对数据库的所有操系统自动将用户对数据库的所有操作记录在上面作记录在上面DBA可以利用审计日志中的追踪信息,重现可以利用审计日志中的追踪信息,重现导致数据库现有状况的一系列事件,以找出导致数据库现有状况的一系列事件,以找出非法存取数据的人非法存取数据的人C2以上安全级别的以上安全级别的DBMS必须具有审计功能必须具有审计功能审计(续)审计(续)l审计功能的可选性审计功能的可选性审计很费时间和空间,所以审计很费时间和空间,所以DBMS往往都将往往都将其作为可选特征其作为可选特征DBA可以根据应用对安全性的要求,灵活可以根据应用对安全性的要求,灵活地打开或关闭审计功能。地打开或关闭审计功能。审计(续)审计(续)用户识别和鉴定、存取控制、视图等安全性用户识别和鉴定、存取控制、视图等安全性措施均为强制性机制,将用户操作限制在规措施均为强制性机制,将用户操作限制在规定的安全范围内。审计技术是预防手段,监定的安全范围内。审计技术是预防手段,监测可能的不合法行为。测可能的不合法行为。审计(续)审计(续)由于任何系统的安全性措施都不可能是完美由于任何系统的安全性措施都不可能是完美无缺的,蓄意盗窃、破坏数据的人总是想方无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。所以,当数据相当敏感,或设法打破控制。所以,当数据相当敏感,或者对数据的处理极为重要时,就必须使用审者对数据的处理极为重要时,就必须使用审计技术。计技术。5.数据加密数据加密l数据加密数据加密防止数据库中数据在存储和传输中失密的有防止数据库中数据在存储和传输中失密的有效手段效手段l加密的基本思想加密的基本思想根据一定的算法将原始数据(术语为明文,根据一定的算法将原始数据(术语为明文,Plaintext)变换为不可直接识别的格式(术变换为不可直接识别的格式(术语为密文,语为密文,Ciphertext)不知道解密算法的人无法获知数据的内容不知道解密算法的人无法获知数据的内容数据加密(续)数据加密(续)l加密方法加密方法替换方法替换方法使用密钥(使用密钥(EncryptionKey)将明文中的每一个将明文中的每一个字符转换为密文中的一个字符字符转换为密文中的一个字符置换方法置换方法将明文的字符按不同的顺序重新排列将明文的字符按不同的顺序重新排列这两种方法结合能提供相当高的安全程度这两种方法结合能提供相当高的安全程度例:美国例:美国1977年制定的官方加密标准:数据加密标年制定的官方加密标准:数据加密标准(准(DataEncryptionStandard,简称简称DES)数据加密(续)数据加密(续)lDBMS中的数据加密中的数据加密有些数据库产品提供了数据加密例行程序有些数据库产品提供了数据加密例行程序有些数据库产品本身未提供加密程序,但提有些数据库产品本身未提供加密程序,但提供了接口供了接口数据加密(续)数据加密(续)l数据加密功能通常也作为可选特征,允数据加密功能通常也作为可选特征,允许用户自由选择许用户自由选择数据加密与解密是比较费时的操作数据加密与解密是比较费时的操作数据加密与解密程序会占用大量系统资源数据加密与解密程序会占用大量系统资源应该只对高度机密的数据加密应该只对高度机密的数据加密5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5.1.2Oracle数据库的安全性措施数据库的安全性措施5.1.2Oracle数据库的安全性措施数据库的安全性措施lORACLE的安全措施的安全措施:用户标识和鉴定用户标识和鉴定授权和检查机制授权和检查机制审计技术审计技术用户通过触发器灵活定义自己的安全性措施用户通过触发器灵活定义自己的安全性措施一、一、ORACLE的用户标识和鉴定的用户标识和鉴定lORACLE允许用户重复标识三次允许用户重复标识三次l如果三次仍未通过,系统自动退出如果三次仍未通过,系统自动退出二、二、ORACLE的授权与检查机制的授权与检查机制lORACLE授权和检查机制的特色授权和检查机制的特色ORACLE的权限包括的权限包括系统权限系统权限和和数据库对象的权限数据库对象的权限采用非集中式的授权机制采用非集中式的授权机制每个用户授予与回收自己创建的数据库对象的权限每个用户授予与回收自己创建的数据库对象的权限DBA负责授予与回收系统权限,也可以授予与回收负责授予与回收系统权限,也可以授予与回收所有数据库对象的权限所有数据库对象的权限允许重复授权,即可将某一权限多次授予同一用户,允许重复授权,即可将某一权限多次授予同一用户,系统不会出错系统不会出错允许无效回收,即用户不具有某权限,但回收此权允许无效回收,即用户不具有某权限,但回收此权限的操作仍是成功的。限的操作仍是成功的。ORACLE的授权与检查机制(续)的授权与检查机制(续)lORACLE的权限的权限系统权限系统权限数据库对象的权限数据库对象的权限1.系统权限系统权限l80多种系统权限多种系统权限创建会话创建会话创建表创建表创建视图创建视图创建用户创建用户系统权限(续)系统权限(续)lDBA在创建一个用户时需要将其中的一些权限在创建一个用户时需要将其中的一些权限授予该用户授予该用户l角色角色ORACLE支持角色的概念。支持角色的概念。角色就是一组系统权限的集合,目的在于减角色就是一组系统权限的集合,目的在于减化权限管理。化权限管理。ORACLE允许允许DBA定义角色定义角色ORACLE提供的预定义角色提供的预定义角色CONNECTRESOURCEDBA系统权限(续)系统权限(续)lCONNECT角色角色允许用户登录数据库并执行数据查询和操纵允许用户登录数据库并执行数据查询和操纵ALTERTABLECREATEVIEW/INDEXDROPTABLE/VIEW/INDEXGRANT,REVOKEINSERT,UPDATE,DELETESELETEAUDIT/NOAUDIT系统权限(续)系统权限(续)lRESOURCE角色角色允许用户建表,即执行允许用户建表,即执行CREATETABLE操操作作由于创建表的用户将拥有该表,因此他具有由于创建表的用户将拥有该表,因此他具有对该表的任何权限对该表的任何权限系统权限(续)系统权限(续)lDBA角色角色允许用户执行授权命令,建表,对任何表的允许用户执行授权命令,建表,对任何表的数据进行操纵。数据进行操纵。DBA角色涵盖了前两种角色,此外还可以执角色涵盖了前两种角色,此外还可以执行一些管理操作。行一些管理操作。DBA角色拥有最高级别的权限。角色拥有最高级别的权限。系统权限(续)系统权限(续)例:例:DBA建立一用户建立一用户U12后,欲将后,欲将ALTERTABLE、CREATEVIEW、CREATEINDEX、DROPTABLE、DROPVIEW、DROPINDEX,GRANT,REVOKE、INSERT、SELETE、UPDATE、DELETE、AUDIT、NOAUDIT等系统权限授予等系统权限授予U12,则可以只简则可以只简单地将单地将CONNECT角色授予角色授予U12即可:即可:GRANTCONNECTTOU12;这样就可以省略十几条这样就可以省略十几条GRANT语句。语句。2.数据库对象的权限数据库对象的权限lORACLE可以授权的数据库对象可以授权的数据库对象基本表基本表视图视图序列序列同义词同义词存储过程存储过程函数函数数据库对象的权限(续)数据库对象的权限(续)l基本表的安全性级别基本表的安全性级别表级表级行级行级列级列级数据库对象的权限(续)数据库对象的权限(续)l表级安全性表级安全性表的创建者或表的创建者或DBA可以把对表的权限授予其可以把对表的权限授予其他用户他用户数据库对象的权限(续)数据库对象的权限(续)表级权限表级权限ALTER:修改表定义修改表定义DELETE:删除表记录删除表记录INDEX:在表上建索引在表上建索引INSERT:向表中插入数据记录向表中插入数据记录SELECT:查找表中记录查找表中记录UPDATE:修改表中的数据修改表中的数据ALL:上述所有权限上述所有权限数据库对象的权限(续)数据库对象的权限(续)表级授权使用表级授权使用GRANTREVOKE语句语句例:例:GRANTSELECTONSCTOU12;数据库对象的权限(续)数据库对象的权限(续)l行级安全性行级安全性ORACLE行级安全性由视图间接实现行级安全性由视图间接实现数据库对象的权限(续)数据库对象的权限(续)例:用户例:用户U1只允许用户只允许用户U12查看自己创建的查看自己创建的Student表中有关信息系学生的信息,则首先创表中有关信息系学生的信息,则首先创建视图信息系学生视图建视图信息系学生视图S_IS:CREATEVIEWS_ISASSELECTSno,Sname,Ssex,Sage,SdeptFROMStudentWHERESdept=IS;然后将关于该视图的然后将关于该视图的SELECT权限授予权限授予U12用户:用户:GRANTSELECTONS_ISTOU12;数据库对象的权限(续)数据库对象的权限(续)l列级安全性列级安全性实现方法实现方法由视图间接实现由视图间接实现直接在基本表上定义直接在基本表上定义数据库对象的权限(续)数据库对象的权限(续)l列级安全性列级安全性(续续)借助视图实现列级安全性借助视图实现列级安全性CREATEVIEWS_VASSELECTSno,SnameFROMStudent;GRANTSELECTONS_VTOU12;数据库对象的权限(续)数据库对象的权限(续)l列级安全性列级安全性(续续)直接在基本表上定义列级安全性直接在基本表上定义列级安全性例:例:GRANTUPDATE(Sno,Cno)ONSCTOU12;数据库对象的权限(续)数据库对象的权限(续)l三级对象的层次结构三级对象的层次结构表、行、列三级对象自上而下构成一个层次表、行、列三级对象自上而下构成一个层次结构结构上一级对象的权限制约下一级对象的权限上一级对象的权限制约下一级对象的权限例:当一个用户拥有了对某个表的例:当一个用户拥有了对某个表的UPDATE权权限,即相当于在表的所有列了都拥有了限,即相当于在表的所有列了都拥有了UPDATE权限。权限。数据库对象的权限(续)数据库对象的权限(续)lORACLE对数据库对象的权限采用分散控制方对数据库对象的权限采用分散控制方式式允许具有允许具有WITHGRANTOPTION的用户把的用户把相应权限或其子集传递授予其他用户相应权限或其子集传递授予其他用户lORACLE不允许循环授权,即授权者不能把权不允许循环授权,即授权者不能把权限再授予其授权者或祖先限再授予其授权者或祖先U1U2U3U4ORACLE的授权与检查机制(续)的授权与检查机制(续)lORACLE的权限检查机制的权限检查机制ORACLE把所有权限信息记录在数据字典中把所有权限信息记录在数据字典中当用户进行数据库操作时,当用户进行数据库操作时,ORACLE首先根首先根据数据字典中的权限信息,检查操作的合法据数据字典中的权限信息,检查操作的合法性。性。在在ORACLE中,安全性检查是任何数据库操中,安全性检查是任何数据库操作的第一步。作的第一步。三、三、ORACLE的审计技术的审计技术l审计分类审计分类审计分类审计分类用户级审计用户级审计系统级审计系统级审计三、三、ORACLE的审计技术的审计技术l审计分类审计分类(续续)用户级审计用户级审计设置者设置者任何任何ORACLE用户用户审计对象审计对象用户针对自己创建的数据库表或视图进行审计用户针对自己创建的数据库表或视图进行审计审计内容审计内容所有用户对这些表或视图的一切成功和或不所有用户对这些表或视图的一切成功和或不成功的访问要求成功的访问要求所有用户对这些表或视图的各类所有用户对这些表或视图的各类SQL操作操作ORACLE的审计技术的审计技术(续续)l审计分类审计分类(续续)系统级审计系统级审计设置者设置者DBA审计对象和内容审计对象和内容成功或失败的登录要求成功或失败的登录要求GRANT和和REVOKE操作操作其他数据库级权限下的操作其他数据库级权限下的操作ORACLE的审计技术(续)的审计技术(续)l审计设置审计设置可以自由设置可以自由设置是否使用审计是否使用审计对哪些表进行审计对哪些表进行审计对哪些操作进行审计对哪些操作进行审计ORACLE的审计技术(续)的审计技术(续)l审计设置审计设置(续续)设置方法设置方法AUDIT:设置审计功能设置审计功能例:例:AUDITALTER,UPDATEONSC;NOAUDIT:取消审计功能取消审计功能例:例:NOAUDITALLONSC;ORACLE的审计技术(续)的审计技术(续)l与审计功能有关的数据字典表与审计功能有关的数据字典表SYS.TABLES:审计设置审计设置SYS.AUDIT_TRAIL:审计内容审计内容四、用户定义的安全性措施四、用户定义的安全性措施l用数据库级触发器定义用户级安全性用数据库级触发器定义用户级安全性例:规定只能在工作时间内更新例:规定只能在工作时间内更新Student表表可以定义如下触发器:可以定义如下触发器:用户定义的安全性措施(续)用户定义的安全性措施(续)CREATEORREPLACETRIGGERsecure_studentBEFOREINSERTORUPDATEORDELETEONStudentBEGINIF(TO_CHAR(sysdate,DY)IN(SAT,SUN)OR(TO_NUMBER(sysdate,HH24)NOTBETWEEN8AND17)THENRAISE_APPLICATION_ERROR(-20506,Youmayonlychangedataduringnormalbusinesshours.)ENDIF;END;用户定义的安全性措施(续)用户定义的安全性措施(续)触发器一经定义后,将存放在数据字典中触发器一经定义后,将存放在数据字典中用户每次对用户每次对Student表执行表执行INSERT、UPDATE或或DELETE操作时都会自动触发该操作时都会自动触发该触发器,由系统检查当时的系统时间,如果触发器,由系统检查当时的系统时间,如果是周六或周日,或者不是是周六或周日,或者不是8点至点至17点,系统点,系统会拒绝执行用户的更新操作,并提示出错信会拒绝执行用户的更新操作,并提示出错信息。息。用户定义的安全性措施(续)用户定义的安全性措施(续)l利用触发器进一步细化审计规则,使审利用触发器进一步细化审计规则,使审计操作的粒度更细计操作的粒度更细第第5章章数据库安全数据库安全l5.1安全性安全性l5.2完整性完整性l5.3并发控制并发控制l5.4恢复恢复l5.5数据库复制与数据库镜像数据库复制与数据库镜像5.2完整性完整性l什么是数据库的完整性什么是数据库的完整性数数据据库库的的完完整整性性是是指指数数据据的的正正确确性性和和相相容容性性,防止不合语义的数据进入数据库。防止不合语义的数据进入数据库。例例:学生的年龄必须是整数,取值范围为学生的年龄必须是整数,取值范围为14-29;学生的性别只能是男或女;学生的性别只能是男或女;学生的学号一定是唯一的;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;学生所在的系必须是学校开设的系;数数据据库库是是否否具具备备完完整整性性关关系系到到数数据据库库系系统统能能否否真真实实地地反反映映现现实实世世界界,因因此此维维护护数数据据库库的的完整性是非常重要的。完整性是非常重要的。完整性(续)完整性(续)l完整性控制机制完整性控制机制1.完整性约束条件定义机制完整性约束条件定义机制2.完整性检查机制完整性检查机制3.违约反应违约反应完整性(续)完整性(续)l完整性控制机制完整性控制机制(续续)1.完整性约束条件定义机制完整性约束条件定义机制完整性约束条件是数据模型的一个重要组成完整性约束条件是数据模型的一个重要组成部分部分,它约束了数据库中数据的语义。它约束了数据库中数据的语义。DBMS应提供手段让用户根据现实世界的语应提供手段让用户根据现实世界的语义定义数据库的完整性约束条件,并把它们义定义数据库的完整性约束条件,并把它们作为模式的一部分存入数据库中。作为模式的一部分存入数据库中。完整性(续)完整性(续)l完整性控制机制完整性控制机制(续续)2.完整性检查机制完整性检查机制检查用户发出的操作请求是否违背了完整性检查用户发出的操作请求是否违背了完整性约束条件。约束条件。完整性(续)完整性(续)l完整性控制机制完整性控制机制(续续)3.违约反应违约反应如果发现用户的操作请求使数据违背了完整如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据性约束条件,则采取一定的动作来保证数据的完整性。的完整性。5.2完整性完整性5.2.1完整性约束条件完整性约束条件5.2.2完整性控制完整性控制5.2.3Oracle的完整性的完整性5.2完整性完整性5.2.1完整性约束条件完整性约束条件5.2.2完整性控制完整性控制5.2.3Oracle的完整性的完整性5.2.1完整性约束条件完整性约束条件l整个完整性控制都是围绕完整性约束条件进行整个完整性控制都是围绕完整性约束条件进行的,从这个角度说,完整性约束条件是完整性的,从这个角度说,完整性约束条件是完整性控制机制的核心。控制机制的核心。完整性约束条件(续)完整性约束条件(续)l完整性约束条件作用的对象完整性约束条件作用的对象对象对象列列对属性的取值类型、范围、精度等的对属性的取值类型、范围、精度等的约束条件约束条件元组元组对元组中各个属性列间的联系的约束对元组中各个属性列间的联系的约束关系关系对若干元组间、关系集合上以及关系对若干元组间、关系集合上以及关系之间的联系的约束之间的联系的约束完整性约束条件(续)完整性约束条件(续)l完整性约束条件作用的对象完整性约束条件作用的对象(续续)对象的状态对象的状态静态静态对静态对象的约束是反映数据库状态对静态对象的约束是反映数据库状态合理性的约束合理性的约束这是最重要的一类完整性约束这是最重要的一类完整性约束动态动态对动态对象的约束是反映数据库状态对动态对象的约束是反映数据库状态变迁的约束变迁的约束完整性约束条件(续)完整性约束条件(续)l完整性约束条件分类完整性约束条件分类六类完整性约束条件六类完整性约束条件静态列级约束静态列级约束静态元组约束静态元组约束静态关系约束静态关系约束动态列级约束动态列级约束动态元组约束动态元组约束动态关系约束动态关系约束完整性约束条件(续)完整性约束条件(续)对象状态对象状态动态列级约束动态列级约束动态元组约束动态元组约束动态关系约束动态关系约束动态动态静态列级约束静态列级约束静态元组约束静态元组约束静态关系约束静态关系约束静态静态列列元组元组关系关系对象粒度对象粒度完整性约束条件(续)完整性约束条件(续)l1.静态列级约束静态列级约束静态列级约束是对一个列的取值域的说明,静态列级约束是对一个列的取值域的说明,这是最常见最简单同时也最容易实现的一类这是最常见最简单同时也最容易实现的一类完整性约束完整性约束完整性约束条件(续)完整性约束条件(续)五类静态列级约束五类静态列级约束1)对数据类型的约束,包括数据的类型、长对数据类型的约束,包括数据的类型、长度、单位、精度等度、单位、精度等例:规定学生姓名的数据类型应为字符型,例:规定学生姓名的数据类型应为字符型,长度为长度为8。2)对数据格式的约束对数据格式的约束例:规定学号的格式为前两位表示入学年份,例:规定学号的格式为前两位表示入学年份,后四位为顺序编号。出生日期的格式为后四位为顺序编号。出生日期的格式为YY.MM.DD。完整性约束条件(续)完整性约束条件(续)3)对取值范围或取值集合的约束对取值范围或取值集合的约束例:规定成绩的取值范围为例:规定成绩的取值范围为0-100,年龄的,年龄的取值范围为取值范围为14-29,性别的取值集合为,性别的取值集合为男男,女女。4)对空值的约束对空值的约束空值表示未定义或未知的值,它与零值和空空值表示未定义或未知的值,它与零值和空格不同。有的列允许空值,有的则不允许。格不同。有的列允许空值,有的则不允许。例如规定成绩可以为空值。例如规定成绩可以为空值。5)其他约束其他约束例:关于列的排序说明,组合列等。例:关于列的排序说明,组合列等。完整性约束条件(续)完整性约束条件(续)l2.静态元组约束静态元组约束静态元组约束就是规定组成一个元组的各个静态元组约束就是规定组成一个元组的各个列之间的约束关系。列之间的约束关系。例:订货关系中包含发货量、订货量等列,例:订货关系中包含发货量、订货量等列,发货量不得超过订货量发货量不得超过订货量教师关系中包含职称、工资等列,教师关系中包含职称、工资等列,教授的工资不得低于教授的工资不得低于700元元静态元组约束只局限在单个元组上静态元组约束只局限在单个元组上完整性约束条件(续)完整性约束条件(续)l3.静态关系约束静态关系约束在一个关系的各个元组之间或者若干关系之在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束间常常存在各种联系或约束常见静态关系约束常见静态关系约束1)实体完整性约束实体完整性约束2)参照完整性约束参照完整性约束3)函数依赖约束函数依赖约束4)统计约束统计约束完整性约束条件(续)完整性约束条件(续)函数依赖约束函数依赖约束大部分函数依赖约束都是隐含在关系模式大部分函数依赖约束都是隐含在关系模式结构中的,特别是规范化程度较高的关系结构中的,特别是规范化程度较高的关系模式(例如模式(例如3NF或或BCNF),),都由模式来都由模式来保持函数依赖。保持函数依赖。但是在实际应用中,为了不使信息过于分但是在实际应用中,为了不使信息过于分离,常常不过分地追求规范化。离,常常不过分地追求规范化。完整性约束条件(续)完整性约束条件(续)函数依赖约束函数依赖约束(续续)这样在关系的字段间就可以存在一些函数这样在关系的字段间就可以存在一些函数依赖需要显式地表示出来。依赖需要显式地表示出来。例:在学生课程教师关系例:在学生课程教师关系SJT(S,J,T)中中存在如下的函数依赖存在如下的函数依赖(S,J)T,TJ),将将(S,J)作为主码,还需要显式地表示作为主码,还需要显式地表示TJ这个函数依赖。这个函数依赖。完整性约束条件(续)完整性约束条件(续)统计约束统计约束定义某个字段值与一个关系多个元组的统定义某个字段值与一个关系多个元组的统计值之间的约束关系计值之间的约束关系例:规定部门经理的工资不得高于本部门职工平例:规定部门经理的工资不得高于本部门职工平均工资的均工资的5倍,不得低于本部门职工平均工资的倍,不得低于本部门职工平均工资的2倍。本部门职工的平均工资值是一个统计计算值。倍。本部门职工的平均工资值是一个统计计算值。完整性约束条件(续)完整性约束条件(续)l4.动态列级约束动态列级约束动态列级约束是修改列定义或列值时应满足动态列级约束是修改列定义或列值时应满足的约束条件的约束条件完整性约束条件(续)完整性约束条件(续)常见动态列级约束常见动态列级约束1)修改列定义时的约束修改列定义时的约束例:规定将原来允许空值的列改为不允许空值时,例:规定将原来允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。如果该列目前已存在空值,则拒绝这种修改。2)修改列值时的约束修改列值时的约束修改列值有时需要参照其旧值,并且新旧修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。值之间需要满足某种约束条件。例:职工工资调整不得低于其原来工资,学生年例:职工工资调整不得低于其原来工资,学生年龄只能增长龄只能增长完整性约束条件(续)完整性约束条件(续)l5.动态元组约束动态元组约束动态元组约束是指修改某个元组的值时需要动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种参照其旧值,并且新旧值之间需要满足某种约束条件。约束条件。例例:职工工资调整不得低于其原来工资职工工资调整不得低于其原来工资+工龄工龄*1.5完整性约束条件(续)完整性约束条件(续)l6.动态关系约束动态关系约束动态关系约束是加在关系变化前后状态上的动态关系约束是加在关系变化前后状态上的限制条件限制条件例:事务一致性、原子性等约束条件例:事务一致性、原子性等约束条件完整性约束条件(续)完整性约束条件(续)l完整性约束条件小结完整性约束条件小结粒粒度度状态状态列列级级元元组组级级关关系系级级静静态态列定义列定义类型类型格式格式值域值域空值空值元元组组值值应应满满足足

    注意事项

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

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开