数据库原理练习题集-参考答案

发布时间 : 星期六 文章数据库原理练习题集-参考答案更新完毕开始阅读

1 m 教师 单位 属于

1 1 m

拥有 讲授 开课

m m n m n 学生 选修 课程 全局E-R图

(2).该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:

单位(单位名,电话)

教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名)

学生(学号,姓名,性别,年龄,单位名) 讲授(教师号,课程编号) 选修(学号,课程编号)

7.参考答案:

(1).满足上述需求的E-R图如图所示。 单位 借书证号 姓名

借书人

n 借书日期 借阅 出版社名 电报编号 还书日期

m m 1 出版 图书 出版社 电话

数量 位置 书名 书号 邮编 地址

(2).转换为等价的关系模型结构如下:

借书人(借书证号,姓名,单位)

图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电报,电话,邮编,地址) 借阅(借书证号,书号,借书日期,还书日期)

8. 参考答案:

关系模型:

作者(作者号,姓名,年龄,性别,电话,地址) 主键:作者号 出版社(出版社号,名称,地址,联系电话) 主键:出版社号 出版(作者号,出版社号,书的数量) 主键:作者号、出版社号

9. 参考答案:E - R 图为:

关系模型为:

读者(读者号,姓名,地址,性别,年龄,单位) 书(书号,书名,作者,出版社)

借书(读者号,书号,借出日期,应还日期)

第六部分 数据库保护技术

(一)选择

1. C 6. B 11. C 16. D 2. A 7. B. 12 . B 17. B 3. D 8. C 13. A 18. C 4. C 9. B 14. B 19.B 5. B 10. C 15. B 20.D

21.A 26.D 31.C 36.A

22.A 23.D 27.D 28.C 32.C 33.C 37. ①A ②B 24.B 29.B 34.D ③C 25.C 30.B 35.C

④B ⑤C

(二)概念、术语:

术语

事务的原子性:一个事务或者成功地结束,或者什么都不做,即对数据库不产生任何影响。 事务的隔离性:是指一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的两个或多个事务可以同时运行而互不影响。

事务的永久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,随后的其它操作或故障都不会对其结果有任何影响。

完整性约束:是保护数据库中数据正确性和相容性所做的各种检查或数据应满足的约束条件。

触发器:是一个能因某一个事件触发而由系统自动执行的SQL语句序列。 引用完整性约束:也称为参照完整性约束,是指一个关系的外键值必须与另一个关系的主键值相匹配。

实体完整性约束:也称主键完整性约束,是指每个关系的主键值必须非空且唯一。

排他锁:当某个事务T为修改某个数据项A且不允许其他事务修改该数据项,或不允许其它事务对该数据项加S锁时,该事务可以对A加排他锁。

共享锁:当某个事务T希望阻止其他事务修改正为它读取的某个数据项A时,该事务可以对A加共享锁。 简述

(1)简述事务中的提交和回滚.

参考答案:事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。

(2)数据库的并发操作会带来哪些问题?如何解决? 参考答案:数据库并发操作会带来的数据不一致性问题包括丢失修改、读过时数据和读“脏”数据。对于并发操作带来的问题,可以用并发控制的方法调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其它事务的干扰。一级锁协议可防止丢失修改;二级锁协议不仅可以防止丢失修改,而且可以防止读“脏”数据。三级锁协议除了防止丢失修改和不读“脏”数据外,还可防止读过时数据。 (3)简述基本的封锁类型及它们的含义。

参考答案:基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。

若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。

若事务T对数据A加上S锁,则其他事务可以再对A加S锁,而不能加X锁,直到T释放A上的锁。

(4)简述数据库在运行过程中可能产生的故障主要有哪几类?

参考答案:数据库在运行过程中可能产生的故障有如下几类: (1).事务故障

事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限

制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常终止点之前就被撤消了,这种情况称为“事务故障”。

(2).系统故障

系统故障是指系统在运行过程中,由于某种原因,如OS和DBMS代码错误,操作员操作失误,特定类型的硬件错误(如CPU故障),突然停电等造成系统停止运行,致使事务在执行过程中以非控方式终止。这时,内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。

(3).介质故障

系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误,瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称之为“介质故障”。

(5)简述怎样进行系统故障的恢复?

参考答案:当系统故障发生时,造成数据库处于不一致状态的原因有两个,一个是一些未完成事务对数据库的部分更新已写入数据库中,另一个是一些已提交事务对数据库的更新还留在内存缓冲区,没来得及写回数据库。因此,基本的恢复分为以下两步: (1).根据日志文件建立重做队列和撤消队列

从头扫描日志文件,找出故障前已提交的事务记录,将其事务标识放入重做队列;还要找出故障前尚未完成的事务,将该事务放入撤消队列。

(2).对重做队列中的事务进行重做处理,对撤消队列中的事务进行撤消处理

对于重做处理(REDO),正向扫描日志文件,再根据重做队列,将已完成的事务的所有操作重新执行;对于撤消处理(UNDO),反向扫描日志文件,再根据撤消队列,将未完成的事务的更新操作执行逆操作。

(6)简述怎样进行介质故障的恢复?

参考答案:在发生介质故障时,磁盘上的物理数据库被破坏,这时的恢复操作分为以下几步:

(1).重装转储后援副本,使数据库恢复到转储时的一致状态;

(2).从故障开始,反向阅读日志文件,找出已提交事务标记作重做队列;

(3).从起始点开始正向阅读日志文件,根据重做队列的记录,重做所有已完成的事务,将数据库恢复至故障前某一时刻的一致状态。

(7)简述数据库的并发控制。

参考答案:数据库是一个共享资源,它允许多个用户程序并行地存取数据库中的数据,但是,如果系统对并行执行的操作不加以控制就会存取和存储不正确的数据,破坏数据库的完整性。

并发控制的主要方法是采用封锁机制。封锁是事务T在对某个数据对象操作之前,先向系统发出请求对其加锁。基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)。所谓X锁是事务T对数据A加上X锁时,只允许事务T读取和修改数据A,其他任何事务都不量能再对A加任何类型的锁,直到T释放A上的锁。所谓S锁,是事务T对数据A加上S锁时,其他事物只能再对数据A加S锁,而不能加X锁,直到T释放A上的S锁。

联系合同范文客服:xxxxx#qq.com(#替换为@)