电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

sql数据库教程7讲(数据库保护)

48页
  • 卖家[上传人]:油条
  • 文档编号:2742364
  • 上传时间:2017-07-27
  • 文档格式:PPT
  • 文档大小:384KB
  • / 48 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、学习目的和要求 了解数据库安全性控制的措施理解完整性约束条件和控制机制理解并发控制的原则和方法了解恢复的原理及实现技术往年频繁考点:数据库安全性的概念安全性控制的一般方法:用户标识和鉴定、存取控制、定义视图、审计和密码存储。完整性的概念及其与安全性的区别,第 五 章 数据库安全保护,数据库系统中的数据是由DBMS统一进行管理和控制的。为了适应和满足数据共享的环境和要求,DBMS要保证整个系统的正常运转,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正常,这就是数据库的安全保护。DBMS对数据库的安全保护功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。,第 五 章 数据库安全保护,5.1 数据库安全性5.2 完整性控制5.3 并发控制5.4 数据库的恢复,5.1 数据库安全性,数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。安全性控制的一般方法对有意的非法活动可采用加密存、取数据的方法控制;对有意的非法操作可使用用户身份验证、限制操作权来控制;对无意的损坏可采用提高系统的可靠性和数据备份等方法来控制。,5.1 数

      2、据库安全性,安全控制模型 在计算机系统中,安全措施是一级一级层层设置的,安全控制模型如图5.1所示。,图5-1 计算机系统的安全控制模型,5.1 数据库安全性,根据图5.1的安全模型,当用户进入数据库系统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才准许进入系统。对已进入系统的用户,DBMS还要验证此用户是否具有操作权,有操作权才能进行操作。DBMS是建立在操作系统之上的,在操作系统一级设有相应的保护措施,比如设置文件的访问权限。数据可以通过加密的形式存储到数据库中,5.1 数据库安全性,一. 用户身份验证用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。如果正确,则可进入下一步的核实,否则,不能使用计算机。 用户标识符是用户公开的标识,它不足以成为鉴别用户身份的凭证。为了进一步核实用户身份,常采用用户名与口令(Password)相结合的方法,系统通过核对口令判别用户身份的真伪。系统有一张用户口令表,为每个用户保持一个记录,包括用户名和口令两部分数据。用户先输入用户名,然后系统要求用户输入口令。为了保密,用户在终端上输入的口令不显示在屏幕上。系统核对

      3、口令以鉴别用户身份。,5.1 数据库安全性,二. 用户操作权限管理,1.权限的种类 对数据库管理系统进行维护的权限 对数据库中的对象和数据进行操作的权限对数据库对象的权限,包括创建、删除和修改数据库对象对数据库数据的操作权,包括对表、视图数据的增、删、改、查权2.数据库用户的分类 (1)数据库系统管理员:具有一切权限。 (2)数据库对象拥有者:对其所拥有的对象具有一切权限。 (3)普通用户:只具有对数据库数据的增、删、改、查权。,5.2 完整性控制,一. 数据库完整性的含义 数据库的完整性是指保护数据库中数据的正确性、有效性和相容 性,防止错误的数据进入数据库造成无效操作。,有关完整性的含义在第一章中已作简要介绍。 比如年龄属于数值型数据,只能含0,1,9,不能含字母或 特殊符号; 月份只能用112之间的正整数表示; 表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个学号。,显然,维护数据库的完整性非常重要,数据库中的数据是否具备 完整性关系到数据能否真实地反映现实世界。,5.2 完整性控制,二. 完整性规则的组成为了实现完整性控制,数据库管理员应向DBMS提出一组完整性规

      4、则,来检查数据库中的数据,看其是否满足语义约束。这些语义约束构成了数据库的完整性规则,这组规则作为DBMS控制数据完整性的依据。它定义了何时检查、检查什么、查出错误又怎样处理等事项。具体地说,完整性规则主要由以下三部分构成:1 触发条件:规定系统什么时候使用规则检查数据;2 约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件;3 违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。,5.2 完整性控制,三. 完整性约束条件的作用对象,完整性约束条件的作用对象可以是表、元组和列。,1.列级约束:即对数据类型、数据格式、取值范围等进行规定。 对数据类型的约束,包括数据的类型、长度、单位和精度等。 例如,规定学生姓名的数据类型应为字符型,长度为8。 对数据格式的约束。例如,规定出生日期的数据格式为YY.MM.DD。 对取值范围的约束。例如,月份的取值范围为112,日期131 对空值的约束。空值表示未定义或未知的值,它与零值 空格不同。有的列值允许空值,有的则不允许。例如,学号和课程号不可以为空值,但成绩可以

      5、为空值,5.2 完整性控制,三. 完整性约束条件的作用对象,2.元组约束 元组的约束是元组中各个字段之间的联系的约束,如:开始日期小于结束日期,职工的最低工资不能低于规定的最低保障金等。3.关系约束 关系约束是指若干元组之间、关系之间的联系的约束。比如学号的取值不能重复也不能取空值,学生修课表中的学号的取值受学生表中的学号取值的约束等 。,5.3 并发控制,每个用户在存取数据库中的数据时,可能是串行执行,即每个时刻只有一个用户程序运行,也可能是多个用户并行地存取数据库。数据库的最大特点之一就是数据资源是共享的,串行执行意味着一个用户在运行程序时,其他用户程序必须等到这个用户程序结束才能对数据库进行存取,这样如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间将处于闲置状态。,因此,为了充分利用数据库资源,很多时候数据库用户都是对 数据库系统并行存取数据,这样就会发生多个用户并发存取同一 数据块的情况,如果对并发操作不加控制可能会产生不正确的数 据,破坏数据的完整性,并发控制就是解决这类问题,以保持数 据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式 给用户提

      6、供数据。,5.3 并发控制,一. 事务(Transaction),事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元.一个事务可以是一组SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。 例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作: 第一个动作:A帐户 n 第二个动作:B帐户 n,1. 事务的定义,5.3 并发控制,在SQL语言中,定义事务的语句有三条:BEGIN TRANSACTION:表示事务的开始;COMMIT(提交):表示事务的正常结束,即此时事务中所有操作都会保存到物理数据库中,成为永久操作ROLLBACK(回滚):表示事务的异常结束,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态。,例: BEGIN TRANSACTION UPDATE 支付表 SET 帐户总额 帐户总额 nWHERE 帐户名 A UPDATE 支付表 SET 帐户总额 帐户总额 nWHERE 帐户名 B

      7、COMMIT,5.3 并发控制,2. 事务的特征 为了保护数据的完整性,一般要求事务具有以下四个特征:原子性(Atomic):是指一个事务是一个不可分割的工作单位,事务在执行时,应该遵守“要么不做,要么全做”的原则,即不允许事务部分的完成。一致性(Consistency):是指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。例如前面的转帐如果只执行其中一个操作,则数据库处于不一致状态,帐务会出现问题。也就是说,两个操作要么全做,要么全不做,否则就不能成为事务。,5.3 并发控制,2. 事务的特征,隔离性(Isolation):指数据库中一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的。并发控制就是为了保证事务间的隔离性。持久性(Durability):指一个事务一旦提交,它对数据库中数据的改变就应该是持久的,即使数据库因故障而受到破坏,DBMS也应该能够恢复。,5.3 并发控制,二.并发操作与数据的不一致性,例并发订票操作。假设有两个飞机订票点A和B,如果A和B两个订票点恰巧同时办理同一架航班的飞机订票业务。该航班目前的机票余

      8、额数R =10张,A订票点(事务A)卖出6张机票, B订票点(事务B))卖出5张机票,如果正常操作,即事务A执行完毕再执行事务B ,则飞机票时不够的。但是如果按照如下顺序操作,则会有不同的结果:A订票点(事务A)读出航班目前的机票余额数R =10张;B订票点(事务B)读出航班目前的机票余额数R =10张;A订票点卖出6张机票,修改机票余额数R =106=4,把R =4写 回到数据库;B订票点卖出5张机票,修改机票余额数R =105=5,把R =5写回到数据库;,结果数据库中的票数却只少了5张,得到这种错误的结果是由两个事务并发操作引起的.,5.3 并发控制,数据库的并发操作导致的数据库不一致性主要 有以下四种:,丢失修改(Lost Update),污读(Dirty Read),不可重读(Unrepeatable Read),产生“幽灵”数据,5.3 并发控制,1丢失修改(Lost Update)当两个事务T1和T2读入同一数据做修改,并发执行时, T2把T1或T1把T2的修改结果覆盖掉。,5.3 并发控制,2污读(Dirty Read)事务T1更新了数据R,事务T2读取了更新后的数据R

      9、,事务T1由于某种原因被撤消,修改无效,数据R恢复原值。事务T2得到的数据与数据库的内容不一致,这种情况称为“污读”。,5.3 并发控制,3不可重读(Unrepeatable Read)事务T1读取了数据后,事务T2更新了T1读取的数据,当事务T1再读取数据以进行相同操作时,得到的两次值不一致,这种情况称为“不可重读”。,5.3 并发控制,4. 产生“幽灵”数据 实际属于不可重复读的范畴。指当事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中的部分记录,或者在其中添加了部分记录,则当T1再次按相同条件读取数据时,发现其中莫名其妙地少了(对删除)或多了(对插入)一些记录。这样的数据对T1来说就是“幽灵”数据或称“幻影”数据。,产生上述四类数据不一致性的主要原因就是并发操作破坏了事务的隔离性。并发控制就是要求DBMS提供并发控制功能以正确的方法调度并发事务,避免并发事务之间的相互干扰造成数据的不一致性,保证数据库的完整性。,5.3 并发控制,三.并发控制措施,并发控制的主要方式是封锁机制,即加锁(Locking)。 加锁就是事务T在对某个数据操作之前,先向系统发出请求,对其加锁。加锁后事务T对其要操作的数据具有了一定的控制权,在事务T释放它的锁之前,其他事务不能操作这些数据。,5.3 并发控制,共享锁(Share Lock,又称读锁,,简称为S锁)其采用的原理是允许其他用户对同一数据对象进行查询,但不能对该数据对象进行修改。事务T对数据对象A加了S锁,则事务T可以读A,但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放了A上的S锁。这就保证了其他事务在T释放R上的S锁之前,只能读取R,而不能再对R作任何修改。,基本的封锁类型有两种:排它锁和共享锁排它锁(Exclusive Lock,又称写锁,简称为X锁)其采用的原理是禁止并发操作。事务T对数据对象A加了X锁,则允许T读取和修改A,但不允许其它事务再对A加任何类型的锁和进行任何操作。,

      《sql数据库教程7讲(数据库保护)》由会员油条分享,可在线阅读,更多相关《sql数据库教程7讲(数据库保护)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.