数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理

上传人:E**** 文档编号:89498715 上传时间:2019-05-25 格式:PPT 页数:70 大小:440KB
返回 下载 相关 举报
数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理_第1页
第1页 / 共70页
数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理_第2页
第2页 / 共70页
数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理_第3页
第3页 / 共70页
数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理_第4页
第4页 / 共70页
数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理》由会员分享,可在线阅读,更多相关《数据库原理及应用 教学课件 ppt 作者 王雯 第9章 数据库管理(70页珍藏版)》请在金锄头文库上搜索。

1、第9章 数据库管理,本章学习目标 理解数据库安全级别和权限 掌握事务的概念和性质 理解并发控制和并发处理 掌握数据库的备份与恢复方法与策略 掌握数据库完整性的规则、约束和实现方式,2,第9章 数据库管理,9.1数据库的安全性 9.2事务处理 9.3并发处理与控制 9.4数据库的备份与恢复 9.5数据库完整性的控制,3,9.1数据库的安全性,一、定义: 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。 安全性的问题涉及到许多方面,其中包括: 法律、社会和伦理方面的问题,例如请求查询人是不是有合法的权限; 物理控制方面的问题,例如机房的保护措施; 政策方面的问题;如公安

2、监察等系统人员允许存取指定的数据; 允许方面的问题,如使用口令保密问题; 硬件控制方面的问题,如CPU的安全性; 操作系统的安全性问题;如Windows和Linux/Unix的本身安全; 数据库系统本事的安全性问题;,4,9.1数据库的安全性 9.1.1安全性控制,安全性控制是指要尽可能地杜绝所有可能地数据库非法访问。在计算机系统中安全措施是一级一级层层设置的。书中图9-1是计算机系统的安全模型。 在这里只讨论与数据库有关的安全性控制方法,主要由用户标识和鉴别、存取控制、视图和密码存储等安全技术。 1用户标识和鉴别 数据库是不允许一个未经授权的用户对数据库进行操作的。用户标识和鉴别是系统提供的

3、最外层的安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴别后才提供机器的使用权。一般采用用户名和口令的方式进行,高安全级别可以采用指纹的方式,更高级别可采用眼角膜的方式进行标识与鉴定。,9.1数据库的安全性 9.1.1安全性控制,2用户存取权限控制 用户存取权限是指不同的用户对于不同的数据对象允许执行的操作权限。在数据库系统中,每个用户只能访问他有权限存取的数据并执行有权限使用的操作。因此,系统必须预先定义用户的存取权限,存取权限由两个因素组成,数据对象和操作类型。定义一个用户的存取权限就是要

4、定义这个用户可以在哪些数据对象上可以进行哪些类型的操作,这就是通常所说的授权。,9.1数据库的安全性 9.1.1安全性控制,3定义视图 为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保护的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度地安全保护。在实际应用中通常将视图机制与授权机制结合起来使用,就是先用视图机制屏蔽一部分保密数据,在视图上进一步定义存取权限,达到一定的安全目标。 4数据加密 前面几种安全措施都是防止通过正常渠道从数据库系统窃取保密数据,不能防止通过不正常渠道非法访问数据。例如在通信线路上窃取数据,为了防止这些活动,比较好的方式是对数

5、据加密。数据加密是防止数据库中数据在存储和传输中失密的有效手段,通常采用的加密方式有替换加密,就是使用密钥将文中的每一个字符转换成密文中的字符。还有一种就是转换加密。就是将文中的字符按不同的顺序重新排列。在实际当中通常会将两者结合起来使用,以达到更高的安全程度,而且现在已经有了各种各样的加密算法。,9.1数据库的安全性 9.1.1安全性控制,5审计 任何系统的安全保护措施都不是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。审计功能把用户对数据库的所有操作自动记录下来放入审计日志(Audit log)中。DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据

6、的人、时间和内容等。 审计通常是很费时间和空间的,会大大增加系统地开销,所以DBMS往往都将其作为可选特征,允许DBA根据应用安全的要求,灵活地打开或关闭审计功能。,9.1数据库的安全性 9.1.1安全级别,访问控制是对用户访问数据库各种资源(表、视图、系统目录、使用程序等)的权限(包括创建、查询、修改、删除、执行等)的控制。也就是说,用户必须获得对数据库对象(比如表、视图等)的操作权限,才能在规定的权限之内操作数据库。 按用户权限的大小,一般可将用户划分为如下三类。 1具有DBA特权的数据库用户 2支配部分数据库资源特权的数据库用户 3一般数据库用户,9,9.1数据库的安全性 9.1.3权限

7、,用户或应用程序使用数据库的方式称为权限。 1访问数据库的权限 (1)读权限:允许用户读数据,但不能修改。 (2)插入权限 :允许用户插入新的数据,但不能修改数据。 (3)修改权限:允许用户修改数据,但不能删除数据。 (4)删除权限:允许用户删除数据。 2修改模式的权限 (1)索引权限:允许用户创建和删除索引。 (2)资源权限:允许用户创建新的关系。 (3)修改权限:允许用户在关系结构中加入或删除属性。 (4)撤消权限:允许用户撤销关系。,10,9.1数据库的安全性 9.1.3权限,3SQL中用户的权限 (1)SELECT:允许用户对关系或视图进行SELECT操作。 (2)INSERT:允许用

8、户对关系或视图进行INSERT操作,如果还说明了一个属性表,那么表示只能插入这些属性的值,关系中其他属性值将置为缺省值或空值。 (3)DELETE:允许用户对关系或视图进行DELECT操作。 (4)UPDATE:允许用户对关系或视图进行UPDATE操作。 (5)REFERENCES:允许用户定义新关系时,引用其他关系的主码和外码。 (6)USAGE:允许用户使用已定义的域。,11,9.1数据库的安全性 9.1.4 SQL中的安全性的控制,1角色的概念 在SQL中是通过权限和视图实现安全性控制的,为了避免为多个具有相同权限的用户进行多次授权和回收权限的繁琐操作。可以为每一类人定义一个角色。 在S

9、QL Server2005系统中,系统定义了一些固定的角色,还允许用户自定义角色。 (1)固定的服务器角色 (2)固定的数据库角色 (3)用户自定义角色,12,9.1数据库的安全性 9.1.4 SQL中的安全性的控制,【例9-1】向当前数据库中添加名为 Managers 的新角色。 EXEC sp_addrole Managers 2在角色中添加成员 利用系统存储过程sp_addrolemember可以在当前数据库中已存在的角色中添加成员。 【例9-2】将用户ZHA添加到当前数据库中的STUDENT角色。 EXEC sp_addrolemember STUDENT, ZHA 3授权和权限回收

10、角色管理之外,授权也是安全性控制的一个重要方式。授权就是给予用户一定的访问特权,即规定用户访问数据库的范围和操作限制。,13,9.1数据库的安全性 9.1.4 SQL中的安全性的控制,(1)授权 在SQL中,有两种授权,其一是由DBA授予某一类数据库用户的特权,只有获得这种授权才能够成为数据库特权用户,授权语句的基本格式: GRANT ALL | TO 登录账户 其二是DBA或数据库特权用户授予某个用户对某些数据对象进行某种操作权限。授权语句的基本格式: GRANT ON TO WITH GRANT OPTION (2)权限回收 在SQL中,对应两种授权语句,也有两种权限回收语句。其一是撤消D

11、BA授予某个数据库用户的特权。语句基本格式: REVOKE ALL | FROM 登录账户,14,9.1数据库的安全性 9.1.4 SQL中的安全性的控制,其二是DBA或数据库特权用户撤消授予某个用户对某些数据对象进行某种操作权限。语句基本格式: REVOKE ON FROM RESTRICT|CASCADE,15,9.1数据库的安全性 9.1.4 视图,视图是从一个或多个基本表导出的虚表,它的数据来自于一些基本表,在数据库中只存储有关视图的定义。DBMS将自动维护它,当基本表数据发生变化时,视图的数据也会自动地随之变化。用户可以像对基本表一样操作视图,但需要指定用户或用户组对该视图的访问权限

12、。 【例9-3】建立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作权授予张民。CREATE VIEW CS_STUDENT AS SELECT * FROM Student WHERE Sdept=”CS” GRANT SELECT ON CS_Student TO 王平 GRANT ALL PRIVILEGES ON CS_Student TO 张民,16,9.2事务处理 9.2.1事务的概念,事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列,这些操作要么全作要么全不做,是一个不可分割地工作单元。一个事务可以是一组SQL语句、一条SQL语句或

13、整个程序,一个应用程序可以包括多个事务。 事务的开始和结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。在SQL语言中,定义事务地语句有3条: BEGIN TRANSACTION COMMIT ROLLBACK 事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。,17,9.2事务处理 9.2.1事务的性质,事务有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)四个特性,这四个特性简称为ACID特性。

14、 原子性 (Atomicity):事务是数据库的逻辑工作单位,事务中的诸操作应遵守“要么不做,要么全做”(nothing or all)的原则,即不允许事务部分地完成。 一致性 (Consistency):事务对数据库的作用应使数据库从一个一致状态转变到另一个一致状态。当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。 隔离性 (Isolation):一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的。如果多个事务并发地执行,应像各个事务独立执行一样,互不干扰。并发控制就是为了保证事务间的隔离性。 持久性 (Durability):一个事务一旦

15、提交,它对数据库中的数据的改变就应该是永久性的,后续的其他操作或故障不应该对其执行结果有任何影响,18,9.3并发处理与并发控制,如果事务顺序执行,即一个事务完全结束后,另一个事务才开始,则称这种执行方式为串行访问,如图9-3(a)所示。如果DBMS可以同时接纳多个事务,则称这种执行方式为并发访问,如图9-3(b)所示。在单CPU系统中,同一时间只能有一个事务占用CPU,各个事务交叉地使用CPU,这种并发方式称为交叉并发。在多个CPU的系统中,可以允许多个事务同时占有CPU,这种并发方式称为同时并发。,9.3并发处理与并发控制 9.3.1并发操作带来的问题,数据库的并发操作通常会导致以下三类问

16、题:丢失更新、不可重 复读数和读脏数据。 1丢失更新 假设有一个多用户的订单处理系统,甲乙两个业务员同时进行订单处理操作,假设两个人并发地从产品表存取产品号为“41004”的库存数量,执行的SQL语句序列和操作的顺序如图9-4所示。,20,9.3并发处理与并发控制 9.3.1并发操作带来的问题,21,9.3并发处理与并发控制 9.3.1并发操作带来的问题,2不可重复读 不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。具体地讲,不可重复读包括三种情况:事务T1读取某一数据后,事务T2执行更新操作,使T1无法再现前一次读取结果;事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读该数据时,发现某些数据记录神秘地消失了;事务T1按一定条件从数据库中读取了某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读该数据时,发现多了一些数据。,22,9.3并发处理与并发控制 9.3.1并发操作带来的问题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号