第13章习题-Read.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章习题-Read.doc

 STYLEREF \n 标题 1 \* MERGEFORMAT 第13章   STYLEREF 标题 1 \* MERGEFORMAT 习题  STYLEREF 标题 2 \* MERGEFORMAT Error! No text of specified style in document. PAGE 2 PAGE 3 习题 如何理解事务? 解答: 事务(Transaction)反映了现实世界中需要以一个完整的单位提交的一项工作。 事务是一个逻辑工作单元,它必须完整地执行,或者全都不执行(使数据库保持不变),它是一个不可分割的工作单位。 事务处理是保证数据库一致性状态的重要方法。 试通过一个你熟悉的例子,说明事务的意义。 解答: 例如,在银行的转账业务中,从账户A中提取一万元,存入账户B中,这两个操作必须完整地被执行,或者全不执行,不允许有中间状态存在。换句话说,像银行转账这类业务是不允许只完成一部分的,只从账户A中提取一万元,或者只向账户B中存入??万元,都将是错误的。 例如,银行转账业务需要执行二次操作数据库,即执行2条UPDATE语句。 什么是数据库的一致性状态? 解答: 数据库的一致性状态是指所有数据都满足数据完整性约束条件的状态。 事务处理控制语句是什么? 解答: SQL Server通过事务控制语法,把SQL Server语句集合分组后,形成独立的逻辑工作单元。 【事务处理控制语句】 BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION 在SQL Server中,引入封锁的原因是什么? 解答: 一个数据库事务中可能包括多个输入/输出操作,最终结果将使数据库从一个一致性状态达到另一个一致性状态,即在事务执行之前或之后数据库将处于一致性的状态。然而,在事务的执行期间,数据库可能暂时处于一个不一致性的状态。 若在数据库不一致性状态时读取数据,就有可能产生不一致性问题。解决这类问题的常用方法是对所修改的对象(表、字段)进行封锁。 锁的状态有几种?分别起什么作用? 解答: 锁的状态有4种: 无锁 共享(读)锁 排它(写)锁 更新锁 其作用分别是: 共享锁(Share Lock) 共享锁又称为读锁,简称S锁。如果事务T对数据对象X加上共享锁,则其他事务只能对X再加共享锁,不能加排它锁,从而保证了其他事务可以读X,但在T释放X上的锁之前不能对X作任何修改。 排它锁(Exclusive Lock) 排它锁又称为写锁,简称X锁。如果事务T对数据对象X加上排它锁,则只允许事务T独占数据项X,其他任何事务都不能对X加任何类型的锁,直到T释放X上的锁。从而避免其他事务读取不一致的数据。 更新锁(Update Lock) 简称U锁。用来预定要对某对象施加X锁,它允许其他事务读,但不允许再施加U锁或X锁。当被读取的对象要被更新时,则升级为X锁。U锁一直到事务结束时才能被释放。 什么是死锁?如何解除死锁? 解答: 如果事务Trans1封锁了数据项X,事务Trans2封锁了数据项Y,则Trans1等待Trans2释放Y上的锁,Trans2等待Trans1释放X上的锁。因此,Trans1和Trans2都无限地等待对方打开锁住的数据项,即死锁发生。 SQL Server能自动发现并解除死锁 当SQL Server发现死锁时,会选择进程累计的CPU时间最少者所对应的用户,作为“被抛弃者”(令其夭折),以让其他用户能继续执行。此时SQL Server发送错误号1205(即@ @error=1205)给被抛弃者。 试编制如下问题的事务:假设为课程号为“C801”的加20%的分数,并且同时为课程号为“C807”的加15%的分数。 解答: 参照【例13-6】即可完成。 试说明什么是SQL Server的隐式提交? 解答: SQL Server的隐式提交,即没有明确给出【BEGIN TRANSACTION】语句,则SQL Server是按照每个SQL语句都是一个事务进行执行。

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档