第五章 数据库保护.ppt_第1页
第五章 数据库保护.ppt_第2页
第五章 数据库保护.ppt_第3页
第五章 数据库保护.ppt_第4页
第五章 数据库保护.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章数据库的保密工作,数据库系统内的数据由DBMS统一管理和控制。 为了适应和满足数据共享的环境和要求,DBMS保证整个系统的正常运行,防止数据的意外丢失和不整合数据的发生,数据库被破坏后能够迅速正常恢复,这就是数据库的安全保护。 DBMS对数存储库的保密工作功能有四个方面:保密工作控制、完全性控制、并发性控制和存储库恢复。 第五章数据库保密工作、5.1数据库保密工作5.2完全性控制5.3云同步控制5.4数据库恢复、5.1数据库保密工作、数据库保密工作是指保护数据库,防止因非法使用而引起的数据泄露、变更、破坏。 一般来说,控制保密工作的方法可以通过存储加密法、获取数据的方法来控制故意的欺诈操

2、作,可以通过用户身份验证来控制无意的损坏,还可以通过提高系统可靠性和数据应用备份等方法来控制无意的损坏。 5.1数据库的安全性、安全控制模型在订正机系统中,安全对策逐步设置,安全控制模型如图5.1所示。 根据图5-1修正计算机系统的安全控制模型、5.1数据库的安全性、图5.1的安全模型,用户进入数据库系统时,系统首先根据输入的用户id进行身份鉴定,行政许可只有合法用户进入系统。 DBMS确保该用户对网站数据库到系统的用户具有操作权限并具有操作权限。 DBMS建构在执行操作系统上,在执行操作系统级别设置了适当的保护措施,如设置文件的网站数据库权限。 数据可以以加密法的形式存储在数据库中,其中5.

3、1数据库中的保密工作、1 .用户身份验证用用户名或用户标识符来标识用户身份,而系统用用户的真实性。 如果正确,可以进行下一步的验证。 否则,就不能使用电脑。 用户标识符是用户公开的标识符,不一盏茶成为身份验证用户id的证书。 为了进一步验证用户的身份,经常采用将用户名和密码组合的方法,系统通过核对密码来判断用户的身份的真伪。 系统包含“用户密码表”,用于为每个用户保存包含用户名和密码两种数据的记录查询密码。 用户首先输入用户名,然后提示用户输入密码。 因为保密,所以用户输入终端的密码不显示在画面中。 系统通过检查密码来识别用户.5.1数据库的保密工作、1 .用户身份验证、用户名和密码身份验证用

4、户的方法很简单,但由于在使用时生成和使用用户名和密码相对简单、容易被盗,因此也可以采用更复杂的方法。 例如,当用户事先承诺过程或函数,用于标识用户的身份时,系统提供随机数,其中用户基于自各儿事先承诺的修正过程或函数进行修正,并且系统基于修正结果标识用户的身份的有效性。 例如,如果用户记住T=X 2Y、X=1、Y=2等表达式,并且用户回答T=5,则验证该用户的id。 当然,这是一个简单的例子,在实际使用中,为了提高安全性,也可以修改复杂的公式。 系统每次提供不同的x和y值,并且其他人可以看到x和y值,但是不可估计精确的变换公式t。 5.1数据库保密工作,2 .用户操作权限管理,1 .权限种类数据

5、库管理系统维护的权限数据库中的对象和操作数据的权限数据库对象的权限。 包括创建、删除和修改数据库对象的数据库数据的操作权限;(2)数据库对象所有者:对拥有的对象具有全部权限;(3)一般用户:只对数据库数据具有添加、删除、修改和检查权限。5.2完全性控制,1 .数据库完全性的语义数据库完整性是保护数据库中数据的精准性、有效性和兼容性,以防止错误数据进入数据库引起无效操作。 的双曲馀弦值。 关于完全性的意思,在第一章进行了简单的说明。 例如,年龄是一个数字类型的数据,只包含0、1、9,不包含字符或特殊符号,月份只能用112的正整数表示,表示相同事实的两个数据必须相同。 否则就不兼容了。 例如,一个

6、人不能有两个学号。 的双曲馀弦值。 保持数据库的完全性很重要,数据库中的数据是否有完全性,关系到数据能否真实地反映现实世界。 5.2完全性控制、数据库完全性和保密工作是数据库保护的两个不同方面。 所谓保密工作,就是为了防止因非法使用而引起的数据泄露、变更、破坏,保护数据库;所谓保密工作对策的对象是非法用户和非法操作;所谓完全性,是为了防止正当用户使用数据库时,在数据库中添加不符合意义的数据,防止完全性对策但是,从数据库的保密工作观点来看,保密工作和完全性是密切相关的。5.2为了实现完全性控制、2 .完全性规则的配置完全性控制,数据库管理员必须向DBMS提交一系列完全性规则,检查数据库中的数据,

7、查看是否满足语义限制。 这些个的语义约束构成了数据库的完全性规则,DBMS根据这些规则控制数据的完全性。 定义何时检查、检查什么、检查错误、如何处理等。 具体地,完全性规则主要包括规定系统何时使用规则检查数据的第一触发条件; 规则检查由定义系统何时使用数据的三个部分组成的第二个限制条件:系统检查来自用户的操作请求违反了什么样的完全性限制条件的第三个违约应答:规定系统在发现用户的操作请求违反了完全性限制条件时,采取一定的措施保证数据的完全性、5.2完全性控制和关系模型完全性包括完全性实体、完全性引用和自定义完全性。 违反实体完全性和用户定义的完全性规则的操作通常以拒绝执行的方式处理。 违反参照完

8、整性的操作并不简单拒绝执行。 通常,接受此操作后,云同步会执行一些附加操作以确保数据库状态正确。 例如,在删除处于参考关系的元组的情况下,应将处于参考关系的所有外推码值与处于与要删除的元组的马星空卫视编码值相对应的参考关系的元组一起删除。 例如,虽然在s关系中删除了SNO=S1的元组,然而在SC关系中存在两个SNO=S1的元组。 此时,根据应用环境的意义,在一个学生毕业或退学后,他的个人记录应该从s关系中删除,选择科目记录也应该从SC表中删除,因此应该一起删除SC关系中的两个SNO=S1的组。 5.2实现完全性控制、数据完全性一般是在服务器端完成的服务器端实现数据完全性的方法:在定义表时声明数

9、据完全性在服务器端写入触发器实现数据完全性后进入系统,开始执行数据完全性规则。 其主要优点是违约不是由使用者处理,而是由系统处理。 整个数据库系统的完全性控制是以完全性约束为中心进行的,从这一点来看,完全性约束是完全性控制反应历程的核心。5.2完全性控制,3 .完全性约束的作用对象、完全性约束的作用对象可以是表、元组、列。 1 .列级约束:规定数据类型、数据格式、可能值的范围等。 数据类型约束,如数据类型、长度、单位和精度。 例如,规定学生名称的数据类型为字符类型,长度为8。 数据格式限制。 例如,规定出生年月日的数据格式是YY.MM.DD。 取值范围的制约。 例如,月份值的范围是112,第1

10、31天受空值约束。null值表示未定义或未知的值,与零空格不同。 某些列值可能行政许可null,而某些列值可能不行政许可。 例如,学历和课程编号为null表示要不得,成绩为null、5.2完全性特罗尔、3 .完全性约束的作用对象、2 .元组约束元组的约束是元组内各字段之间的联系约束。 例如,开始日小于结束日,员工的最低工资不能低于规定的最低保证金。 3 .关系制约关系制约是指几个元组间、关系间关系的制约。 例如,学校序号的可取值无论重复还是取空值都要不得,学生选修课表的学校序号的可取值被限制为学生表的学校序号的可取值等。 5.3云同步控制,当每个用户网站数据库到数据库中的数据时,串行执行,即每

11、个时间只能执行一个用户计程仪报,或者多个用户可以向云同步网站数据库数据库。 数据库的最大特征之一是共享数据资源。 串行执行是指当一个用户正在执行plume计程仪程序时,另一个用户plume计程仪程序必须网站数据库到数据库,直到此用户plume计程仪程序结束。 因而,为了利用数据库资源,数据库用户往往将数据网站数据库到数据库系统的云同步中,并且多用户可在云同步上网站数据库到同一数据标签摇滾乐,如果不控制云同步操作,则会生成不准确的数据并且破坏数据的完整性。 5.3云同步控制、1 .事务处理和事务处理是用户定义的数据操作系列,而这些个操作是完整的工作单位。 一个事务可以是整个SQL语句、SQL语句

12、或计程仪方案的定径套,而一个应用程序可以包含多个事务。 一个事务中的所有语句要么作为一个整体执行,要么全部不执行。 例如,一个转帐活动:如果a帐户转帐为b帐户的n元,则此活动包括两个行为。 第一种行为: a帐户n第二种行为: b帐户n,1 .定义事务处理,5.3云同步控制,您可以明确控制事务处理的起始和终止。 如果使用者没有明确定义交易,DBMS会根据差动奥尔特的规定自动分割交易。 在SQL语言中,有三个定义事务的语句。 BEGIN TRANSACTION表示事务的开始。 COMMIT (提交):表示事务的成功完成,即事务中的所有操作都存储在物理数据库中,并成为永久操作ROLLBACK (回滚

13、)。 在事务处理执行过程中,发生了一些故障,事务处理无法继续,事务处理中数据库的所有已完成更新操作都将被取消。 例如: BEGIN TRANSACTION UPDATE付款表SET帐户总额帐户总额nWHERE帐户名A UPDATE付款表SET帐户总额帐户总额nWHERE帐户名B COMMIT,5.3云同步控制,2 .事务的特征性事务有限的数据事务处理中的原子性:事务处理是不可分割的工作单元,事务处理在运行时必须遵守“不做或全部”原则,以保护数据的完全性,而不是任何数据操作序列都成为事务处理。 事务部分的完成是不可接受的一致性:事务的执行结果意味着必须将数据库从一个一致性状态更改为另一个一致性状

14、态。 例如,如果在上一次转移中只执行一个操作,则数据库将处于不符点状态,并且会导致修订问题。 也就是说,两个操作要么全部执行,要么全部不执行,否则不会成为事务。5.3云同步控制,2 .事务特征,隔离性:表示数据库中的一个事务的执行不会被其他事务干扰。 也就是说,一个事务中的操作和所使用的数据与在云同步中执行的其他事务分离。云同步控制是为了保证事务之间的分离性。 持久化:提交事务后,数据库中的数据更改必须是永久性的,并且即使数据库因故障而损坏,DBMS也必须能够恢复。 5.3云同步控制、2 .云同步操作和数据的不整合、例云同步预约操作。 假设有两个预订点a和b,a和b两个预订点正好在同一航班的飞

15、机预订业务上进行云同步。 本次航班现在的机票余额是R=10张,a的预订点(事务a )卖6张机票,b的预订点(事务b )卖5张机票,正常的操作,即事务a执行完毕后执行事务b,飞机票时就不足。 但是,如果按照下一个顺序操作,则a预约点(事务a )读出航班的当前的机票价格R=10张的结果不同。b预约点(事务b )读出航班的当前的机票价格R=10张a预约点销售6张机票,机票的价格将R=4写回数据库的b预约点出售5张机票,修正机票的余额R=105=5,将R=5写回数据库,结果数据库的投票数只减少了5张,得到这样错误结果的是2个事务的云同步操作数据库的云同步操作对数据库的不整合主要有以下4种:丢失更新、污

16、染读取、不可重读5.3云同步控制、1丢失更新3个事务T1和T2读取相同的数据进行修正5.3云同步控制,双重读取事务T1更新数据r,事务T2读取经更新的数据r,由于某种原因,事务T1被取消,修改变为无效,数据r恢复为原始值。 在事务T2中得到的数据与数据库的内容不一致称为“污染读取”。 5.3云同步控制,在第三不可重读事务T1已经读取数据之后,事务T2更新T1已读取的数据,事务T1再次读取数据,以便进行相同的操作,此时获得的第二行这被称为“不可重读”。 5.3云同步控制,4 .生成幽灵数据属于实际不可重复阅读的范畴。 在事务T1在某个条件下从数据库读取了某种数据记录查询密码之后,如果事务T2删除

17、其中的一部分记录查询密码,或者添加了一部分记录查询密码,则T1再次在相同条件下读取数据时,其中不可理解的记录查询密码减少(删除) 这样的数据对T1来说是“幽灵”数据或者“幻影”数据。 的双曲馀弦值。 产生四种这些个数据不整合的主要原因是云同步操作损害了事务的可分离性。 云同步控制是指,用适当的方式来调度云同步事务、避免云同步事务之间的相互干扰作用造成的数据不整合、并且向DBMS提供确保数据库一致性的云同步控制功能。 5.3云同步控制、3 .云同步控制措施、云同步控制的主要方式是块摇滾乐机制,即锁定。 摇滾乐是指在事务处理t操作数据之前,向系统发出请求并进行摇滾乐。 被摇滾乐的事务处理t控制要操作的数据,在事务处理t解除摇滾乐之前,其他事务处理不能操作这些个中的数据。5.3云同步控制、共享摇滾乐(也称为Share Lock、读摇滾乐)采用允许其他用户查询同一数据对象的原理,但不能修改该数据对象。 当事务t将s摇滾乐放在数据对象a上时,事务t可以读取a,但不能修改a,这样,在t解除r的s摇滾乐之前,其他事

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论