已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1/36,第8章数据库保护及SQLServer的数据库保护技术,2/36,DBMS必须提供统一的数据保护功能,以保护数据库中数据的安全可靠及正确有效。,主要包括数据的安全性;数据的完整性;并发控制;数据库恢复。,3/36,8.1数据库的安全性及SQLServer的安全管理,数据库的安全性是指保护数据库,以防止不合法的使用造成数据泄密、修改或破坏。,4/36,5/36,8.2.1完整性约束条件及完整性控制,8.2数据库完整性及SQLServer的完整性控制,数据完整性约束可以分为:表级约束,若干元组间、关系中以及关系之间联系的约束;元组级约束,元组中的字段组和字段间联系的约束;属性级约束,针对列的类型、取值范围、精度、排序等而制定的约束条件。,6/36,1.静态级约束1)对数据类型的约束。2)对数据格式的约束。3)对取值范围或取值集合的约束。4)对空值的约束。5)其他约束。6)实体完整性约束。7)参照完整性约束。8)函数依赖约束。,7/36,2.动态级约束1)修改列定义时的约束。2)修改列值时的约束。,8/36,3.完整性控制机制的功能及执行约束(1)完整性控制机制应具有的功能1)定义完整性功能,提供定义完整性约束条件的机制。2)检查完整性功能,检查用户发出的操作请求,看其是否违背了完整性约束条件。3)控制完整性功能,监视数据操作的整个过程,如果发现有违背了完整性约束条件的情况,则采取一定的动作来保证数据的完整性。,9/36,(2)立即执行约束和延迟执行约束有关数据操作语句执行完后立即进行完整性检查为立即执行约束;在整个事务执行结束后再进行完整性检查为延迟执行约束。,10/36,5.实现参照完整性要考虑的几个问题(1)外码能够接受空值的问题(2)在被参照关系中删除元组的问题(3)在参照关系中插入元组时的问题,11/36,(4)修改关系的主码问题a.不允许修改主码。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。b.允许修改主码。允许修改关系主码,但必须保证主码的惟一性和非空,否则拒绝修改。(5)修改表时被参照关系的问题。a.级联修改。如果要修改被参照关系中的某个元组的主码值,则参照关系中相应的外码值也作相应的修改。b.拒绝修改。如果参照关系中,有外码值与被参照关系中要修改的主码值相同的元组,则拒绝修改。c.置空值修改。修改被参照关系的元组,并将参照关系中相应元组的外码值置空值。,12/36,8.2.2SQLServer的数据库完整性及实现方法,1.SQLServer的数据完整性的种类(1)域完整性域完整性为列级和元组级完整性。它为列或列组指定一个有效的数据集,并确定该列是否允许为空。(2)实体完整性实体完整性为表级完整性,它要求表中所有的元组都应该有一个惟一的标识符,这个标识符就是平常所说的主码。(3)参照完整性参照完整性是表级完整性,它维护参照表中的外码与被参照表中主码的相容关系。如果在被参照表中某一元组被外码参照,那么这一行既不能被删除,也不能更改其主码。,13/36,2.SQLServer数据完整性的两种方式(1)声明数据完整性声明数据完整性通过在对象定义中定义、系统本身自动强制来实现。声明数据完整性包括各种约束、缺省和规则。(2)过程数据完整性过程数据完整性通过使用脚本语言(主语言或Transact-SQL)定义,系统在执行这些语言时强制完整性实现。,14/36,3.SQLServer实现数据完整性的具体方法(1)SQLServer约束的类型,15/36,(2)数据完整性约束的实现,1.域完整性的实现,1)创建默认CREATEDEFAULTCREATEDEFAULTnl_defaultAS182)绑定SP_BINDEFAULTnl_default,学生表.年龄3)解除绑定SP_UNBINDEFAULT学生表.年龄4)删除默认DROPDEFAULTnl_default,a.通过建立默认实现完整性,16/36,1)创建规则CREATERULECREATERULExb_ruleASxb=男ORxb=女2)绑定规则SP_BINDRULExb_rule,学生表.性别3)解除绑定SP_UNBINDRULE学生表.性别4)删除默认DROPRULExb_rule,b.通过建立规则实现完整性,17/36,2.实体完整性的实现,CREATETABLE学生信息(学号char(9),姓名char(10)notnull,CONSTRAINTst_indexPRIMARYKEY(学号),18/36,3.参照完整性的实现,CREATETABLE成绩表(学号char(9),课程号char(4),成绩tinyintPRIMARYKEY(学号,课程号)FOREIGNKEY(学号)REFERENCES学生表(学号),FOREIGNKEY(课程号)REFERENCES课程表(课程号),19/36,8.3数据库的并发控制及SQLServer的并发控制机制,事务是多用户系统的一个数据操作基本单元。允许多个事务并行地执行,对并发执行的事务的控制也就称为并发控制。1.事务的概念所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。在SQL语言中,定义事务的语句有三条:BEGINTRANSACTION;COMMIT;ROLLBACK;,20/36,并发操作带来的数据不一致性,丢失修改(lostupdate)不可重复读(non-repeatableread)读“脏”数据(dirtyread),2.事务并发操作可能产生的数据不一致问题,21/36,1.丢失修改,丢失修改是指事务1与事务2从数据库中读入同一数据并修改事务2的提交结果破坏了事务1提交的结果,导致事务1的修改被丢失。,调图,22/36,2.不可重复读,不可重复读是指事务1读取数据后,事务2执行更新操作,使事务1无法再现前一次读取结果。,调图,23/36,3.读“脏”数据,事务1修改某一数据,并将其写回磁盘事务2读取同一数据后事务1由于某种原因被撤消,这时事务1已修改过的数据恢复原值事务2读到的数据就与数据库中的数据不一致,是不正确的数据,又称为“脏”数据。,调图,24/36,8.3.2封锁及封锁协议,封锁机制是并发控制的重要手段。封锁具有3个环节:第一:申请加锁第二:获得锁第三:释放锁,25/36,1.锁的类型(1)排它锁(ExclusiveLocks,简称X锁)排它锁也称为独占锁或写锁。一旦事务T对数据对象A加上排它锁(X锁),则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不能再对A加任何类型的锁,直到T释放A上的锁为止。(2)共享锁(ShareLocks,简称S锁)共享锁又称读锁。如果事务T对数据对象A加上共享锁(S锁),其他事务只能再对A加S锁,不能加X锁,直到事务T释放A上的S锁为止。,26/36,1.活锁和死锁(1)活锁在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁。解决活锁的方法是采用先来先服务的方法,即对要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。(2)死锁多事务交错等待的僵持局面称为死锁。解决死锁有两类方法:一是采用一定措施来预防死锁的发生;二是采用一定手段定期诊断系统中有无死锁,若有则解除之。,8.3.3封锁出现的问题及解决方法,27/36,预防死锁通常有两种方法:1)一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。2)顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。,28/36,1.事务内部的故障2.系统故障3.介质故障4.计算机病毒5.用户操作错误,8.4数据库恢复技术与SQLServer的数据恢复机制8.4.1故障的种类,29/36,1.数据转储(1)静态转储和动态转储1)静态转储:进行的转储操作的过程中,系统不运行其他事务,专门进行数据转储工作。2)动态转储:在转储期间,允许其他事务对数据库进行存取或修改操作。也就是说,转储和用户事务并发执行。(2)海量转储和增量转储海量转储:指每次转储全部数据库。2)增量转储:指每次只转储上一次更新过的数据。,8.4.2数据恢复的实现技术,30/36,1.SQLServer的备份形式和操作方式三种备份形式1)完全备份:完全备份即海量备份,数据库全复制到备份文件中。2)事务日志备份:事务日志备份将备份发生在数据库上的事务。3)增量备份:备份最近一次完全备份以后数据库发生变化的数据。(2)数据库进行备份和恢复操作的方式1)静态的备份和恢复方式。该方式在进行数据备份或恢复操作时,SQL服务器不接受任何应用程序的访问请求,只执行备份或恢复操作。2)动态的备份和恢复方式。该方式在进行数据备份或恢复操作时,SQL服务器同时接受应用程序的访问请求。,8.43SQLServer的数据备份和恢复机制,31/36,2.SQLServer的数据备份或恢复策略(1)使用完全备份的策略:将最近一次的备份恢复。(2)在完全备份基础上使用事务日志备份的策略。备份步骤是:定期进行完全备份,例如一天一次或两天一次。2)更频繁地进行事务日志备份,如一小时一次或两小时一次等。数据库恢复步骤是:1)用最近一次完全备份恢复数据库。2)用最近一次完全备份之后创建的所有事务日志备份,按顺序恢复完全备份之后发生在数据库上的所有操作。,32/36,(3)同时使用三种备份的策略:在同时使用数据库完全备份和事务日志备份的基础上,再以增量备份作为补充。数据备份操作顺序:1)定期执行完全备份,例如一天一次或两天一次等。2)进行增量备份,如四小时一次或六小时一次等。3)进行事务日志备份,如一小时一次或两小时一次等。恢复数据库顺序:1)用最近一次的完全备份恢复数据库。2)用最近一次的增量备份恢复数据库。3)用在最近一次的完全备份之后创建的所有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 25028-2025轮胎式装载机制动系统用加力器
- 2025年阳泉辅警招聘考试题库含答案详解(黄金题型)
- 2025年马鞍山辅警协警招聘考试真题含答案详解(a卷)
- 2025年锦州辅警协警招聘考试真题有答案详解
- 2025年黑龙江辅警招聘考试题库附答案详解(培优)
- 2025年连云港辅警协警招聘考试真题附答案详解(a卷)
- 2025年石嘴山辅警招聘考试真题及答案详解(易错题)
- 2025年陕西辅警协警招聘考试备考题库及答案详解(真题汇编)
- 2025年聊城辅警招聘考试真题含答案详解(达标题)
- 2025年长沙辅警协警招聘考试真题及参考答案详解
- 新能源产业2025年私募股权投资热点:退出策略与风险控制分析报告
- 热管真空管太阳能集热器测试报告
- 肾挫裂伤护理
- 公司大米策划方案
- 矿山机电运输安全知识培训
- JJG(烟草)30-2016卷烟端部落丝测定仪检定规程振动法
- 邮政社招考试试题及答案
- 2025民宿装修合同
- 基于BIM技术的市政工程设计试题及答案
- 低钾血症诊疗与护理要点
- 《放射诊疗许可讲解》课件
评论
0/150
提交评论