第六章数据库管理练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011.1.11.表示事务执行成功的语句是()
MIT
B.RETURN
C.ROLLBACK
D.OK
30.简述第三级封锁协议的内容。
31.简述数据库故障的种类。
32.请用SQL语句完成如下授权:授予用户CHEN查询、修改关系S的权限,并且允许CHEN将这些权限转授给其他用户。
33.简述T-SQL语言中局部变量和全局变量的区别。
35.简述UML类图中的重复度与ER模型中实体基数的区别。
2010.10.11.如果一个事务在故障发生之前完成,但是它并没有到达检查点,则系统恢复时应对该事务执行( )
A.REDO操作B.UNDO操作
C.RESTART操作D.NULL操作
12.如果事务T1需要两次读取同一数据项A,但是在两次读操作的间隔中,另一个事务T2改变了A的值,那么此并发操作所引起的问题是( )
A.丢失更新B.死锁
C.不可重复读 D.读脏数据
21.封锁技术中主要有两种封锁:排他型封锁和________型封锁。
22.DBS中用于安全性目的的数据库日志称为________。
30.简述事务的性质。
32.简述权限的定义及权限的种类。
2010.1. 12.要求事务在读取数据前先加共享锁,且直到该事务执行结束时才释放相应的锁,这种封锁协议是( )
A.一级封锁协议
B.二级封锁协议
C.三级封锁协议
D.两段锁协议
13.断言是DBS采用的( )
A.安全性措施
B.完整性措施
C.恢复措施
D.并发控制措施
31.简述采用检查点方法的恢复算法的主要内容。
32.事务的存取模式有几种,分别是什么?
35.简述事务的调度、串行调度和并发调度的含义。
13.下列不属于
...并发操作带来的问题是( )
A.丢失更新
B.读脏数据
C.不可重复读
D.死锁
5.在DB技术中,“脏数据”是指( )
A.未回退的数据
B.未提交的数据
C.回退的数据
D.未提交随后又被撤消的数据
22.如果事务T对某个数据R实现了__________________锁,那么在T对数据R解除封锁之前,不允许其他事务再对R加任何类型的锁。
2007.4.12.如果事务T获得了数据项Q上的共享锁,则T对Q( C )
A.只能读不能写
B.只能写不能读
C.既可读又可写
D.不能读不能写
复习题:
1.事务的COMMIT语句和ROLLBACK语句各做什么事情?p152
答:COMMIT语句表示事务执行成功的结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施;ROLLBACK语句操作表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须撤销,数据库应该恢复该事务到初始状态。
2.试述事务的四个性质,并说明每一个性质由DBMS的哪个子系统实现?每一个性质对数据库系统有什么益处?
答:原子性:一个事务对数据库的所有操作,是一个不可分割的工作单元,这些操作要么全部执行,要么什么也不做(由DBMS的事务管理子系统来实现);
一致性:一个事务独立执行的结果,应(由DBMS的完整性子系统执行测试任务);隔离性(由DBMS的并发控制子系统实现);
持久性(由DBMS的恢复管理子系统实现的)。
3典型的数据库恢复策略是什么?
答:(1)平时做好两件事转储和建立日志。
(2)一旦发生故障,分两种情况处理:一是如果数据库遇到灾难性故障,利用数据库备份和日志执库行redo已提交的事务,把数据库恢复到事故前的状态。二是如果数据库只是破坏了数据的一致性,利用日志库undo不可靠的修改,redo 已提交的缓冲区中的事务。
4 检查点机制的主要思想是什么?
答:在DBS运行时,数据库管理系统定时设置检查点。在检查点时刻才真正做到把对数据库的修改写到磁盘,并在日志文件上写入一条检查点记录(以便恢复用)数据库需要恢复时,只有在检查点后面的那些事务需要恢复,一般DBMS产品自动实行检查点操作,无须人为干预。
5 什么是undo操作和redo操作?为什么要这样设置?
答:undo操作是反向扫描日志文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态;
Redo操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。
6. COMMIT操作和检查点时的操作有什么联系?你认为应该如何恰当协调这两种操作才有利于DB的恢复?
答:在采用检查点方法的基本恢复算法中根据日志文件,建立事务重做对列和事务撤销队列,此时。从头扫描日志文件,找出在故障前已经提交的事务(这些事务执行了COMMIT操作),将其事务标识记入重做队列。
同时还要找出故障发生时尚未完成的事务(这些事务还未执行COMMIT),将其事务标识记入撤销队列。
7 数据库的并发操作会带来哪些问题?如何解决?
答:丢失更新问题;度脏数据问题;不可重复读问题。
解决的方法是用封锁机制。
8 什么是封锁粒度?封锁粒度的大小对并发系统有什么影响?
答:封锁对象的大小称为封锁粒度。
封锁粒度与系统的并发度和并发控制的开锁密切相关,封锁的粒度越大并发度也就越小,同时系统的开销也就越小;相反,封锁粒度越小,并发度就越大,系统的开销也就越大。
9 在封锁技术中,封锁协议可成哪三个级别?各解决了并发调度中的什么问题?答:封锁协议分为一级封锁协议,解决了“丢失修改”;
二级封锁协议,解决了“丢失修改、读脏数据”;
三级封锁协议,解决了“丢失修改、度脏数据、不可重复读”。