资源目录
压缩包内文档预览:
编号:21835842
类型:共享资源
大小:15.48MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
数据库技术
应用
利用
运用
陈刚
课件
ppt
- 资源描述:
-
大学数据库技术及应用-陈刚-课件PPT,大学,数据库技术,应用,利用,运用,陈刚,课件,ppt
- 内容简介:
-
第4章 数据库安全及维护本章重点内容数据库安全性问题的基本概念和保证数据安全性的基本措施数据库并发情况下的数据安全及处理方法数据发生故障情况下的恢复技术 4.1 数据库安全性4.1.1 基本概念数据库的安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。安全性问题和保密问题是密切相关的。4.1.2 安全措施的设置模型在计算机系统中,安全措施通常是一级一级层层设置的。 4.1.2 安全措施的设置模型1用户标识和鉴别首先,系统提供一定的方式让用户标识自己的名字或身份。系统进行核实,通过鉴定后才提供机器使用权。常用的方法有:用一个用户名或者用户标识号来标明用户身份,系统鉴别此用户是否为合法用户。口令(Password)系统提供一个随机数,用户根据预先约定好的某一过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份 4.1 数据库安全性4.1.2 安全措施的设置模型2存取控制当用户通过了用户标识和鉴定后,要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有权存取的数据。这里的用户权限是指不同的用户对于不同的数据对象允许执行的操作权限,它由两部分组成,一是数据对象,二是操作类型,定义用户的存取权限就是要设置该用户可以在那些数据对象上进行哪些类型的操作。 4.1 数据库安全性4.1.2 安全措施的设置模型 2存取控制 在非关系系统中,外模式、模式、内模式的建立、修改均由数据库管理员(DBA)负责,一般用户无权执行这些操作,因此存取控制的数据对象仅限于数据本身。在关系系统中DBA可以把建立、修改基本表的权力授予用户。所以,关系系统中存取控制的数据对象不仅有数据,而且有模式、外模式、内模式等数据字典中的内容。数据库中存取控制的一般方法和技术: 定义用户存取权限称为授权(Authorization),这些定义经过编译后存储在数据字典中。 合法权限检查。 4.1 数据库安全性4.2.1 基本概念1数据库的完整性 数据库的完整性:指数据的正确性和相容性,DBMS必须提供一种功能来保证数据库中数据的完整性,这种功能亦称为完整性检查,即系统用一定的机制来检查数据库中的数据是否满足规定的条件,这种条件在数据库中称为完整性约束条件,这些完整性约束条件将作为模式的一部分存入数据库中。2数据的完整性和安全性的区别 数据的完整性和安全性是两个不同的概念,完整性和安全性又是密切相关的。 4.2 数据库的完整性4.2.2 完整性约束完整性约束条件可以进行以下分类:1.值的约束和结构的约束 值的约束是对数据的值的限制,结构的约束是指对数据之间联系的限制。关于对数据值的约束。 这类约束条件是指对数据取值类型、范围、精度等的规定,例如: 对某个属性和属性组合规定某个值集。 规定某属性值的类型和格式。 规定某属性的值的集合必须满足某种统计条件。 关于数据之间联系的约束4.2 数据库的完整性4.2.2 完整性约束2.静态约束和动态约束 静态约束:是指对数据库每一确定状态的数据所应满足的约束条件。 动态约束:是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件。3.立即执行约束和延迟执行约束 立即执行约束:是指在执行用户事务时,对事务中某一更新语句执行完后马上此数据所应满足的约束条件进行完整性检查。 延迟执行约束:是指在整个事务执行结束后方对此约束条件进行完整性检查,结果正确方能提交。4.2 数据库的完整性4.2.2 完整性约束4完整性的实现应包括两个方面: 系统要提供定义完整性约束条件的功能; 系统提供检查完整性约束条件的方法。 4.2 数据库的完整性4.3.1 基本概念1事务 事务(Transaction)是并发控制的单位,是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK操作结束。 事务和程序是两个概念。2数据一致性级别的概念 数据的不一致性:因多个事务对同一数据地交叉修改(并发操作)而引起地数据不正确或数据修改丢失就称为数据的不一致性。 4.3 并发控制并发操作举例并发操作可能会产生以下几种不一致性:丢失修改不能重复读取读“脏”数据 3并发控制并发控制:就是要用正确的方式调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其它事务的干扰。另一方面,对数据库的应用有时允许某些不一致性。并发控制的主要方法是采用封锁机制(Locking)。 4.3 并发控制4.3.2 封锁 封锁:事务对数据库操作之前,先对数据加锁以便获得这个数据对象的一定控制,使得其他事务不能更新此数据,直到该事务解锁为止。1封锁的类型 共享性封锁(共享锁,或称S锁),也称读锁(RLOCK):若事务T对数据对象A加上S锁,则事务T可以读取A但不能修改A,其他事务只能对A加S锁,而不能加X锁,直道T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的锁之前不能修改A。 排他性封锁(排他锁,或称X锁)也称写锁(WLOCK):若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直道T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能在读取和修改A。 4.3 并发控制2封锁类型的控制方式 封锁类型决定控制方式,用相容矩阵表示控制方式。 4.3 并发控制3、用封锁机制解决购买火车票问题4.3.2 封锁4、活锁与死锁(1)活锁:某一事务的请求可能永远得不到,该事务一直处于等待状态。(2)死锁:两个事务处于相互等待状态,永远不能结束。 举例:见下页4.3 并发控制4.3.2 封锁死锁解决方法: 将所有数据一次性加锁降低了并发度。 预先规定一个封锁顺序。 诊断法:检测是否有死锁发生,如有则设法解除。 4.3 并发控制4.3.3 并发调度的串行操作和并行操作1对多个事务处理的两种方法 串行操作:一个个地处理,一组事务的任意串行操作都可以保证数据的一致性。 并行操作:利用分时的方法同时处理多个事务。2调度 把并发操作的全部事务按某一顺序运行。3串行调度 若多个事务按照某一次序串行的执行,则称事务的调度是串行的。4并行调度 若多个事务同时交叉地并行执行,则称事务的调度是并行的。 4.3 并发控制4.4.1 故障的种类1事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理的。例如:IF dw_1.Update() 0 THENCommit;ELSEMessageBox(学费管理,对不起,无法对数据保存!)Rollback;END IF4.4 数据恢复 事务内部更多的故障是非预期的,是不能由应用程序处理的。系统就要强行回滚此事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好象根本没有启动一样。2系统范围内的故障3介质故障4计算机病毒 数据恢复的基本原理十分简单,采用的主要技术手段是冗余。 4.4 数据恢复4.4.2 转储和恢复1什么是转储和恢复 转储:是数据库恢复中采用的基本技术。所谓转储即DBA(数据库管理员)定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。 恢复:当数据库遭到破坏后就可以利用后备副本把数据库恢复,这时,数据库只能恢复到转储时的状态,从那以后的所有更新事务必须重新运行才能恢复到故障时的状态。 4.4 数据恢复4.4.2 转储和恢复2转储的分类 静态转储:指转储期间不允许(或不存在)对数据库进行任何存取、修改活动。 动态转储:指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。动态转储可克服静态转储的缺点,但是,转储结束时后援副本上的数据并不能保证正确有效。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。4.4 数据恢复4.4.2 转储和恢复2转储的分类 海量转储:海量转储是指每次转储全部数据库。 增量转储:增量转储则指每次只转储上次转储后更新过的数据。如果数据库很大,事务处理又十分频繁,则增量转储方式是很有效的。 4.4 数据恢复4.4.3 日志文件 日志文件:是用来记录对数据库每一次更新活动的文件。 在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。在静态转储方式中,也可以建立日志文件,当数据库被破坏后可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤消处理。这样不必重新运行那些已完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态。4.4 数据恢复日志文件使用1登记日志文件(logging) 事务在运行过程中,系统把事务开始、事务结束(包括COMMIT和ROLLBACK)、以及对数据库的插入、删除、修改等每一个操作作为一个登记记录(log记录)存放到日志文件中。每个记录包括的主要内容有:执行操作的事务标识,操作类型,更新前数据的旧值(对插入操作而言此项为空值),更新后的新值(对删除操作而言此项为空值)。 登记的次序严格按并行事务操作执行的时间次序,同时遵循“先写日志文件”的规则。4.4 数据恢复日志文件使用2用日志文件恢复事务 利用日志文件恢复事务的过程分为二步:(1)从头扫描日志文件。(2)对尚未结束的事务进行撤消(也称为UNDO)处理。 对已经结束的事务进行重做(REDO)处理。4.4 数据恢复4.4.3 用转储和日志文件恢复数据库 利用转储和日志文件可以有效的恢复数据库,当数据库本身被破坏时(如硬故障和病毒破坏),可重装转储的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。当数据库本身没被破坏,但内容已经不可靠时(如发生事务故障和系统故障)可利用日志文件恢复事务,从而使数据库回到某一正确状态,这时不必重装后备副本。前一种情况需要DBA执行恢复过程,后一种情况一般无需DBA介入而由系统自动执行。 4.4 数据恢复本章小结数据的安全性是数据库的一个重要指标,它是保护数据以防止不合法的使用所造成的数据泄漏、更改和破坏的有效手段。保证数据安全性的主要措施有用户标识与鉴别、存取控制等安全措施。数据库的完整性控制包括完整性约束的定义及其对完整性约束的检查和处理。当对数据库进行更新操作时,系统会检查用户的操作是否违反了完整性约束,若违反了完整性
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。