第九章
选择题
1、A。
根据书中10.1.2中事务的原子性性质可知,事务在执行过程中,应该遵守“要么不做,要么全做”的规则,故选项A正确。选项B表示的是事务的持久性。选项C表示的是事务的隔离性。选项D表示的是事务的一致性。
2、D。
由书中10.2并发控制一节可知,当同一数据库系统中有多个事务并发运行时,如果不加以适当控制,可能产生数据的不一致性故选项D正确。
3、D。
事务的一致性要求事务执行完成后,将数据库从一个抑制状态转变到另一个一致状态,故选项D正确。其余选项同题目1。
4、C。
同第1题答案概念相同,故选项C正确。
5、B。
同第1题答案概念相同,故选项B正确。
6、C。
数据库安全性控制:目的是保证数据库的任何部分都不会受到未授权的访问和修改,防止数据泄露和被破坏。
数据库完整性控制:保证数据的正确性和相容性,防止不合语义的数据进入数据库。
数据库并发控制:对并发事务之间的相互作用加以控制,保证存取和存储正确的数据,不破坏数据库的一致性。
数据库可靠性控制:可靠性控制要由外部数据完整,性控制,事务原子性控制,网、络分割/场地毁损检测与处理,事务正确性控制,并发控制和内部数据完整性控制这六部分组成。
由题意可得,“每个用户好像正在使用一个单用户数据库”体现的是多个事务同时工作,因为使用了并发控制,使得每项事务有序进行,故选项C正确。
7、D。
X锁即排他锁,由排他锁的定义我们可知,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁,故选项D正确。
8、D。
在《死锁的预防》一节中提出:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后有都请求对方为其他事务封锁的数据对象加锁,从而出现死锁,故我们可知,在数据库系统中是存在死锁的,所以答案A不正确。一直死锁的预防靠封锁法,故答案B不正确。死锁产生的原因正是因为两个用户竞争相同的资源,故答案C不正确。故答案D正确
9、C。
由书可知,解决并发操作的方法是封锁协议,故选项C正确。
10、D。
由书中10.3.3节中可知,数据库运行过程中发生的故障通常分为事务故障、系统故障和介质故障三类,故选项D正确。
简答题
1、什么是数据库的完整性?数据库的完整性包括哪几种?
数据库的完整性:数据的正确性和相容性。
数据库的完整性包括以下三种:域完整性、实体完整性、参照完整性
2、数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果;后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
3、简述事务的概念和事务的四个特性,并解释每一个性质由DBMS的哪个子系统实现,每一个性质对DBS有什么益处。
事务的概念:事务是数据库应用中构成单一逻辑工作单元的操作集合
事务的四个特性及实现与益处:
①、事务的原子性:每个事务的所有操作要么被成功地执行,要么一个也不被执行。
原子性是由DBMS的事务管理子系统实现的。
事务的原子性保证了DBS的完整性。
②、事务的一致性:一个事务的正确执行必须数据库从一个正确状态转换为另一个正确的状态。
事务的一致性是由DBMS的完整性子系统实现的。
事务的一致性保证数据库的完整性。
③、事务的隔离性:多个并发事务之间不能相互干扰,同时并发不影响事务的执行。
事务的隔离性是由DBMS的并发控制子系统实现的。
隔离性使并发执行的事务不必关心其他事务,如同在单用户环境下执行一样。
④、事务的持久性:事务对数据库的更新必须是永久的;事务一旦提交,则永久改变数据库中的数据。
持久性是由DBMS的恢复管理子系统实现的。
持久性能保证DB具有可恢复性。
4、并发操作可能会产生哪几类数据不一致性?分别用什么方法可以避免各种不一致的情况?
①、丢失更新:采用一级封锁协议解决
②、污读:采用二级封锁协议解决
③、不可重读:采用三级封锁协议解决
5、简述封锁的概念以及基本的封锁类型。
封锁的概念:事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁,加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
基本的封锁类型:①、排他锁
②、共享锁
6、什么是封锁协议?简述不同级别的封锁协议的主要区别。
封锁协议的定义:在运用X锁和S锁对数据对象加锁时,需要约定一些规则,这些规则为封锁协议
主要区别:①、一级封锁协议:事务T在修改数据R之前必须先对其加排他锁,直到事务结束才释放。它防止了丢失更新问题,但不能保证可重读和不读“脏”数据。
②、二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。它防止丢失更新问题,也进一步防止读“脏”数据,但不能解决不可重读问题。
③、三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。它防止了丢失更新问题、读“脏”数据,以及不可重读问题。
7、数据库恢复的基本原则是什么?具体实现方法是什么?
基本原则:数据库的重复存储
具体实现方法:①、转储和建立日志
②、数据恢复
8、什么是“脏”数据?如何避免读取“脏”数据?
“脏”数据定义:不正确的临时值
如何避免:采用二级封锁协议或者三级封锁协议
9、什么是活锁?试述活锁产生的原因及解决办法。
活锁的定义:多个事务申请对数据R申请加锁,而系统随机地加锁,导致某些事务长等待
活锁产生的原因:系统随机地加锁
解决办法:采用“先来先服务”的策略预防活锁的发生
10、什么是死锁?试述死锁产生的原因及解决办法。
答:死锁的定义:两个或两个以上的事务互相申请对方加锁对象的排它锁,造成了循环等待
死锁产生的原因:系统中有两个或两个以上的事务都处于等待状态,并且每个事务都在等待其中另一个事务解除封锁,它才能继续执行下去,结果造成任何一个事务都无法继续执行,这样系统就进入了死锁状态。
解决办法:①、死锁的预防:一次封锁法、顺序封锁法
②、死锁的诊断与解除:超时法、等待图法
③、选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去。
第十章
问答题
1、请解释下列名词
①、数据仓库:数据仓库是支持管理决策过程的、面向主题的、集成的、随时间而增长的、持久的数据集合。
②、粒度:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。
③、分割:分割是将数据分散到各自的物理单元中去,以便能分别独立处理,以提高数据处理的效率。
④、维:维是人们观察数据的特定角度,是考虑问题时的一类属性。
⑤、星形模型:星形模型是一个事实表同时连接很多多维表,类似星形状。
⑥、雪花模型:雪花模型是对星形模型的扩展,每个维都可以沿半径向外连接到多个维。
2、简述OLAP与OLTP的异同点
相同点:OLAP与OLTP都是数据处理的方式
不同点:

3、简述数据仓库与数据挖掘的关系
答、数据仓库技术的发展与数据挖掘有着密切密切的关系,数据仓库的发展是促进数据挖掘越来越热的原因之一。数据挖掘和数据仓库作为决策支持新技术,在近十年来得到迅速发展。作为数据挖掘对象,数据仓库技术的产生和发展为数据挖掘技术开辟了新的战场,同时也提出了新的要求和挑战。数据仓库和数据挖掘是相互结合起来一起发展的,二者是相互影响,相互促进的。但是,数据仓库并不是数据挖掘的先决条件,因为有很多数据挖掘可直接从操作数据源中挖掘信息。
4、简述你对数据仓库未来发展趋势的看法。
答:数据仓库是数据管理技术和市场上一个方兴未艾的领域,有着良好的发展前景。数据仓库技术的发展自然包括数据抽取、存储管理、数据表现和方法论等方面。在数据抽取方面,未来的技术发展将集中在系统集成化方面。它将互连、转换、复制、调度、监控纳入标准化的统一管理,以适应数据仓库本身或数据源可能的变化,使系统更便于管理和维护。
在数据管理方面,未来的发展将使数据库厂商明确推出数据仓库引擎作为服务器产品与数据库服务器并驾齐驱。在这一方面,带有决策支持扩展的并行关系数据库将最具发展潜力。在数据表现方面,数理统计的算法和功能将普遍集成到联机分析产品中,同时与Internet/Web技术紧密结合,推出适用于Internet、终端免维护的数据仓库访问前端。
软件产品的发展日新月异,作为数据管理市场的热点,数据仓库必定会占据越来越广的市场。为了在市场中占据有有利的竞争地位,各个数据仓库的主流厂商也必定会不断发展完善自己的产品。
5、简述数据仓库的特点。
①、面向主题
业务系统是以优化事务处理的方式来构造数据结构的,对于某个主题的数据常常分布在不同的业务数据库中,这对于商务分析和决策支持来说是极为不利的,因为这意味着访问某个主题的数据实际上需要去访问多个分布在不同数据库中的数据集合。
数据仓库将这些数据集中于一个地方,在这种结构中,对应某个主题的全部数据被存放在同一数据表中,这样决策者可以非常方便地在数据仓库中的一个位置检索包含某个主题的所有数据。
②、集成
操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的;而数据仓库中的数据是在对原有分散的数据库数据作抽取、清理的基础上经过系统加工、汇总和整理得到的。所以,必须在某一个主题的统帅下,需要将数据进行提取、净化、转换和装载等集成操作。
③、稳定
业务系统一般只需要当前数据,在数据库中一般也存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中每一个变化的瞬态。但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。没有历史数据的详细分析是难以把握企业的发展趋势的,因此,数据仓库对数据在空间和时间的广度上都有了更高的要求。
一般情况下,数据仓库的数据一旦加载,将作为数据档案长期保存,几乎不再做修改和删除操作。数据仓库可以看成是一个虚拟的只读数据库系统。在数据集成性中已经说明了数据仓库在数据存储方面是分批进行的,定期执行提取过程为数据仓库增加记录,但是这些记录一旦加入,就不再从系统中删除。正是由于数据仓库的这个显著特点,使得数据仓库不需要在并发读写控制上投入过多的精力,因为所有的用户只是以只读的方式访问数据仓库。
④、随时间变化
业务数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含较久远的历史数据,因此总是包括一个时间维,以便可以研究趋势和变化。数据仓库系统通常记录了一个单位从过去某一时期到目前的所有时期的信息,通过这些信息,可以对单位的发展历程和未来趋势作出定量分析和预测。
6、什么是空间数据库?简述空间数据库的特点及用途。
定义:空间数据库是以描述空间位置和点、线、面、体特征的拓扑结构位置数据及描述这些特征性能的属性数据为对象的数据库。
特点:空间数据用于表示空间物体的位置、形状、大小和分布特征等信息,描述所有二维、三维和多维分布的关于区域的信息,它不仅具有表示物体本身的空间位置及状态信息,还具有表示物体的空间关系的信息。目前的空间数据库成果,大多数以地理信息系统的形式出现,主要应用于环境和资源管理、土地利用、城市规划、森林保护、人口调查、交通、税收、商业网络等领域的管理与决策。
用途:空间数据库的目的是利用数据库技术实现空间数据的有效存储、管理和检索,为各种空间数据库用户服务。目前,空间数据库的研究,主要集中于空间关系和数据结构的形式定义,空间数据的表示与组织,空间数据查询语言,空间数据库管理系统。 |