- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 数据库保护与SQL Server数据库保护技术
第6章 数据库保护及SQL Server的数据库保护技术;一次材料的入库:? 在入库日记文件中写入材料入库记录,
? 修改库存文件,更新当前库存量
一次产品的销售:
? 在销售文件中写入销售记录,
? 修改成品库存文件,更新成品库存量
银行的转账业务:
? 从A账户提款,插入取款记录,修改余额
? 存入B账户。插入存款记录,修改余额;事务处理是保证数据库一致性状态的重要方法。数据库的一致性状态是指所有数据必须满足数据完整性约束条件的状态。;(2) 事务的特性;(1)丢失修改
丢失更新的实际例子: 库存处理
T1: (进货入库处理) 进库产品400件 库存量=库存量+400
T2: (销售出库处理) 销售产品40件 库存量=库存量-40;2个事务并发执行丢失修改的过程;(2)不一致性分析 ;不一致性分析(1);不一致性分析(2) ;更新事务的结果;不一致分析(2) ;(3)读未提交数据(‘脏’数据) ;T2使用T1未提交数据可能产生的问题 ;8.3.2 封锁及封锁协议;数据状态:无锁,共享锁 S,排它锁 X;(1) 一级封锁协议
一级封锁协议是事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。; (2) 二级封锁协议
二级封锁协议是:事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取的数据必须先加S锁,读完后即可释放S锁。;;操作
协议;一级封锁协议不能防止不一致性分析据;二级封锁协议不能防止不一致性分析据;一级封锁协议不能防止读未提交数据; 8.3.3 封锁出现的问题及解决方法;(2) 死锁
多事务相互等待对方释放封锁,形成交错等待的僵持局面称为死锁。;预防死锁通常有两种方法:
一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。
2) 顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
死锁的恢复:
当死锁出现时,一定要解除它。 DBMS 周期地测试数据库是否处于死锁状态将其中一个处理代价小的事务撤消, ROLLBACK这个事务,释放这个事务进行的封锁,使其它事务可能进行下去。(诊断与解除);2. 并发调度的可串行性
多个事务并发执行的结果与按串行执行的结果相同,这种调度策略称为可串行化的调度,反之称为不可串行化调度。
;T1
;3. 两段锁协议
1) 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。
2) 在释放一个封锁之后,事务不再申请并获得任何其他封锁;4. 封锁的粒度
封锁粒度(Granularity)是指封锁对象的大小。
逻辑单元:属性值、属性值的集合、元组、关系、数据库
物理单元:页,块
封锁粒度与系统的并发度和并发控制的开销密切相关。
封锁的粒度越小,并发度越高,系统开销也越大;
封锁的粒度越大,并发度越低,系统开销也越小。;(1)多粒度封锁;(2)意向锁;IS (Intent Share Lock) 意向共享锁
如果对一个数据对象加 I S 锁,表示它的后裔节点意向加 S 锁;1. SQL Server的事务类型
SQL Server的事务分为两种类型:
系统提供的事务是指在执行某些语句时,一条语句就是一个事务,它的数据对象可能是一个或多个表(视图),可能是表(视图)中的一行数据或多行数据;
用户定义的事务以BEGIN TRANSACTION语句开始,以COMMIT(事务提交)或ROLLBAK(回滚)结束。;入滦佬鲍嘶驼瘪尺定蝗各耳咋纵攒乳缀怖屏骇佑缔咕钱腐刘粤柒妊敲拿抚第8章 数据库保护与SQL Server数据库保护技术第8章 数据库保护与SQL Server数据库保护技术; 完整性约束条件针对的对象有:关系、元组、列。根据约束对象可分为:
表级约束:若干元组间、关系中以及关系之间联系的约束
某门课的成绩优秀比例不能超过20%
先修课必须是有效值
外码必须是有效值;元组级约束:元组中的字段组和字段间联系的约束
对于学生表中的学号前4位与入学年份中的年份一致
列级约束:取值范围、精度、排序等而制定的约束条件。
对于成绩表中的成绩应大于等于0,小于等于100 ;以上三类对象可以是静态的,也可以是动态的。
静态约束:
每一确定状态时数据库对象影满足的约束确定,数据库状态稳定时的约束,是重要的一类完整性约束。
动态约束:
数据处理上的改变以及数据库数据库从一种状态转变成另一种状态时,新旧值之间所应满足的约束条件。
;1. 静态级约束
(1) 静态列级约束
1) 对数据类型的约束。
2) 对数据格式的约束。
3) 对取值范围的约束。
4) 对空值的约束。
5) 其他约束(默认,唯一,检查)
;(2) 静态元组级约束
静态元组级约束是对元组的属性组值的限定,及规定了属性之间的值或结构的相互制约关联。
(3) 静
您可能关注的文档
- 第4章_最简单C程序设计.ppt
- 第4章《外汇与汇率》习题与答案.doc
- 第4章多媒体基础与应用.ppt
- 第4章课后习题与答案.ppt
- 第4讲 Word 2003表格处理.ppt
- 第4课《做一个简单网页》ppt1 六年级信息技术下册.ppt
- 第5单元 遗传基本规律 第15课时 孟德尔豌豆杂交实验(一).ppt
- 第5章 水环境中界面过程(吸附)1.ppt
- 第5章 表中数据操作.ppt
- 第6单元 流媒体与行为应用.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)