《数据库原理与应用教学课件作者林小玲第6章习题答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用教学课件作者林小玲第6章习题答案.docx(9页珍藏版)》请在第一文库网上搜索。
1、第6章习题答案一、填空题1 .在数据库系统中定义存取权限称为一授权1。SO1语言用GRANT语句向用户授予对数据的操作权限,用REVOKE一语句收回授予的权限。2 .通过一视图机制1可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定层度的安全保护。3,数据库的完整性指的是数据的JE确性.和一一致性一4 .在SQ1中,用PRIMARYKEY短语定义关系模型的实体完整性。5 .在SQ1中,关系模型的参照完整性用FORE1GNKEY一短语定义哪些列为外码列,用REFERENCES短语指明这些外码列参照哪些表的主码八6 .在SQ1语言中,定义事务的语句主要有BEGINTRANSACT
2、1oN、COMM1T和Ro11BACKo7 .事务具有的四个性质分别是:原子性、一致性、隔离性和持久性,简称事务的AC1D性质。8 .并发操作带来的数据不一致性包括丢失修改、不可重复读和读脏数据。9 .多个事务中的并发操作的一种执行顺序称为一个调度,当且仅当其执行结果等于按某种顺序串行执行这些事务而得的结果,我们称它为可串行化调度。10 .基本的封锁类型有共享锁和排它锁。11 .在数据库并发控制中,两个或多个事务同时处于相互等待状态,导致这些事务都不能继续运行,这种现象称为JE锁一O12 .在数据库并发控制中,由于事务按优先级分配锁,导致低优先级的事务可能永远申请不到锁而处于无休止的等待状态,
3、这种现象称为活锁一O13 .封锁对象的大小称为封锁粒度o14 .数据库中可能发生的故障大致可以分为事务故障、系统故障和介质故障。15 .转储可分为静态转储和动态转储,转储方式有全量转储和增量转储.16 .日志文件用来记录事务对数据库的更新操作,主要有两类:以记录为单位的日志文件和以数据块为单位的日志文件。17 .登记日志文件的原则是:1)严格按并行操作执行的时间顺序进行:2)先写_日志,后写一数据库.。18 .日志文件的作用是:在进行数据库恢复时取现事务的撤销和重做。19 .事务故障的恢复方法是:撤销一所有未完成的事务。20 .系统故障的恢复方法是:撤销所有未完成的事务,重做所有已提交的事务。
4、21 .介质故障的恢复方法是:先用备份将数据库恢复到最近的一致状态,然后重做间于恢复点和故障点之间的所有已提交的事务。二、单项选择题1 .SQ1中的视图机制提高了数据库系统的且oA.完整性B.并发控制C.隔离性D.安全性2 .SQ1语言的GRANT和REVOKE语句主要用于维护数据库的C。A.完整性B.可靠性C.安全性D.一致性3 .安全性检查所要防范的对象是,防止它们存取数据库中的数据。A.错误数据B.非法用户和操作C.不一致的数据D.以上三者都不是4 .完整性检查所要防范的对象是上,防止它们进入数据库。A.错误数据B.非法用户C.非法操作员D.以上三者都不是5 .在下列SQ1命令中,_A是
5、数据控制命令。A.GRANTB.DROPC.UPDATED.A1TER6 .在SQ1语言中,定义主码时需要用到_AoA.PRIMARYKEYB.GRANTC.REFERENCESD.A1TER7 .在SQ1语言中,定义外码时需要用到_C。A.DROPB.GRANTC.REFERENCESD.A1TER8 .事务的上指的是:事务包含的所有操作要么全部执行,要么全部不执行。A.原子性B.一致性C.隔离性D.持久性9 .事务的C指的是:并发运行的多个事务不相互干扰。A.原子性B.一致性C.隔离性D.持久性10 .事务的指的是:己提交的事务对数据库的改变是永久的。A.原子性B.一致性C.隔离性D.持久
6、性11 .事务的B指的是:事务的执行必须使数据库保持一致状态。A.原子性B.一致性C.隔离性D.持久性12 .SQ1语言中的CoMMIT语句的主要作用是13 .SQ1语言用语句实现事务的回滚。A.CREATEB.RO11BACKC.DROPD.COMMIT14 .为了解决并发操作带来的数据不一致问题,普遍采用上技术。A.封锁B.存取控制C.恢复D.协商15 .在下列问题中,C不是并发操作带来的问题。A.丢失修改B.不可重复读C.死锁D.读脏数据16 .DBMS普遍采用方法来保证调度的正确性。A.索引B.授权C.封锁D.日志17 .事务T在修改数据R之前必须现对其加X锁,直到事务结束才释放,这是
7、上oA.一级封锁协议B.二级封锁协议C.三级封锁协议D.零级封锁协议18 .如果事务T获得数据项Q上的排它锁,则T对0C。A.只能读不能写B.只能写不能读C.读写均可D.不能写也不能读19 .事务T1和T2同时对数据对象A进行操作,可能有如下四种情况,其中不会发生操作冲突。A.T1正在读A,T2要写AB.T1正在写A,T2也要写AC.T1正在写A,T2要读AD.T1正在读A,T2也要读A20 .设两个事务同时对数据库中的同一数据进行操作,如果D,则不会发生操作冲突。A.一个是DE1ETE,一个是SE1EcTB.一个是SE1ECT,一个是UPDATEC.两个都是UPDATED.两个都是SE1EC
8、T21 .在数据库并发控制中,两个或多个事务同时处于相互等待状态,导致这些事务都不能继续运行,这种现象称为_BoA.活锁B.死锁C.X锁D.S锁22 .在数据库并发控制中,由于事务按优先级分配锁,导致低优先级的事务可能永远申请不到锁而处于无休止的等待状态,这种现象称为_AoA.活锁B.死锁C.X锁D.S锁23 .若系统运行过程中,由于某种硬件故障,使存储在外存上的数据全部损坏,这种情况称为Ao24 .事务日志用于保存CoA.程序运行过程B.程序执行结果C.事务对数据库的更新操作D.事务对数据库的查询操作25 .事务是一个C。A.程序B.进程C.操作序列D.完整性规则26 .数据库恢复的重要依据
9、是一D。A.DBAB.DDC.文档D.事务日志27 .数据库备份的主要用途是A.并发控制B.保存历史档案C.故障恢复D.安全性控制28 .在DB恢复时,对已经CoMM1T但更新未写入磁盘的事务要执行A.REDOB.UNDOC.ABORTD.RO11BACK29 .在DB恢复时,对尚未COMM1T的事务要执行通。A.REDOB.UNDOC.ABORTD.RO11BACK30 .在DB技术中,“脏数据”指的是D。A.未回退的数据B.未提交的数据C.回退的数据D.未提交随后乂被撤消的数据31 .事务中并发操作的一种执行顺序称为oA.过程B.步骤C.调度D.优先级32 .在事务等待图中,如果存在一个循
10、环,那么就会oA.出现活锁B.出现死锁C.执行成功D.执行失败33 .“所有事务都遵守两段封锁协议”是“事务调度可串行化”的oA.必要条件B.充分条件C.必要充分条件D.前提条件三、简述题1 .什么是事务的AC1D性质?答:事务的ACID性质是原子性(AtOnIiCity),一致性(COnSiStenCy),隔离性(Iso1ation),持续性(Durabi1ity2 .什么是丢失修改?试举一个例子。答:两个事务T1和T2读入同一数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失,这就是丢失修改。例1飞机订票系统中的一个活动序列甲售票点(甲事务)读出某航班的机票余额A,设A=
11、16;乙售票点(乙事务)读出同一航班的机票余额A,也为16;甲售票点卖出一张机票,修改余额A-A-1,所以A为15,把A写回数据库;乙售票点也卖出一张机票,修改余额A-A-1所以A为15,把A写回数据库结果明明卖出两张机票,数据库中机票余额只减少1这种情况称为数据库的不一致性,是由并发操作引起的。在并发操作情况下,对甲、乙两个事务的操作序列的调度是随机的。若按上面的调度序列执行,甲事务的修改就被丢失。原因:第4步中乙事务修改A并写回后覆盖了甲事务的修改3 .什么是不可重复读?试举一个例子。答:不可重复读是指事务T1读取数据后,事务T2,执行更新操作,使T1无法再现前一次读取结果。不可重复读包括
12、三种情况:(。事务TI读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值(2)事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录消失了(3)事务T1按一定条件从数据库中读取某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。后两种不可重复读有时也称为幻影现象(PhantomRoW)例如:T1T2(1)R(A)=50R(B)=100求和二150(2)R(B)=100B*2B(B)=200(3)(3)R(A)=50R(B)=200求和二250结果:验证不对
13、,不可重复读说明:(1) T1读取B=IOo进行运算(2) T2读取同一数据B,对其进行修改后将B=200写回数据库。(3) T1为了对读取值校对重读B,B已为200,与第一次读取值不一致4 .什么是读脏数据?试举一个例子。答:读“脏”数据是指:(1)事务T1修改某一数据,并将其写回磁盘(2)事务T2读取同一数据后,T1由于某种原因被撤销(3)这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致(4) T2读到的数据就为“脏”数据,即不正确的数据例如:T1T2(1)R(C)=100C*2CW(C)=200(2)R(C)=200(3)Ro11backC恢复为100结果:读脏数据
14、说明:(I)TI将C值修改为200,T2读到C为200(5) T1由于某种原因撤销,其修改作废,C恢复原值100(3)这时T2读到的C为200,与数据库内容不一致,就是“脏”5 .简述基于检查点的数据库恢复思路和步骤(检查点)(检杳点)T式检查点)Tu系统故障)答:(1)从重新开始文件(见图)中找到最后个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单Active-1ISTo这里建立两个事务队列:1) UNDo-1IST:需要执行Undc)操作的事务集合;2) REDo-1IST:需要执行redo操作的事务集
15、合。把ACTIVE-1IST暂时放入UNDO-1IST队列,REDO队列暂为空。3)从检查点开始正向扫描日志文件: 如有新开始的事务Ti,把Ti暂时放入UNDO-1IST队列; 如有提交的事务Tj,把Tj从UNDO-1IST队列移到REDo-1IST队列,直到日志文件结束;4)对UNDO-1IST中的每个事务执行UNDO操作,对REDO-1IST中的每个事务执行REDO操作。6 .试述事务的概念及事务的4个特性。答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有4个特性:原子性(AtOmieity)、一致性(COnSiStenCy)、隔离性(ISOIatiOn)和持续性(DUrabiIity)。这4个特性也简称为AC1D特性。 原