数据库原理与应用章节练习题及答案-第9章_第1页
数据库原理与应用章节练习题及答案-第9章_第2页
数据库原理与应用章节练习题及答案-第9章_第3页
数据库原理与应用章节练习题及答案-第9章_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.试述实现数据库安全性控制的常用方法和技术。数据库安全性控制的常用技术包括用户标识与鉴别、存取控制、视图机制、审计、密码保护等。2.什么是数据库中的自主存取控制方法和强制存取控制方法?在自主存取控制方法中,用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。DBMS通过验证用户是否具有对访问数据有相应的权限来决定是否允许用户执行数据访问。在强制存取控制中,DBMS所管理的全部实体被分为主体和客体两大类。主体和客体都具有自己的安全级别。但主体访问客体时,不仅要求主体具有访问客体的权限,而且要求主体的安全级和客体的安全级之间满足支配关系。3.DBMS的完整性控制机制应具有哪些功能?DBMS的数据库完整性控制机制应具有以下三个功能:(1)定义功能:提供定义完整性约束条件的机制;(2)检查功能:检查用户发出的操作请求是否违背了约束条件。一般有两种检查方式:一种是立即执行约束(即一条语句执行完成后立即检查),另一种是延迟执行约束(即在整个事务执行完毕后再检查约束);(3)违约响应功能:如果操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。4.试述事务的概念及事务的四个特性。数据库系统中的事务是一个不可分的操作序列,其中的操作要么全部都不执行,要把全部都执行。事务一般应满足四个性质,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这四个性质在数据库领域中一般合称为事务的ACID性质。(1)原子性事务的原子性是指一个事务内部的所有操作要么全部都执行,要么一个也不执行,即所有操作是一个整体。(2)一致性事务的一致性是指事务的执行保证数据库从一个一致状态转到另一个一致状态,即数据不会应事务的执行而导致不一致。但是,事务的内部无须满足数据库的一致性。(3)隔离性事务的隔离性是指多个事务一起执行时相互独立,互相不影响,任一事务的执行结果直到其成功提交后才对其它事务可见。从另一角度讲,事务的隔离性要求多个事务并发执行与这些事务单独顺序执行的结果相同。(4)持久性事务的持久性是指事务一旦成功提交,其结果就在数据库中持久保存,不会因为关机等而导致数据丢失。5.并发操作可能会产生哪几类问题?丢失更新、脏读和不可重复读6.什么是冲突可串?给定N个事务的一个并发调度S1,如果S1冲突等价于这N个事务的某个串行调度,则称S1是冲突可串调度。冲突等价是指:给定N个事务的并发调度S1和S2,如果调度S1通过交换一系列不冲突的操作,最终能够转换为调度S2,则称S1和S2冲突等价。所谓冲突操作,是指并发调度中满足下面条件的一对操作:(1)属于不同的事务;(2)操作同一个数据对象;(3)至少有一个是写操作。7.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。下面的转账例子中,当事务T在Output(A)时故障而没有正常结束,将出现转出账号A扣了钱而转入账号B没有增加钱的情况,破坏了数据库的正确性。8.登记日志文件时为什么必须先写日志文件,后写数据库?由于引入日志后,数据的更新操作实际上在执行时需要写磁盘两次:一次是写数据,还有一次是写日志记录。先写日志规则规定日志记录必须先写,然后才是写数据操作。之所以规定WAL规则,是考虑到如果先写数据后写日志的话,一旦这两次写操作之间发生故障导致写数据完成了但写日志没完成,则DBMS将无法获知这种故障进而无法完成一致性恢复。例如,假设采用后写日志策略,如果T1将A从1000修改为900时发生故障,并写数据操作已经完成(此时900已写到数据库),但还未来得及将表示这一次修改的日志写入磁盘,则日志中与T1相关的记录只有一条:<Start,T1>此时,当DBMS重启后执行恢复时,因为T1没有正常结束所以要撤销其操作,但由于日志中没有T1将A从1000修改为900的更新操作记录,所以DBMS将无法将A恢复到1000。相反,如果采用先写日志,同样假设写日志和写数据之间发生了故障,则故障发生时日志中与T1相关的日志记录为:<Start,T1><T1,A,1000>DBMS在恢复时就可以发现T1对A所做的修改,并且可以将A恢复到T1执行之前的状态,即恢复为1000。9.试述基于Undo/Redo日志的恢复过程。(1)构建Undo和Redo事务列表:从头扫描日志,找出所有有<Commit,T>的事务,放入一个Redo事务列表Lredo中。找出所有没有<Commit,T>的事务,放入一个Undo事务列表Lundo中;(2)执行Undo操作:从日志尾部往前扫描日志记录<T,x,old_value,new_value>,如果TLundo,则执行:Write(x,old_value)Output(x)(3)执行Redo操作:从日志头部开始扫描日志记录<T,x,old_value,new_value>,如果TLredo,则执行:Write(x,new_value)Output(x)(4)写事务回退标志:ForeachTLundodoWrite<Abort,T>tolog10.具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。检查点的基本思想是在日志中加入一个特殊的检查点标记,指示在该标记之前的所有Commit的事务修改已经全部生效。如此一来,在恢复时就不需要再扫描检查点标记之前的日志,从而提高恢复时的性能。上图给出了基于检查点的数据库恢复示例。在这个例子中,当开始执行检查点操作时(ts时刻),数据库系统中T1和T2事务已经完成,因此在恢复时不需要再执行redo操作。11.举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。T1:T2:ABxL1(A)Read(A,t)t=t+100Write(A,t)U1(A)252525125xL2(A)xL1(B)Read(A,t)125250250252525Read(B,t)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论