当前位置:文档之家› 数据库技术与应用第7、8章 习题答案

数据库技术与应用第7、8章 习题答案

解:
事务故障的恢复:
事务故障的恢复是由系统自动完成的,对用户是透明的。其过程如下:
(1) 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。
(2) 对该事务的更新操作执行逆操作。
(3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
(4) 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。
对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。
(2) 装入转储结束时刻的日志文件副),重做已完成的事务。
这样就可以将数据库恢复至故障前某一时刻的一致状态了。
6. 检查点记录的内容包括什么?
解:
检查点记录是一类新的日志记录。它的内容包括两项:一是建立检查点时刻所有正在执行的事务清单;二是这些事务的最近一个日志记录的地址。
2. 数据库运行中可能产生的故障有哪些?简述不同故障对数据库造成的影响有何不同。
解:
数据库运行中可能发生各种各样的故障,大致分为以下几类:事务故障、系统故障、介质故障、其他一些因素导致的故障,如计算机病毒、操作失误等。
不同故障对数据库造成的影响不同,事务故障、系统故障影响事务的正常执行,介质故障和计算机病毒破坏数据库数据。
解:
日志文件是用来记录事务对数据库的更新操作的文件,是系统运行的历史记载。
日志文件的作用是:用来进行事务故障恢复和系统故障恢复,协助后备副本进行介质故障恢复。
登记日志文件必须要遵循两条原则:一是登记的次序严格按并发事务执行的时间次序。二是必须先写日志文件,后写数据库。
5. 试述事务故障、系统故障、介质故障的恢复策略和方法。
第7章 实体-联系(E-R)模型
1.什么是强实体,什么是弱实体?请举例说明。
解:
实体可以分为强实体和弱实体。强实体指不依赖于其他实体而存在的实体,比如“职工”实体。强实体的特点是:每个实例都能被实体的主键唯一标识。弱实体指依赖于其他实体而存在的实体,比如“职工子女”实体,该实体必须依赖于“职工”实体的存在而存在。弱实体的特点是:每个实例不能用该实体的属性唯一标识。
(2)深坑陷阱
在深坑陷阱中,E-R模型中的实体之间存在联系,但某些实例之间却不存在相应的通路。在关联实体的通路上存在一个或多个多样性最小为零的联系时,可能会产生深坑陷阱。
6.一个企业的数据库需要存储如下信息。
职数
职工子女:姓名,年龄
职工在部门工作。每个部门由一个职工管理。当父母确定时,其孩子的名字是唯一的。一旦父母离开该企业,孩子的信息也不保存。
REDO-LIST:需要执行REDO操作的事务集合。
暂时将事务清单ACTIVE-LIST放入UNDO-LIST队列,并令REDO-LIST队列暂为空集;
(3) 从该检查点开始正向扫描日志文件到文件结束为止。
凡遇有BEGIN_TRANSACTION的事务放入UNDO-LIST;
凡遇有COMMIT的事务,将它从UNDO-LIST移入REDO-LIST;
(1)简单属性:由一个独立成分构成的属性。
(2)复合属性:由多个独立存在的成分构成的属性。
(3)单值属性:属性对于特定实体中的每个实例都只取一个值。
(4)多值属性:属性对于特定实体中的每个实例可以取多个值。
(5)派生属性:属性的值是由相关联的属性或属性组派生出来的,这些属性并非来自同一实体。
(6)主属性:在一个实体中,每个实例需要能被唯一识别,可以用一个或多个实体中的属性来标识实体实例,这些属性就称为是主属性。
3. 恢复机制的基本思想是什么?恢复的实现技术有哪些?
解:
恢复机制的基本思想是:建立冗余数据;利用这些冗余数据实施数据库恢复。
数据转储和登录日志文件是建立冗余数据最常用的技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
4. 什么是日志文件?日志文件的作用是什么?登记日志文件的原则是什么?
(a)1:1联系(b)1:n联系(c)m:n联系

1. 试述事务的概念及事务的四个特性。
解:
事务是用户定义的一个基本操作序列,这个基本操作序列可以包含一个或者多个数据库的基本操作。事务所包含的基本操作要么都做,要么都不做,它们构成了一个不可分割的工作单元。
事务具有四个基本特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称为ACID特性。
(3)对重做队列中的各个事务进行重做(REDO)处理。正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”写入数据库。
介质故障的恢复:
介质故障是最严重的一种故障,介质故障会导致磁盘上的物理数据和日志文件被破坏。介质故障的恢复需要DBA介入。其过程如下:
(1) 装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。
8. 试述使用检查点方法的恢复策略。
解:
系统使用检查点方法进行恢复的流程是:
(1) 根据重新开始文件找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
(2) 由该检查点记录得到建立检查点时所有正在执行的事务清单ACTIVE-LIST。
设置两个事务队列:
UNDO-LIST:需要执行UNDO操作的事务集合。
系统故障的恢复
系统故障的恢复是由系统在重启时自动完成的,无需用户干预。其过程如下:
(1) 正向扫描日志文件,找出在故障发生前已经提交事务,将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列。
(2)对撤消队列中的各个事务进行撤消(UNDO)处理。反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。
(4) 对UNDO-LIST中的事务执行UNDO操作,对REDO-LIST中的事务执行REDO操作。
9. 什么是数据库镜像?
解:
数据库镜像指将整个数据库或其中的关键数据同时存放在两个分离的物理磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制到另一个磁盘上,从而自动保证主数据库与镜像数据库的一致性。这样,一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。在没有出现故障时,数据库镜像还可以用于并发操作,即当一个用户对数据加排他锁修改数据时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。
5.E-R模型存在哪些问题?
解:
在构建E-R模型的过程中,可能出现连接陷阱问题。连接陷阱通常是由于曲解了某些联系的含义而造成的。连接陷阱主要有扇形陷阱和深坑陷阱两类。
(1)扇形陷阱
当用模型来表示实体间的联系时,某些特殊实体的实体间的通路是不明确的。当一个实体与其他实体之间存在两个或多个一对多联系时,可能存在扇形陷阱。
2.什么是联系?联系和联系实例的区别?
解:
联系指用户业务中相关的两个或多个实体之间的关联,它表示现实世界的关联关系。联系的一个具体指称为联系实例。联系只依赖于实体间的关联,在物理和概念上是不存在的。联系实例是可唯一区分的关联,它包括每一个参与实体的一个实例,表明特定的实体实例间是相互关联的。
3.什么是递归联系,请举例说明。
7. 试举例说明具有检查点的恢复技术的优点。
解:
具有检查点的恢复技术的优点包括:
缩短了扫描日志的时间。采用具有检查点的恢复技术进行恢复时,不必从头扫描日志文件,只需要从最近一个检查点开始。
改善了恢复效率。当事务T在一个检查点之前提交,T对数据库所做的修改一定都已写入数据库,写入时间是在这个检查点建立之前或在这个检查点建立之时。这样,在进行恢复处理时,没有必要对事务T执行REDO操作。
解:
递归联系指同一实体的实例之间的联系。在递归联系中,实体中的一个实例只与同一实体中的另一个实例相互关联。例如,职工之间的管理联系,“管理”是实体“职工”与另一个实体“职工”之间的递归联系。
4.什么是属性?属性有哪些类型?
解:
实体所具有的若干特征称为属性,其中每一个特征就成为实体的一个属性。属性必须相对实体而存在。属性有以下几种类型:
根据以上信息,画出E-R图。
解:
7.什么是联系的连接性?用图形讨论不同类型的联系的连接性。
解:
联系的连接性描述联系中相关实体间映射的约束,取值为“一”或“多”。二元联系中的三种基本连接结构:一对一(1:1)、一对多(1:n)和多对多(m:n)。例如,对图(a)所示的一对一连接,表示一个部门只有一个经理,而且一个人只担任一个部门的经理,这两个实体的最大和最小连接都仅为1。如果是图(b)所示的一对多连接,则表示一个部门可有多名职工,而一个职工只能在一个部门工作。“职工”端的最大和最小连接分别是n和1。“部门”端的最大和最小连接都是1。如果是图(c)所示的多对多连接,则表示一个职工可以参与多个项目,一个项目可以由多个职工来完成。
相关主题