数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章 数据库保护

上传人:w****i 文档编号:94398854 上传时间:2019-08-06 格式:PPT 页数:36 大小:519KB
返回 下载 相关 举报
数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章  数据库保护_第1页
第1页 / 共36页
数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章  数据库保护_第2页
第2页 / 共36页
数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章  数据库保护_第3页
第3页 / 共36页
数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章  数据库保护_第4页
第4页 / 共36页
数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章  数据库保护_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章 数据库保护》由会员分享,可在线阅读,更多相关《数据库原理与应用 教学课件 ppt 作者 肖锋 王建国第6章 数据库保护(36页珍藏版)》请在金锄头文库上搜索。

1、第6章 数据库保护 本 章 要 点 1.掌握数据库的安全性的概念,理解数据库中权限和用户的分类,并掌握数据库中权限的授权和收权。 2.掌握数据库完整性的概念,理解完整性约束条件,深入理解安全性和完整性的区别。 3.掌握数据库当中的故障的种类,理解数据库恢复中经常使用的数据库转储和登记日志文件等技术,了解对故障的恢复策略。,数据库保护指的是防止数据库中的数据被非法使用或非法修改,保证数据库中的数据正确、可靠,保证数据库中的数据不会丢失。因此,数据库保护包含三个方面的内容,第一是保证数据库中的数据不被破坏,这是通过数据库的安全机制实现的;第二是保证数据库中的世界与现实世界相符,这是通过数据库的完整

2、性控制机制实现的;第三是保证当由于各种原因而造成数据损害时,数据不会丢失,这是通过数据库的备份和恢复机制实现的。本章我们介绍这三方面的内容。,6.1 数据库安全性 安全性对于一个数据库管理系统来说是至关重要的。数据库通过存储了大量的数据,这些数据可能包括了个人信息、客户清单或其他机密资料。如果有人未经授权非法侵入了数据库,并查看和修改了数据,那么将会造成极大的危害,特别是在银行、金融等系统中更是如此。 安全性问题并非是数据库系统所独有,实际上在许多系统上都存在同样的问题。数据的安全控制是指在数据库系统的不同层次提供安全防范措施,以免数据库系统遭到有意或无意的损坏。 在数据库中,可采用加密存、取

3、数据的方法防止有意的非法活动;使用用户身份验证、限制操作权来控制有意的非法操作;采用提高系统的可靠性和数据备份来控制无意的破坏。,数据库的安全性和完整性是两个不同的概念,完整性是指防止合法用户的无意操作而造成的数据错误。通俗的来说,安全性防范的是非法用户的有意破坏,完整性防范的是合法用户的无意破坏。,6.1.1 安全控制模型 数据库中的数据被恶意破坏的形式有多种,可能是物理地破坏计算机设备,也可能是窃取信息、恶意修改和删除数据等,这些都会产生严重的后果。 数据库的安全涉及很多层面,除了数据库管理系统本身应该具备安全保护功能外,还需要从管理机制、人员行为等多方面采取措施。所以,数据库安全性应该从

4、如下几个层次采取措施: 物理层 人员层 操作系统层 数据库控制层,在一般数据库应用系统中,安全措施是一级一级层层设置的。图6.1显示了从用户使用数据库应用程序开始一直到访问后台数据库数据经过的安全认证过程。 图6.1 数据库应用系统的安全模型,当用户访问数据库数据时,首先应该进入到数据库系统。用户进入到数据库系统通常是通过数据库应用程序实现的,这时用户要向数据库应用程序提供其身份,然后数据库应用程序将用户的身份要给数据库管理系统进行验证,只有合法的用户才能进入到下一步的操作。若是合法用户,当其要进行数据库操作时,DBMS还要验证此用户是否具有这种操作权。如果有操作权才能进行操作,否则拒绝执行用

5、户的操作。在操作系统一级也有相应的保护措施,比如设置文件的访问权限等。对于存储在磁盘上的文件,还可以加密存储,这样即使数据被人窃取,窃取者也很难读懂数据。另外,还可以将数据库文件保存多份,这样当出现意外情况时(比如,磁盘坏了),不至于丢失数据。 这里,我们只讨论与数据有关的用户身份验证和用户权限管理等技术。,6.1.2 存取控制 数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,者主要是通过数据库系统的存取控制机制实现的。 存取控制机制主要包括以下两部分: 1.定义用户权限,并将用户权限登

6、记到数据字典中。 2.合法权限检查,每当用户发出存取数据的操作请求后,DBMS首先查看数据字典,根据安全规则进行合法权限检查。若用户的操作不在所定义的权限内,则系统将拒绝执行操作。 用户权限定义和合法权限检查机制一起构成了DBMS的安全子系统。,存取控制方式主要分为两种:自主存取控制(Discretionary Control,DAC)和强制存取控制(Mandatary Control,MAC)。 自主存取控制方式就是由用户(如数据库管理员)自主控制操作数据库对象的权限,哪些用户可以对哪些对象进行哪些操作,完全取决于用户之间的授权。任何用户只要需要,就有可能获得对任何对象的操作权限。这种存取控

7、制方式非常灵活,但有时容易控制。目前大多数数据库管理系统都支持自主存取控制方式。 强制存取控制方式就是每一个数据对象被标以一定的密级,每一个用户也被授予一个许可证级别,对于任意一个对象,只有具有合法许可证的用户才可以存取。 强制存取控制本质上具有分层特点,通常具有静态的、严格的分层结构,与现实世界的层次管理相吻合。强制存取控制特别适合层次分明的军方和政府等的数据管理。,6.1.3 数据库权限的分类及用户的分类 1.权限的分类 通常情况下,数据库中权限分为两类,一类是维护数据库管理系统的权限,另一类是操作数据库中的对象和数据的权限,这类权限又可以分为两种,一种是操作数据库对象的权限,包括创建、删

8、除和修改数据库对象;另一种是操作数据库数据的权限,包括对表、视图数据的增、删、改、查等操作。 2.用户的分类 数据库中的用户按照其操作权限的大小可分为如下三类: 数据库系统管理员 数据库对象拥有者 普通用户,6.1.4 操作权限定义 SQL语言提供了安全性控制方面的语句。包括授权(GRANT)、收权(REVOKE),下面分别介绍这两个语句。 1授权 SQL语言用GRANT语句实现对用户的授权。大致语法格式为: GRANT , ON 操作对象 TO , WITH GRANT OPTION 其语义为:将对指定数据对象的指定操作权限授予指定的用户。 对不同类型的操作对象有不同的操作权限,常见的操作权

9、限如表6.1所示。,表6.1 不同对象类型的操作权限 对属性列和视图的操作权限有:查询(SELECT)、插入(INSERT)、修改(UPDATE)、删除(DELETE)以及这四种权限的总和(ALL PRIVILEGES)。 对基本表的操作权限有:查询(SELECT)、插入(INSERT)、修改(UPDATE)、删除(DELETE)、修改表(ALTER)和建立索引(INDEX)以及这六种权限的总和(ALL PRIVILEGES)。,对数据库可以建立表(CREATETAB)的权限,该权限属于DBA,可由DBA授予普通用户,普通用户拥有此权限后可以建立基本表,基本表的属主(Owner)拥有对该表的一

10、切操作权限。 如果指定了WITH GRANT OPTION子句,它使得被授权的用户具有授权权限,即被授权的用户有权力将得到的指定权限再授予其他用户。如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。,2收权 可以使用REVOKE语句将被授予的权限收回。在收回某用户的权限时,系统自动将此次用户转授给其他用户的此权限一并收回。 收回创建对象权 REVOKE ,. FROM ,. 其中,和的含义GRANT语句。 收回数据操作权 REVOKE ,. ON FROM ,. 其中,各选项含义同GRANT语句。,6.2 数据库完整性 数据库的完整性是指

11、数据的正确性和相容性。 所谓数据库完整性,是衡量数据库数据质量好坏的一种标志,是确保数据库中数据的一致,正确性以及符合企业规则的一种思想,是使无序数据条理化,确保正确的数据被存放在正确位置的一种手段。它是为了防止数据库中出现不符合语义的数据,为了维护数据的完整性,数据库管理系统必须提供一种机制来检查数据库中的数据是否满足语义规定的条件。这些加在数据库数据上的语义约束条件就是数据完整性约束条件,这些约束条件作为表定义的一部分存储在数据库中。而DBMS检查数据是否满足完整性的机制就称为完整性检查。 数据的完整性和安全性是两个不同的概念。,满足数据完整性的要求必须满足以下特点: 数据的值必须正确无误

12、,即数据类型必须正确,数据的值必须在规定范围之内。 数据的存在必须确保同一表格数据之间及不同表格数据之间的和谐关系。 完整性检查是围绕着完整性约束条件进行的,因此完整性约束条件是完整性控制机制的核心。完整性约束条件作用的对象可以是关系、元组和列三种。 列约束主要是列的数据类型、取值范围、精度、排序等约束条件。 元组的约束是元组中各个字段间的联系的约束。 关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。,完整性约束条件涉及这三类对象,其状态可以是静态的,也可以是动态的。所谓静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件。它是反映数据库状态合理性的约束,这是最重要的一类完

13、整性约束。 动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件。 综合上述两个方面,可以将完整性约束条件分为六类。 1静态列级约束 静态列级约束是对一个列的取值域的说明,包括以下几个方面: 对数据类型的约束 对数据格式的约束 对取值范围或取值集合的约束 对空值的约束,规定哪些列可以为空值,哪些列不能为空值,2静态元组约束 一个元组是由若干个列值组成的,静态元组约束就是规定元组的各个列之间的约束关系。例如,订货关系中包含发货量、订货量等列,规定发货量不得超过订货量。 3静态关系约束 静态关系约束是指在一个关系的各个元组之间或者若干关系之间存在的约束。常见的静态约束有:

14、 实体完整性约束 参照完整性约束 实体完整性约束和参照完整性约束是关系模型的两个极其重要的约束,称为关系的两个不变性。 函数依赖约束 大部分函数依赖约束都在关系模式中定义。 统计约束 即字段值与关系中多个元组的统计值之间的约束关系。,4动态列级约束 动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面: 修改列定义时的约束。 修改列值时的约束。 修改列值时有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。 5动态元组约束 动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。 6动态关系约束 动态关系约束是加在关系变化前后状态上的限制条件。,6.3 数据库的备份

15、与修复 尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。恢复子系统是数据库管理系统的一个重要组成部分。数据库子系统所采用的恢复技术是否行之有效,不仅对系统的可靠程度起着决定性作用,而且对运行效率也有很大影响,是衡量系统性能优劣的重要指标。,

16、6.3.1 故障的种类 数据库系统中可能发生各种各样的故障,这里谈到的故障是指DBMS本身在运行过程中产生的故障,没有包括网络故障和数据传输过程中的通讯故障。大致可以分以下4类。 1.事务内部的故障 它是指由于事务没有达到预期的终点,导致数据库可能处于一种不正确的状态。事务内部的故障有的是可以通过事务程序本身发现的有的是非预期的,不能由事务程序处理的。 事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此,数据库可能处于不正确状态。恢复程序的作用就是要在不影响其它事务运行的情况下,强行回滚(ROLLBACK)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。这类恢复操作称为事务撤消(UNDO)。,2.系统故障 系统故障是指造成系统停止运转的任何事件,使得系统要重新启动,通常称为软故障(Soft Crash)。这类故障影响正在运行的所有事务,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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