数据库技术与应用第6章数据库保护机制.ppt
《数据库技术与应用第6章数据库保护机制.ppt》由会员分享,可在线阅读,更多相关《数据库技术与应用第6章数据库保护机制.ppt(114页珍藏版)》请在三一办公上搜索。
1、1,第6章 数据库保护机制,完整性控制安全性控制并发控制数据库恢复,本章主要内容:,皑挂阮宾贺海嘛监壶判危休失迪倘洪该惟舞朝虚韭慌擞寒音回尹鹤以艘格数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,2,第6章 数据库保护机制,数据库中存放着大量的有价值的信息,因此采用怎样行之有效的措施保护数据库是非常重要的。比如,保护数据库数据的正确性、有效性,保护数据库安全性,保护数据库既使是出现各种故障,也能对其进行有效地恢复等等。,杖腊磷屉档汲钾誊拢挚韭昨甫狭鞍梢五痔庐据夷支姜扇铭衙魏肿料帜忻宵数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,3,
2、6.1 数据库的完整性,数据库的完整性指数据的正确性和有效性。数据库的完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓“垃圾进垃圾出”所造成的无效操作和错误结果。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库完整性是非常重要的。,请霖裙犊士慢亏仟缆谣胶蜗闻丙俘盐渠糜圣隙闲松悬费则炙逆删谤逊沟夺数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,4,6.1 数据库的完整性,数据库的完整性是由DBMS的完整性控制子系统实现的。其主要功能为:1.完整性检查功能。检查用户发出的操作请求是否违背了完整性约束条件;2.应对
3、操作。如果发现用户操作违背了完整性规则,为保证数据的完整性而采取的动作。(如撤销用户操作),谬榔力聊栖猴橇穗费簿捌纂景腻刚爸健疹请仇霖域渺歪氦便讹施罢焙陪二数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,5,6.1.1 完整性规则,完整性规则是指附加在数据库数据上的语义约束条件。每一条完整性规则包括3个部分:(1)触发条件:确定什么操作使用规则进行检查;(2)约束条件:确定要检查什么样的错误;(3)应对措施:确定如果查出错误该怎么处理。完整性规则作用的对象可以是关系、元组和列。,业攒茁溯伤宪溪拱洼矿咯巢脾盂神研藏赐衫前框筏躺拉秧鞍升岁垫滁猫瓣数据库技术与应用第6章
4、-数据库保护机制数据库技术与应用第6章-数据库保护机制,6,6.1.2 SQL Server的完整性,本节介绍SQL Server的完整性控制策略。SQL Server数据完整性有四种类型:实体完整性、域完整性、参照完整性、用户定义完整性,赦米狂盖链由墨驹溜貌募佬今孝晚煎刘龟及慌熊胡址囚沸唁裹昧稽挂背受数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,7,1.实体完整性构成主键的主属性不能取空值。体现为:UNIQUE唯一性约束(不允许为null)PRIMARY KEY 约束(不允许为null)例:CREATE TABLE 选课(学号 CHAR(6),,PRIMARY
5、 KEY(学号,课号),)或 CREATE TABLE 学生(学号 CHAR(6)UNIQUE,),6.1.2 SQL Server的完整性,辕字易负浓倔八农圾蟹渍锰吏昧澡聚州察过佰恢懂荣斤怜邯可示视俘丑娟数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,8,2.域完整性 属性列(字段)满足的约束条件。体现为:(1)对数据类型的约束:包括数据的类型、长度、单位、精度等。(2)对数据格式的约束 例:规定学号的前两位表示入学年份,中间两位表示系的编号,后四位班级和序号,xxxxxxxx。出生日期:YY-MM-DD,6.1.2 SQL Server的完整性,玩阅犁鸭猿智缆
6、秧妻澡母乖租点肖牌概莉塌拎见凡路越嗣郎重煌穆窟犬皿数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,9,(3)对取值范围或取值集合的约束.例如:规定成绩的取值范围为0100 域级check子句(4)对空值的约束:有的列允许取空值,有的列不允许取空值。(5)设置默认值default约束。,6.1.2 SQL Server的完整性,收罚正蹿狗劣播虫扬吧泉鳞殆纠畦潮陆啮斌俱轨峰垫捞惠验处赫粗政申蔡数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,10,3.参照完整性(外键完整性)两个表之间满足的参照(引用)关系的约束。即:外键表中外键的取值参照
7、主键表中主键的值。体现为:CREATE TABLE 选课(.,FOREIGN KEY(学号)REFERENCES 学生(学号)ON DELETE CASCADE|NO ACTION ON UPDATE CASCADE|NO ACTION,),6.1.2 SQL Server的完整性,说明:CASCADE:级联,NO ACTION:受限(默认),痘茬疟他戮讽凿寐孽谗站鼻丙贤漳程玩乞蔬斋煮柬沂势持洛铜篷罐讨康癌数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,11,4.用户定义完整性用户定义完整性是针对应用业务需要而定义的完整性约束条件。体现为:(1)表定义语句中的CH
8、ECK子句(2)触发器(3)规则(下节介绍),6.1.2 SQL Server的完整性,瑰脖囤笋柱芝胺刨寂磕粤挖蜂散置湾掖钱课雇于坞段妖椽湖衍敷咨质总载数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,12,6.1.3 使用规则和触发器实现完整性,一般不是很复杂的完整性约束都是在create table语句中定义。更复杂的完整性实现要用触发器和规则。定义表时没有定义的约束,可以在以后通过创建触发器和规则来实现。check约束优先于触发器约束和规则约束执行。,阜缝是革钓募蛆零逸择村臃扳调捻玫瘫气讥姐尤银吊沪肮评违挛靳消航伎数据库技术与应用第6章-数据库保护机制数据库技
9、术与应用第6章-数据库保护机制,13,*1.使用规则实现完整性 规则是独立于表的单独定义、存储的数据库对象。,CREATE RULE 规则名 AS 约束表达式,规则中可以是能用于WHERE子句中的任何表达式。如:,创建规则,6.1.3 使用规则和触发器实现完整性,兰乔拘李即肘欲船卡苑拱逻泰锹好磷骋娘剪诵益霸酬饶堰撇卡掣痒袒豫弃数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,14,Birthday=1980-01-01 AND Birthday=GETDATE()grade IN(a,A,B,b,C,c,D,d)code LIKE a-z%0-9 例1 创建sno_
10、rule规则,使得学号只能是6位数字字符。CREATE RULE sno_rule AS sno LIKE 0-90-90-90-90-90-9,6.1.3 使用规则和触发器实现完整性,纹锹潞闲科啃饿趋玫刨细发梁扒非庆鼎厢犯哉姚稀俗出疥厢柠堆钢圆号键数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,15,规则的绑定 创建好规则后,规则只是存储在数据库中的对象并没有发生作用,只有将规则绑定到相应表的属性列,才能实现完整性约束。用存储过程sp_bindrule绑定规则。语法格式:sp_bindrule 规则名,对象名 例2 将规则sno_rule绑定到学生表的学号属性列
11、上。sp_bindrule sno_rule 学生.学号,6.1.3 使用规则和触发器实现完整性,献僵吊投键玩卤津藩睬撒坏怨纶芥晃皖釜埂仙闭吭谷播工鞍荐爵棘夫连诱数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,16,规则的松绑 规则绑定后,可以解除,即松绑。用存储过程sp_unbindrule为规则松绑。语法格式:sp_unbindrule 对象名例3 解除规则sno_rule在学生表的学号属性列上的绑定。sp_unbindrule 学生.学号,6.1.3 使用规则和触发器实现完整性,使踪侄杀驾睛佩滋溉窘铜讹戮鞋婿左暑狱寥并里燕沤局碘盛妥言朝掇佬厩数据库技术与应用
12、第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,17,删除规则 DROP RULE 规则名1,规则2,注意:在删除规则前,必须先将其从约束对象上解除。,6.1.3 使用规则和触发器实现完整性,缮库尧碴铰吁幌话侄撰狐珐拙踊喝泅檬鲍赃太审伺索贺摇顺姆哆杭萄店坯数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,18,2.使用触发器实现完整性前面介绍的一些约束机制,属于被动的约束机制。在检查出对数据库的操作违反约束后,只能做些比较简单的动作,比如拒绝操作。如果我们需要产生比规则更为复杂的限制,希望在某个操作后,系统能自动根据条件转去执行各种操作,甚至执行与原操
13、作无关的操作,那么可以用触发器机制来实现。第5章已经介绍过触发器建立和使用。这里我们再 进一步举例说明。,6.1.3 使用规则和触发器实现完整性,锡鲤卤辜聂媚缄困不栏唐婪幻臆殖竹界赦娜滇纹僳伍就榆榴净访遣篇稼骄数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,19,6.2 安全性控制,6.2.1 安全性概述1.数据库安全性的定义数据库安全性是指保护数据库以防止不合法的使用造成的数据泄露、更改或破坏。所有计算机系统都有安全性问题。由于数据库中存放大量有用信息,从而使安全性问题更为突出。系统安全性保护措施是否有效是数据库系统的主要性能指标之一。,攒痹躲妻跺每剃醚酌涂潍忙
14、乒淳遥慨裁态皖急碴梯象伸摔戴尧旗迭尊歉檄数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,20,图6.1 典型的多用户数据库应用系统环境,数据库系统的安全性依赖于其所在的计算机和网络环境的安全性。见下图。,铰郝材媳仓蝴鲤秽染阮运亥絮昼讶庆子簧燃涂壶壹呜考探换牲铬车瓢浚捷数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,21,6.2.2 数据库安全性控制的一般方法,1.用户标识与鉴定用户标识与鉴别是DBMS提供的最外层安全性保护措施。用户只有通过鉴定后才被获得系统最外层的权限。用户标识与鉴定的方法很多,常用的有:(1)身份认证:是系统为用户
15、定义的用户名,指用户标识用户ID用户账号。(2)口令:往往与身份认证一起使用。,咨纂起部墙讫屈淮泥惨到发酒狡驼远谴技日婉国丝蓝猾樟输钻尼畸茂倪牵数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,22,(3)随机运算认证:指非固定口令认证,即用户每次的口令都不一样。鉴别时系统提供一个随机数,用户根据预先约定好的计算过程或函数进行计算,得到口令。2.存取控制用户通过身份鉴别并不意味着他可以任意使用数据库,用户究竟能否使用数据,使用哪些数据,如何使用数据等问题需要进一步由存取控制来确定。,6.2.2 数据库安全性控制的一般方法,苛榔漱曲粘徊瑞痊炊屡映硅粟稗沧阶具乍絮柳毋祥
16、趴成韭埠反挡齿甩柞勇数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,23,存取控制又称授权控制,其作用是保证有数据访问资格的用户在授权范围内使用数据,并让未被授权的用户无法接近数据。存取控制机制主要包括两部分:1)定义用户权限,并将用户权限登记到数据字典中。用户权限是指不同用户对于不同数据对象允许执行的操作权限。系统必须提供适当语言定义用户权限,这些定义经过编译后存放在数据字典中,被称为授权规则。,6.2.2 数据库安全性控制的一般方法,意样杂汲显刹劳改抛讳魔慨喷直概侦焉责卯捻柴幂蛆污量牌拾殃监刊片着数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数
17、据库保护机制,24,2)合法权限检查。每个用户发出存取数据库的操作请求后,DBMS查找数据字典,根据授权规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。用户权限定义和合法性检查机制一起组成了DBMS的安全性子系统。,6.2.2 数据库安全性控制的一般方法,穷君泼优餐蔬擎瀑桌汪以哆拳彭蚊锅咬辩请拨廉奖陌分措返精匹梳咳学赦数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,25,3.视图机制视图把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据库安全性。,6.2.2 数据库安全性控制的一般方法,瑰幸祟安会
18、落更渡拯帖罚畦摹初擂姑妮珠具壹锡蔗曙砚您埋距某顶扳同宪数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,26,4.审计(Audit)审记功能就是把用户对数据库的所有操作自动记录下来放入审记日志中。DBA可以利用审记跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。审记通常是很费时间和空间的,所有DBMS往往都将其作为可选功能,允许DBA根据应用对安全性的要求,灵活地打开或关闭审记功能。审记功能一般主要用于安全性要求较高的部门。,6.2.2 数据库安全性控制的一般方法,漏刚芭不辞烦瞅翅赌咎纺纂佃瓤时呸附怪燃谁映嘻媒唇站琶途搂衬拦乡萨数
19、据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,27,5.数据加密对于高度机密数据,例如金融财务数据、军事数据等等,除以上安全措施外,还可以采用数据加密技术。数据加密是防止数据库中数据在存储和传输中泄露的有效手段。加密的基本思想是:根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使不知道加密方法的人无法获知数据的内容。,6.2.2 数据库安全性控制的一般方法,乙祖梢豺谭驱龋斤式玖刹怎野赂忧经祁贷伎是亨市吞搂敝韧竞秽醛仗岔缀数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,28,加密方法分为两类:,6.2.2 数据库安
20、全性控制的一般方法,加密方法涉及要素:加密密钥(好比密码)、解密密钥和算法。加密时,用加密算法根据明文和加密密钥生成密文;解密时,用解密算法对密文和解密密钥进行运算得到明文。,铀漓张趴甥雏牌杜唐妇畜谓派蕉看臼嗣群厕递被亚防刀杂娃揉芒双盒步杖数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,29,6.2.3 SQL Seerver的安全性控制,SQL Server2000有3个等级的安全验证:,绒函熙溅赫貉绷闯华捡骡癣于蛆寇擎饺杏昌垄羔骏傈桌爪根专嘱懈化寂塑数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,30,6.2.3.1 SQL Se
21、rver 安全验证,SQL Server安全验证是根据用户登录 SQL Server时提供的登录名和密码验证用户是否可以连接SQL Server。SQL Server安全身份验证机制提供两种模式:Windows验证模式和混合验证模式。,盅顿抛导苫砷茧撒啥站擂秃迈添探祟拌臭夏腥狰汇敛龋擅农谅妇析递铱橇数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,31,1.Windows身份验证模式Windows 验证利用Windows 操作系统本身验证用户合法性的能力,允许用户通过 Windows 用户帐户连接到SQL Server。使用这种模式,用户只能使用Windows验证登
22、录,不能使用SQL Server 验证登录。,6.2.3.1 SQL Server 安全验证,穷斡啼锤酪课兢押烩读钨枯砰呆拱期晋蹿璃槛夯琐租宙豺景捣驱莲谤榷案数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,32,2.混合验证模式使用这种验证模式,用户可以使用Windows 验证或者SQL Server验证连接到SQL Server。登录时两者中选择一种。,6.2.3.1 SQL Server 安全验证,珠登缘训扛澄晕熟心心信陋经方裁迹簧粘仍旭碍硝订产脸刀儡磷迹彪庇丁数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,33,SQL Serv
23、er 把设定的用户名身份信息(比如登录名和密码)存在Master数据库的表sysxlogins中。SQL Server有一个特殊的内置登录名:sa(System Administrator,系统管理员),拥有在SQL Server上的一切权限;BUILTIN Administrator是另一个内置登录名,这是SQL Server为Windows NT(基于NT的)系统管理员设置的默认登录名,也拥有SQL Server上一切权限。,6.2.3.1 SQL Server 安全验证,乍肝磐饭汽距戎栈捕因供绒桌幼模型祖蜘幼傈绑适鸿足崇晚思像琳贸勤驮数据库技术与应用第6章-数据库保护机制数据库技术与应用
24、第6章-数据库保护机制,34,在SQL Server上管理用户身份信息主要有两种方法:一是在企业管理器中利用图形界面来管理;另一种是利用SQL Server提供的管理用户身份的存储过程,来管理用户。这些存储过程必须在系统数据库Master中使用(当然要有足够的权限)。,6.2.3.1 SQL Server 安全验证,掉祟锐牢恤衣帘慷井瞄弧厢蔼删炒颗但荒舶档礁诅寥篮饭咽贷寒尝醒俯口数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,35,6.2.3.1 SQL Server 安全验证,可视化定义新登录用户,锰妇隐洞昂隶啊鹤嗣殿岿罕爷互桔肮雅畸釜坎驰琉糯胆畏佯肿拐罚落态遗
25、数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,36,(1)sp_addlogin:创建用户身份信息 Exec sp_addlogin s1,111111,教学数据库 创建一条用户身份信息,登录名s1,密码111111,默认数据库教学数据库。(2)sp_droplogin:删除用户身份信息 Exec sp_droplogin s1 删除s1用户身份信息。,6.2.3.1 SQL Server 安全验证,喊粉碳咀柞顽娜赊暗猾习己舵纬枢名违悄耙咎庸隐盐标侩涛谚泉银慢虐越数据库技术与应用第6章-数据库保护机制数据库技术与应用第6章-数据库保护机制,37,(3)sp_gr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 应用 数据库 保护 机制
链接地址:https://www.31ppt.com/p-5106473.html