数据库系统工程师-数据库的控制功能

上传人:公**** 文档编号:500367635 上传时间:2022-07-24 格式:DOC 页数:11 大小:122.50KB
返回 下载 相关 举报
数据库系统工程师-数据库的控制功能_第1页
第1页 / 共11页
数据库系统工程师-数据库的控制功能_第2页
第2页 / 共11页
数据库系统工程师-数据库的控制功能_第3页
第3页 / 共11页
数据库系统工程师-数据库的控制功能_第4页
第4页 / 共11页
数据库系统工程师-数据库的控制功能_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数据库系统工程师-数据库的控制功能》由会员分享,可在线阅读,更多相关《数据库系统工程师-数据库的控制功能(11页珍藏版)》请在金锄头文库上搜索。

1、数据库系统工程师-数据库的控制功能(总分:32.00 ,做题时间:90分钟)(总题数:25,分数:32.00)1. “ 一个事务中的诸操作要么都做,要么都不做”,这一性质是指事务的(17)(分数:1.00 )A. 原子性 VB. 一致性C. 隔离性D. 持久性 解析:分析详细分析见试题12。2. 对事务日志的正确描述是 (9)。(分数:1.00 )A. 事务日志记录了对数据库的所有操作B. 事务日志必须严格按服务数据库进行修改的时间次序记录VC. 事务日志文件应该与数据库文件放在同一存储设备上D. 事务日志的主要目的是应用于审计解析:分析事务日志仃ransaction logs)是数据库结构中

2、非常重要但又经常被忽略的部分。由于它并不像数据库中的schema那样活跃,因此很少有人关注事务日志。事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的 文件中。对于任何每一个事务过程,事务日志都有非常全面的记录,根据这些记录可以将数据文件恢复成 事务前的状态。从事务动作开始,事务日志就处于记录状态,事务过程中对数据库的任何操作都在记录范 围,直到用户点击提交或后退后才结束记录。每个数据库都拥有至少一个事务日志及一个数据文件。 出于性能上的考虑,SQL Server将用户的改动存入缓存中,这些改变会立即写入事务日志,但不会立即写 入数据文件。事务日志会通

3、过一个标记点来确定某个事务是否已将缓存中的数据写入数据文件。当SQLServer重启后,它会查看日志中最新的标记点,并将这个标记点后面的事务记录抹去,因为这些事务记录 并没有真正地将缓存中的数据写入数据文件。这可以防止那些中断的事务修改数据文件。事务日志对数据 库有重要作用,同时它对系统的整体性能也有一定影响。通过几个选项,我们可以对事务日志的性能进行 优化。由于事务日志是一个连续的磁盘写入过程,因此在这当中不会发生读取动作。3. 在SQL语言中事务结束的命令是。(分数:1.00 )A. ENDTRANSACTIONB. COMMITC. ROLLBACKD. COMMIT或 ROLLBACK

4、 V解析:分析事务是并发控制的基本单位,也是恢复的基本单位。在SQL中支持事务的概念。所谓事务,是用户定义的 一个操作序列(集合),这些操作要么都做,要么一个都不做,是一个不可分割的整体。一个事务通常以BEGIN TRANSACTION1 始,以 COMMI或 ROLLBACK束。SQL提供了事务提交和事务撤销两种命令。(1)事务提交。事务提交的命令为:COMMIT WORK事务提交标志着对数据库的某种应用操作成功地完成,所有对数据库的操作都必须作为事务提交给系统时 才有效。事务一经提交就不能撤销。(2)事务撤销。事务撤销的命令是:ROLLBACKWORK事务撤销标志着相应事务对数据库操作失败

5、,因而要撤销对数据库的改变,即要“回滚”到相应事务开始时的状态。当系统非正常结束时(如掉电、系统死机),将自动执行ROLLBACKS令。SQL还提供了自动提交事务的机制,其命令为:SET AUTO COMMIT ON其对应的人工工作方式命令为:SET AUTO COMMIT OFF一旦规定了自动提交事务方式,则系统将每条SQL命令视为一个事务,并在命令成功执行完成时自动地完成事务提交。4. 对事务回滚的正确描述是 (8)。(分数:1.00 )A. 将该事务对数据库的修改进行恢复VB. 将事务对数据库的更新写入硬盘C. 跳转到事务程序的开头重新执行D. 将事务中修改的变量值恢复到事务开始时的初值

6、解析:分析事务是数据库更新操作的基本单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销,事务对 数据库的操作首先是在缓冲区中进行的,DBMS?实现定期的缓冲区数据写入硬盘数据库的操作,或由显式的指令来完成,事务的撤销只涉及数据库,不会改变事务中的变量值。5. 介质故障恢复需采取以下操作其操作步骤是(11)。I.装载数据备份执行Redo操作 山执行Undo操作(分数:1.00 )A. I - n -mB. n - i -mC. I - m -n VD. n - m -i解析:分析在发生介质故障后,原有的数据库已破坏,需要从最近的副本(最近的完全备份加此后所有的动态备份),根据事务日志,对

7、于备份时正在执行的而未完成的事务做Undo操作,要想使数据库处于一致性状态,则先需重做从最近的备份开始到故障前的所有事务,数据库即恢复至故障前的一致性状态。6. 若数据A持有事务T1所加的排他锁,那么其他事务对数据A (18)。(分数:1.00 )A. 加共享锁成功,加排他锁失败B. 加排他锁成功,加共享锁失败C. 加共享锁、加排他锁都成功D. 加共享锁、加排他锁都失败V解析:分析详细分析见试题3。数据库系统运行的基本工作单位是事务。事务通常以BEGINTRANSACTIO语句开始,以COMMIT或 ROLLBACK吾句结束。COMMIT表示(26) ,ROLLBACK!示(27)。从终端用户

8、的角度看,事务是一个(28)。在数据库的并发控制中, T若要更新记录Q,必须先执行操作(29)。在封锁技术方面,SQL2提供如 下4种“事务的一致性级别”:可读未提交数据、读提交数据、可重复读而串行化。其中(30)允许事务读“脏”数据。(分数:5.00 )A. 物理数据库尚未更新,事务执行失败B. 物理数据库尚未更新,事务执行成功C. 物理数据库已更新,事务执行失败D. 物理数据库已更新,事务执行成功V解析:A. 回退到上一操作B. 回退到上一事务C. 事务执行失败,并做相应的回退动作VD. 事务执行成功,并做相应的回退动作解析:A. 子程序B. 对象C. 原子 VD. 操作解析:A. Loc

9、k_S(Q)B. Lock_X(Q)VC. Read(Q)D. Write(Q)解析:A. 可读未提交数据VB. 读提交数据C. 可重复读D. 可串行化解析:分析事务通常以BEGIN TRANSACTION!务开始)语句开始,以 COMMI或 ROLLBACKS句结束。COM MIT称为“事 务提交语句”,表示事务执行成功地结束。ROLLBAC称为“事务回退语句”,表示事务执行不成功地结束。从终端用户来看,事务是一个原子,是不可分割的操作序列。事务中包括的所有操作要么都有做,要么都 不做(就效果而言)。事务不应该丢失,或被分割地完成。根据一级封锁协议,任何企图更新记录Q的事务必须先执行Lock

10、_X(Q)操作。“脏数据”是指未提交的随后又被撤销的数据,XQL 2提供的四种“事务一致性级别”中,可读未提交数据允许事务读“脏”数据。7. (32)引起的数据库异常,其破坏性最大。(分数:1.00 )A. 事务故障B. 系统故障C. 介质故障 VD. 病毒引起故障解析: 分析 数据库系统中可能发生各种各样的故障,大致可以分以下几类。(1) 事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的 (见下面转账事务的例子 ) ,有的是非预期的,不能由 事务程序处理。例如,银行转账事务。这个事务把一笔金额从一个账户甲转给另一个账户乙。BEGIN TRANSACTION 读账户甲的余额 BAL

11、ANCE;BALANCE=BALANCE-AMQUI(AMOUN为转账金额)IF(BALANCE O)THEN打印 金额不足,不能转账 ;RQLLBAC;(撤销刚才的修改,恢复事务)ELSE读账户乙的余额 BALANCE;1BALANCE1=BALANCE1+AMQ;UNT写回 BALANCE;1CQMMI;T 这个例子说明事务是一个“完整的”工作单位,它所包括的一组更新操作要么全部完成要么全部不做,否 则就会使数据库处于不一致状态,例如只把账户甲的余额减少了而没有把账户乙的余额增加。在这段程序中若产生账户甲余额不足的情况,应用程序可以发现并让事务滚回,撤销错误的修改,恢复数 据库到正确状态。

12、事务内部更多的故障是非预期的,是不能由应用程序处理的。如运算溢出、并行事务发生死锁而被选中撤 销该事务等,以后,事务故障仅指这一类故障。事务故障意味着事务没有到达预期的终点(COMMIT或者显式的ROLLBACK)因此,数据库可能处于不正确状态。系统就要强行滚回此事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务好像根本没有 启动一样。(2) 系统范围内的故障系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。例如CPU故障、操作系统故障、突然停电等,这类故障影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存) 中的内容都被丢失, 使得运行事务都非

13、正常终止, 从而造成数据库可能处于不正确的状态, 恢复子系统 必须在系统重新启动时让所有非正常终止的事务滚回,把数据库恢复到正确的状态。(3) 介质故障系统故障常称为软故障 (Soft Crash) ,介质故障称为硬故障 (Hard Crash) 。硬故障指外存故障,如磁盘的 磁头碰撞、瞬时的强磁场干扰等。这类故障将破坏数据库或部分数据库,并影响正存取这部分数据的所有 事务,这类故障比前两类故障发生的可能性小得多,但破坏性最大。(4) 计算机病毒计算机病毒是一种人为的故障或破坏, 是一些恶作剧者研制的一种计算机程序, 这种程序与其他程序不同, 它像微生物学所称的病毒一样可以繁殖和传播,并造成对

14、计算机系统包括数据库的危害。病毒的种类很多,不同病毒有不同的特征。小的病毒只有20条指令,不到50字节。大的病毒像一个操作系统,由上万条指令组成。计算机病毒已成为计算机系统的主要威胁,自然也是数据库系统的主要威胁, 为此计算机的安全工作者已研制了许多预防病毒的“疫苗”,检查、诊断、消灭计算机病毒的软件也在不 断发展。但是,至今还没有一种使得计算机“终生”免疫的“疫苗”。因此数据库一旦被破坏仍要用恢复 技术加以恢复。总结各类故障,对数据库的影响有两种可能性,一是数据库本身被破坏,二是数据库没有破坏,但数据可 能不正确,这是因为事务的运行被终止造成的。8. 一级封锁协议解决了事务的并发操作带来的(

15、3)不一致性的问题。(分数:1.00 )A. 数据丢失修改 VB. 数据不可重复读C. 读脏数据D. 数据重复修改解析:分析数据库的并发操作会带来一些问题,例如丢失更新问题,不一致分析问题(读过时的数据),依赖于未提交更新的问题(读了“脏”数据)。这三个问题需要 DBMS勺并发控制子系统来解决。处理并发控制的主要方法是采用封锁技术。有两种封锁:X封锁和S封锁。(1)排他型封锁(简称X封锁):其含义是如果事务 T对数据A(可以是数据项、记录、数据集以至整个数据库)实现了 X封锁,那么只允许事务 T读取和修改数据 A,其他事务要等事务 T解除X封锁以后,才能对数 据A实现任何类型的封锁。可见 X封锁只允许一个事务独锁某个数据,具有排他性。(2)共享型封锁(简称S封锁):X封锁只允许一个事务独锁和使用数据,要求太严。需要适当从宽,例如可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号