数据库原理课后习题答案 联系客服

发布时间 : 星期一 文章数据库原理课后习题答案更新完毕开始阅读49ac2c9527d3240c8547efcf

码:工程号+材料号

操作异常:数据冗余,插入异常,删除异常,修改异常 分析原因:

(工程号,材料号) ? 开工日期 工程号? 开工日期

存在部分函数依赖,不满足2NF (工程号,材料号) ? 单价 材料号?单价

存在部分函数依赖,不满足2NF 分解为:

R1(工程号,材料号,数量) R2(材料号,单价)

R3(工程号,开工日期,完工日期) 第七章 一、试说明事务的概念及四个特征。

答:事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元,

一个事务内的

所有语句被作为一个整体,要么全部执行,要么全部不执行。 四个特征:原子性、一致性、隔离性和持续性 三、在数据库中为什么要有并发控制机制?

答:数据库系统一个明显的特点是多个用户共享数据库资源,尤其是多个用

户可以同时存取相同数据。在这样的系统中,在同一时刻同时运行的事

务可达数百个。若对多用户的并发操作不加控制,就会造成数据库存、取的错误,破坏数据的一致性和完整性。所以数据库中要有并发控制机制。

四、并发控制的措施是什么?

答:在数据库环境下,进行并发控制的主要方式是使用封锁机制,即加锁。

具体的控制由锁的类型决定。

基本的锁类型有两种:排它锁(X锁)和共享锁(S锁)。

共享锁:若事务T给数据对象A加了S锁,则事务T可以读A,但不能修改A,其他事务只能再给A加S锁,而不能加X锁,直到T释放了A上的S锁为止。

排他锁:若事务T给数据对象A加了X锁,则允许T读取和修改A,但不允许其他事务再给A加任何类型的锁和进行任何操作。 五、设有3个事务:T1、T2和T3,其所包含的动作为: T1:A=A+2 T2:A=A*2 T3:A=A**2

设A的初值为1,若这三个事务运行并行执行,则可能的调度策略有几种?A最终的结果分别是什么?

答:6种策略。分别是T1T2T3 ,T1T3T2,T2T1T3,T2T3T1,T3T1T2,T3T2T1

结果分别是

六、当某个事务对某段数据加了S锁之后,在此事务释放锁之前,其他事物还可以对此段数据添加什么锁? 答:S锁

七、什么是死锁?如何预防死锁?

答:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁数

据R2,由于T2已经封锁了数据R2,因此T1等待T2释放R2上的锁,然后T2又请求封锁数据R1,由于T1封锁了数据R1,因此T2也只能等待T1释放R1上的锁.这样就会出现T1等待T2先释放R2上的锁,而T2又等待T1先释放R1上的锁的局面,此时T1和T2都在等待对方先释放锁,因而形成死锁。

预防死锁的方法有多种,常用的方法有一次封锁法和顺序封锁法。 八、三级封锁协议分别是什么?各级封锁协议的主要区别是什么?每一级封锁协议能保证什么?

答:一级封锁协议:对事务T要修改的数据加X锁,直到事务结束才释放。

二级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,读完后即释放S锁。

三级封锁协议:一级封锁协议加上事务T对要读取的数据加S锁,并直到事务结束才释放。

各级封锁协议的主要区别在于读操作是否需要申请封锁,以及何时释放锁。

一级封锁协议可以防止丢失修改,并保证事务T是可恢复的。 二级封锁协议除了可以防止丢失修改外,还可以防止读“脏”数据。

三级封锁协议除了可以防止丢失修改和不读“脏”数据外,还可以进一步防止不可重复读。

十二、数据库故障大致分为几类?(考题:判断故障类型) 答:1、事务内部的故障

2、系统故障 3、其他故障

十四、数据库恢复的技术有哪些?

答:1、数据库备份技术 2、事务日志备份技术

第八章 三、数据库结构设计包含那几个过程?

答:数据库结构设计包括概念结构设计、逻辑结构设计和物理结构设计。 五、概念结构应该具有哪些特点? 答:有丰富的语义表达能力。

易于交流和理解。 易于更改。

易于像各种数据模型转换。 六、概念结构设计的策略是什么?

答:自底向上。先定义每个局部应用的概念结构,然后按一定的规则把它们

集成起来,从而得到全局概念结构。

自顶向下。先定义全局概念结构。然后在逐步细化。 由里向外。先定义最重要的核心结构,然后再逐步向外扩展。