当前位置:首页 > 数据库原理课后习题答案
码:工程号+材料号
操作异常:数据冗余,插入异常,删除异常,修改异常 分析原因:
(工程号,材料号) ? 开工日期 工程号? 开工日期
存在部分函数依赖,不满足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、事务日志备份技术
第八章 三、数据库结构设计包含那几个过程?
答:数据库结构设计包括概念结构设计、逻辑结构设计和物理结构设计。 五、概念结构应该具有哪些特点? 答:有丰富的语义表达能力。
易于交流和理解。 易于更改。
易于像各种数据模型转换。 六、概念结构设计的策略是什么?
答:自底向上。先定义每个局部应用的概念结构,然后按一定的规则把它们
集成起来,从而得到全局概念结构。
自顶向下。先定义全局概念结构。然后在逐步细化。 由里向外。先定义最重要的核心结构,然后再逐步向外扩展。
共分享92篇相关文档