第五章数据库保护优秀PPT.ppt
《第五章数据库保护优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第五章数据库保护优秀PPT.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章数据库保护第五章数据库保护第一页,本课件共有51页第第 五五 章章 数据库安全保护数据库安全保护5.1 数据库安全性数据库安全性5.2 完整性控制完整性控制5.3 并发控制并发控制5.4 数据库的恢复数据库的恢复第二页,本课件共有51页5.1 5.1 数据库安全性数据库安全性数数据据库库的的安安全全性性是是指指保保护护数数据据库库,以以防防止止非非法法使使用用所所造成数据的泄露、更改或破坏。造成数据的泄露、更改或破坏。安全性控制的一般方法安全性控制的一般方法l对有意的非法活动可采用加密存、取数据的方法控制;l对有意的非法操作可使用用户身份验证、限制操作权来控制;l对无意的损坏可采用提高系
2、统的可靠性和数据备份等方法来控制。第三页,本课件共有51页5.1 5.1 数据库安全性数据库安全性安全控制模型安全控制模型 在在计计算算机机系系统统中中,安安全全措措施施是是一一级级一一级级层层层层设设置置的的,安安全控制模型如图全控制模型如图5.15.1所示。所示。图图5-1 计算机系统的安全控制模型计算机系统的安全控制模型 文件操作文件操作 控制控制 操作权操作权 控制控制 身份身份 验证验证用户用户数数 据据 库库应应 用用 程程序序数数 据据 库库管管 理理 系系统统操作操作系统系统加加 密密 存存储储 与与 冗冗余余数据库第四页,本课件共有51页5.1 5.1 数据库安全性数据库安全
3、性根据图根据图5.15.1的安全模型,当用户进入数据库系统时,系统首的安全模型,当用户进入数据库系统时,系统首先根据输入的用户标识进行先根据输入的用户标识进行身份的鉴定身份的鉴定,只有合法的用户才准,只有合法的用户才准许进入系统。许进入系统。对已进入系统的用户,对已进入系统的用户,DBMSDBMS还要验证此用户是否具有还要验证此用户是否具有操作权操作权,有操作权才能进行操作。有操作权才能进行操作。DBMSDBMS是建立在操作系统之上的,在操作系统一级设有相应的保是建立在操作系统之上的,在操作系统一级设有相应的保护措施,比如设置护措施,比如设置文件的访问权限文件的访问权限。数据可以通过数据可以通
4、过加密的形式加密的形式存储到数据库中存储到数据库中第五页,本课件共有51页5.1 5.1 数据库安全性数据库安全性一一.用户身份验证用户身份验证用用一一个个用用户户名名或或用用户户标标识识符符来来标标明明用用户户的的身身份份,系系统统以以此此来来鉴鉴别别用用户户的合法性。如果正确,则可进入下一步的核实,否则,不能使用计算机。的合法性。如果正确,则可进入下一步的核实,否则,不能使用计算机。用用户户标标识识符符是是用用户户公公开开的的标标识识,它它不不足足以以成成为为鉴鉴别别用用户户身身份份的的凭凭证证。为为了了进进一一步步核核实实用用户户身身份份,常常采采用用用用户户名名与与口口令令(Passw
5、ordPassword)相相结结合合的的方方法法,系统通过核对口令判别用户身份的真伪。系统通过核对口令判别用户身份的真伪。v系统有一张用户口令表,为每个用户保持一个记录,包括用户名和口令两部分数据。v用户先输入用户名,然后系统要求用户输入口令。v为了保密,用户在终端上输入的口令不显示在屏幕上。v系统核对口令以鉴别用户身份。第六页,本课件共有51页5.1 5.1 数据库安全性数据库安全性一一.用户身份验证用户身份验证v通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因
6、此还可采用更复杂的方户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。法。v 例如,每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供例如,每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果辨别用户身份的合法性。算结果辨别用户身份的合法性。v 例如,让用户记住一个表达式,如例如,让用户记住一个表达式,如T=X+2Y,T=X+2Y,系统告诉用户系统告诉用户X=1,Y=2,X=1,Y=2,如果用如果用户回答户
7、回答T=5T=5,则证实了该用户的身份。则证实了该用户的身份。v 当然,这是一个简单的例子,在实际使用中,还可以设计复杂的表达式,当然,这是一个简单的例子,在实际使用中,还可以设计复杂的表达式,以使安全性更好。系统每次提供不同的以使安全性更好。系统每次提供不同的X X,Y Y值,其他人可能看到的是值,其他人可能看到的是X X、Y Y的的值,但不能推算出确切的变换公式值,但不能推算出确切的变换公式T T。第七页,本课件共有51页5.1 5.1 数据库安全性数据库安全性二二.用户操作权限管理用户操作权限管理1.1.权限的种类权限的种类 对数据库管理系统进行维护的权限对数据库管理系统进行维护的权限
8、对数据库中的对象和数据进行操作的权限对数据库中的对象和数据进行操作的权限v对数据库对象的权限,包括创建、删除和修改数据库对象对数据库对象的权限,包括创建、删除和修改数据库对象v对数据库数据的操作权,包括对表、视图数据的增、删、改、查权对数据库数据的操作权,包括对表、视图数据的增、删、改、查权2.2.数据库用户的分类数据库用户的分类 (1 1)数据库系统管理员:具有一切权限。)数据库系统管理员:具有一切权限。(2 2)数据库对象拥有者:对其所拥有的对象具有一切权限。)数据库对象拥有者:对其所拥有的对象具有一切权限。(3 3)普通用户:只具有对数据库数据的增、删、改、查权)普通用户:只具有对数据库
9、数据的增、删、改、查权。第八页,本课件共有51页5.2 5.2 完整性控制完整性控制一一.数据库完整性的含义数据库完整性的含义 数据库的完整性是指保护数据库中数据的数据库的完整性是指保护数据库中数据的正确性、有效性和相容正确性、有效性和相容 性,性,防止错误的数据进入数据库造成无效操作。防止错误的数据进入数据库造成无效操作。有关完整性的含义在第一章中已作简要介绍。有关完整性的含义在第一章中已作简要介绍。v 比如年龄属于数值型数据,只能含比如年龄属于数值型数据,只能含0,1,90,1,9,不能含字母或,不能含字母或 特殊符号;特殊符号;v 月份只能用月份只能用1 11212之间的正整数表示;之间
10、的正整数表示;v 表示同一事实的两个数据应相同,否则就不相容,如一个人表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个学号。不能有两个学号。显然,维护数据库的完整性非常重要,数据库中的数据是否具备显然,维护数据库的完整性非常重要,数据库中的数据是否具备 完整性关系到数据能否真实地反映现实世界完整性关系到数据能否真实地反映现实世界。第九页,本课件共有51页5.2 5.2 完整性控制完整性控制 数据库的完整性和安全性是数据库保护的两个不同的方面。数据库的完整性和安全性是数据库保护的两个不同的方面。安全性安全性是保护数据库,以防止非法使用所造成数据的泄露、更改或是保护数据库,以防止非法
11、使用所造成数据的泄露、更改或破坏,安全性措施的防范对象是破坏,安全性措施的防范对象是非法用户和非法操作;非法用户和非法操作;完整性完整性是防止合法用户使用数据库时向数据库中加入不符合是防止合法用户使用数据库时向数据库中加入不符合语义的数据,完整性措施的防范对象是语义的数据,完整性措施的防范对象是不合语义的数据。不合语义的数据。但从数据库的安全保护角度来讲,安全性和完整性又是密切相关的。但从数据库的安全保护角度来讲,安全性和完整性又是密切相关的。第十页,本课件共有51页5.2 5.2 完整性控制完整性控制二二.完整性规则的组成完整性规则的组成为为了了实实现现完完整整性性控控制制,数数据据库库管管
12、理理员员应应向向DBMS提提出出一一组组完完整整性性规规则则,来来检检查数据库中的数据,看其是否满足语义约束。查数据库中的数据,看其是否满足语义约束。这这些些语语义义约约束束构构成成了了数数据据库库的的完完整整性性规规则则,这这组组规规则则作作为为DBMS控控制制数据完整性的依据。数据完整性的依据。它定义了何时检查、检查什么、查出错误又怎样处理等事项。它定义了何时检查、检查什么、查出错误又怎样处理等事项。具体地说,完整性规则主要由以下三部分构成:具体地说,完整性规则主要由以下三部分构成:1 触发条件:规定系统什么时候使用规则检查数据;2 约束条件:规定系统检查用户发出的操作请求违背了什么样的完
13、整性约束条件;3 违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。第十一页,本课件共有51页5.2 5.2 完整性控制完整性控制关系模型的完整性包括关系模型的完整性包括实体完整性,参照完整性和用户定义完整性。实体完整性,参照完整性和用户定义完整性。对于违反实体完整性和用户定义完整性规则的操作一般都是采用对于违反实体完整性和用户定义完整性规则的操作一般都是采用拒绝执行的拒绝执行的方式方式进行处理。进行处理。而对于违反参照完整性的操作,并不都是简单的拒绝执行,一般在接受这个而对于违反参照完整性的操作,并不都是简单的拒绝执行,一
14、般在接受这个操作的同时,执行一些附加的操作,以保证数据库的状态仍然是正确的。操作的同时,执行一些附加的操作,以保证数据库的状态仍然是正确的。例如:在删除被参照关系中的元组时,应该将参照关系中所有的外码值与被参照例如:在删除被参照关系中的元组时,应该将参照关系中所有的外码值与被参照关系中要删除元组主码值相对应的元组一起删除。关系中要删除元组主码值相对应的元组一起删除。比如,要删除S关系中SNO=S1的元组,而SC关系中又有两个SNO=S1的元组。这时根据应用环境的语义,因为当一个学生毕业或退学后,他的个人记录从S关系中删除,选课记录也应随之从SC表中删除,所以应该将SC关系中两个SNO=S1的元
15、组一起删除。第十二页,本课件共有51页5.2 5.2 完整性控制完整性控制数据完整性的实现一般是在服务器端完成的数据完整性的实现一般是在服务器端完成的服务器端实现数据完整性的方法:服务器端实现数据完整性的方法:l 在定义表的时候声明数据完整性l 在服务器端编写触发器实现数据完整性一旦进入系统,就开始执行数据完整性规则。一旦进入系统,就开始执行数据完整性规则。其主要优点是违约由系统来处理,而不是由用户处理。其主要优点是违约由系统来处理,而不是由用户处理。数数据据库库系系统统的的整整个个完完整整性性控控制制都都是是围围绕绕着着完完整整性性约约束束条条件件进进行行的的,从从这这个个角角度度来来看看,
16、完完整整性性约约束束条条件件是是完完整性控制机制的核心。整性控制机制的核心。第十三页,本课件共有51页5.2 5.2 完整性控制完整性控制三三.完整性约束条件的完整性约束条件的作用对象作用对象 完整性约束条件的作用对象可以是完整性约束条件的作用对象可以是表、元组和列。表、元组和列。1.1.列级约束列级约束:即对数据类型、数据格式、取值范围等进行规定。:即对数据类型、数据格式、取值范围等进行规定。v 对数据类型的约束对数据类型的约束,包括数据的类型、长度、单位和精度等。,包括数据的类型、长度、单位和精度等。例如,规定学生姓名的数据类型应为字符型,长度为例如,规定学生姓名的数据类型应为字符型,长度
17、为8 8。v 对数据格式的约束对数据格式的约束。例如,规定出生日期的数据格式为例如,规定出生日期的数据格式为YY.MM.DDYY.MM.DD。v 对取值范围的约束。对取值范围的约束。例如,月份的取值范围为例如,月份的取值范围为1 11212,日期,日期1 13131 v 对空值的约束。对空值的约束。空值表示未定义或未知的值,它与零值空值表示未定义或未知的值,它与零值 空格不同。有的列值允许空值,有的则不允许。空格不同。有的列值允许空值,有的则不允许。例如,学号和课程号不可以为空值,但成绩可以为空值例如,学号和课程号不可以为空值,但成绩可以为空值第十四页,本课件共有51页5.2 5.2 完整性控
18、制完整性控制三三.完整性约束条件的完整性约束条件的作用对象作用对象 2.2.元组约束元组约束 元组的约束是元组的约束是元组中各个字段之间的联系的约束,元组中各个字段之间的联系的约束,如:开始日期小于结束日期,职工的最低工资不能如:开始日期小于结束日期,职工的最低工资不能低于规定的最低保障金等。低于规定的最低保障金等。3.3.关系约束关系约束 关系约束是指关系约束是指若干元组之间、关系之间的联系若干元组之间、关系之间的联系的约束。的约束。比如学号的取值不能重复也不能取空值,比如学号的取值不能重复也不能取空值,学生修课表中的学号的取值受学生表中的学号取学生修课表中的学号的取值受学生表中的学号取值的
19、约束等值的约束等 。第十五页,本课件共有51页5.3 5.3 并发控制并发控制每个用户在存取数据库中的数据时,可能是每个用户在存取数据库中的数据时,可能是串行执行串行执行,即每个时刻只,即每个时刻只有一个用户程序运行,也可能是有一个用户程序运行,也可能是多个用户并行地存取数据库。多个用户并行地存取数据库。数据库的最大特点之一就是数据库的最大特点之一就是数据资源是共享数据资源是共享的,串行执行意味着一的,串行执行意味着一个用户在运行程序时,其他用户程序必须等到这个用户程序结束个用户在运行程序时,其他用户程序必须等到这个用户程序结束才能对数据库进行存取,这样如果一个用户程序涉及大量数据的才能对数据
20、库进行存取,这样如果一个用户程序涉及大量数据的输入输入/输出交换,则数据库系统的大部分时间将处于闲置状态。输出交换,则数据库系统的大部分时间将处于闲置状态。因此,为了充分利用数据库资源,很多时候数据库用户都是对因此,为了充分利用数据库资源,很多时候数据库用户都是对 数据库系统数据库系统并行存取数据并行存取数据,这样就会发生多个用户并发存取同一,这样就会发生多个用户并发存取同一 数据块的情况,如果对并发操作不加控制可能会产生不正确的数数据块的情况,如果对并发操作不加控制可能会产生不正确的数 据,破坏数据的完整性,据,破坏数据的完整性,并发控制并发控制就是解决这类问题,就是解决这类问题,以保持数以
21、保持数 据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式 给用户提供数据。给用户提供数据。第十六页,本课件共有51页5.3 5.3 并发控制并发控制一一.事务(事务(TransactionTransaction)事务是事务是用户定义的数据操作系列用户定义的数据操作系列,这些操作作为一个,这些操作作为一个完整的工作单元完整的工作单元.一一个个事事务务可可以以是是一一组组SQL语语句句、一一条条SQL语语句句或或整整个个程程序,一个应用程序可以包括多个事务。序,一个应用程序可以包括多个事务。一个事务内的所有语句被作为一个事务内的所
22、有语句被作为一个整体一个整体,要么全部执行,要么全部执行,要么全部不执行。要么全部不执行。例如:对于一个转帐活动:例如:对于一个转帐活动:A帐户转帐给帐户转帐给B帐户帐户n元钱,元钱,这个活动包含两个动作:这个活动包含两个动作:第一个动作:第一个动作:A帐户帐户 n 第二个动作:第二个动作:B帐户帐户 n 1.1.事务的定义事务的定义第十七页,本课件共有51页5.3 5.3 并发控制并发控制事事务务的的开开始始与与结结束束可可以以由由用用户户显显式式控控制制。如如果果用用户户没没有有显显式式地地定定义义事事务务,则则由由DBMSDBMS按照缺省规定自动划分事务。按照缺省规定自动划分事务。在在S
23、QLSQL语言中,定义事务的语句有三条:语言中,定义事务的语句有三条:vBEGIN TRANSACTION:表示事务的开始;vCOMMIT(提交):表示事务的正常结束,即此时事务中所有操作都会保存到物理数据库中,成为永久操作vROLLBACK(回滚):表示事务的异常结束,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤销,再回滚到事务开始时的状态。例:例:BEGIN TRANSACTION UPDATE 支付表支付表 SET 帐户总额帐户总额 帐户总额帐户总额 n WHERE 帐户名帐户名 A UPDATE 支付表支付表 SET 帐户总额帐户
24、总额 帐户总额帐户总额 nWHERE 帐户名帐户名 B COMMIT第十八页,本课件共有51页5.3 5.3 并发控制并发控制2.2.事务的特征事务的特征 事事务务是是由由有有限限的的数数据据操操作作序序列列组组成成,但但并并不不是是任任意意的的数数据据操操作作序序列列都都能能成成为为事务,为了保护数据的完整性,一般要求事务具有以下四个特征:事务,为了保护数据的完整性,一般要求事务具有以下四个特征:原原子子性性(AtomicAtomic):是是指指一一个个事事务务是是一一个个不不可可分分割割的的工工作作单单位位,事事务务在在执执行行时时,应应该该遵遵守守“要要么么不不做做,要要么么全全做做”的
25、的原原则则,即即不不允允许许事事务务部部分的完成。分的完成。一一致致性性(ConsistencyConsistency):是是指指事事务务执执行行的的结结果果必必须须是是使使数数据据库库从从一一个个一一致致性性状状态态变变到到另另一一个个一一致致性性状状态态。例例如如前前面面的的转转帐帐如如果果只只执执行行其其中中一一个个操操作作,则则数数据据库库处处于于不不一一致致状状态态,帐帐务务会会出出现现问问题题。也也就就是是说说,两两个个操操作作要要么全做,要么全不做,否则就不能成为事务。么全做,要么全不做,否则就不能成为事务。第十九页,本课件共有51页5.3 5.3 并发控制并发控制2.2.事务的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 数据库 保护 优秀 PPT
限制150内