数据库原理及应用期末考试复习题库+2017(1)(3)

更新时间:2024-02-29 10:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 选择题

1、DB、DBMS和DBS三者之间的关系是( B )

(A) DB包括DBMS和DBS (B) DBS包括DB和DBMS (C) DBMS包括DB和DBS (D)不能相互包括

2、DBMS通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D ) (A)可靠性(B)一致性 (C)完整性(D)安全性

3、E-R图是数据库设计的工具之一,它适用于建立数据库的( A ) (A)概念模型(B)逻辑模型 (C)结构模型(D)物理模型

4、SELECT语句使用关键字( A )可以把重复行屏蔽掉。 (A) DISTINCT (B) UNION (C) UNIQUE (D) TOP

5、SQL Server数据库是由文件组成的。下列关于数据库所包含的文件的说法中,正确的是( D ) (A)一个数据库默认将数据文件及日志文件归于主文件组 (B)一个数据库只能包含一个主要数据文件和一个日志文件

(C)一个数据库可包含多个次要数据文件,但只能包含一个日志文件 (D)一个数据库可包含多个次要数据文件和多个日志文件 6、SQL Server提供的单行注释语句的注释符是( B ) (A)’/*’(B)’--’ (C)’*/’(D)’//’ 7、SQL与C语言处理记录的方式是不同的。当将SQL语句嵌入到C语言程序时,为协调两者而引入( C ) (A)堆(B)栈

(C)游标(D)聚簇

8、SQL语言的一次查询的结果是一个( D ) (A)数据项(B)记录 (C)元组(D)表

9、SQL语言具有两种使用方式,分别称为交互式SQL和( C ) (A)编译式SQL (B)解释式SQL (C)嵌入式SQL (D)过程化SQL 10、SQL语言是( C )语言。 (A)层次数据库(B)网络数据库 (C)关系数据库(D)非数据库

11、SQL语言是关系数据库的标准语言,它是( B ) (A)过程化的(B)非过程化的 (C)格式化的(D)导航式的

12、X→Y,当下列( D )成立时,称为平凡函数依赖。 (A)X→Y;(B)Y→X; (C)X→Y=?;(D)都不正确。 13、按所使用的数据模型来分,数据库可分为( A )三种类型。 (A)层次、关系和网状(B)网状、环状和链状 (C)大型、中型和小型(D)独享、共享和分时

14、保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。这是指数据库的( A ) (A)安全性(B)完整性 (C)并发控制(D)恢复

15、表示事务执行成功的语句是( A )

- 1 -

(A) COMMIT (B) GO

(C) ROLLBACK (D) RETURN

16、不能激活触发器执行的事件是( A ) (A) SELECT (B) UPDATE (C) INSERT (D) DELETE

17、不是实体联系模型中的概念是( D ) (A)实体(B)属性(C)联系(D)数据表 18、层次模型不能直接表示( C ) (A)1:1联系(B)1:N联系

(C)M:N联系(D)1:1和1:N联系

19、从E-R模型向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码是( C ) (A) N端实体的码 (B) M端实体的码

(C) M端实体的码与N端实体的码的组合 (D)重新选取其他属性

20、从一个数据库文件中取出满足某个条件的所有记录的操作是( A ) (A)选择(B)连接 (C)投影(D)复制

21、当关系模式R(A,B)已属于3NF,下列说法中( B )是正确的。 (A)它一定消除了插入异常和删除异常 (B)仍存在一定的插入和删除异常 (C)一定属于BCNF (D) A和C都是

22、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是( B ) (A)属性冲突(B)语法冲突 (C)结构冲突(D)命名冲突

23、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项( B ) (A)只存在一对多的实体关系,以图形方式来表示。

(B)以二维表格结构来保存数据,在关系表中不允许有重复行存在。 (C)能体现一对多、多对多的关系,但不能体现一对一的关系。 (D)关系模型数据库是数据库发展的最初阶段。

24、根据数据库规范化理论,下面命题中正确的是( D )

(A)若R∈2NF,则R∈3NF (B)若R∈1NF,则R不属于BCNF (C)若R∈3NF,则R∈BCNF (D)若R∈BCNF,则R∈3NF 25、关系规范化中的插入操作异常是指( D )

(A)不该删除的数据被删除(B)不该插入的数据被插入

(C)应该删除的数据未被删除(D)应该插入的数据未被插入 26、关系规范化中的删除操作异常是指( A )

(A)不该删除的数据被删除(B)不该插入的数据被插入

(C)应该删除的数据未被删除(D)应该插入的数据未被插入

27、关系模式分解的无损连接和保持函数依赖两个特性之间的联系是( D ) (A)前者成立蕴涵后者成立(B)后者成立蕴涵前者成立 (C)同时成立,或者同时不成立(D)没有必然的联系 28、关系模式中,满足2NF的模式,( D ) (A)可能是1NF (B)必定是BCNF (C)必定是3NF (D)必定是1NF

- 2 -

29、关系数据库的规范化理论指出:关系数据库中的关系应满足一定的要求,最起码的要求是达到1NF,即满足( D )

(A)每个非主属性都完全依赖于主属性(B)主属性唯一标识关系中的元组 (C)关系中的元组不可重复(D)每个属性都是不可再分的

30、关系数据库规范化是为解决关系数据库中( A )问题而引入的。 (A)插入、删除和数据冗余 (B)提高查询速度

(C)减少数据操作的复杂性

(D)保证数据的安全性和完整性

31、关系数据库规范化是为解决关系数据库中( A )问题而引入的。 (A)插入异常、删除异常和数据冗余;(B)提高查询速度;

(C)减少数据操作的复杂性; (D)保证数据的安全性和完整性。 32、关系数据库设计理论中,起核心作用的是( C ) (A)范式(B)模式设计(C)函数依赖(D)数据完整性. 33、关系数据库中的码是指( D ) (A)能唯一决定关系的字段 (B)不可改动的专用保留字 (C)关键的很重要的字段

(D)能唯一标识元组的属性或属性集合 34、关系数据模型( D )

(A)只能表示实体间的1:1联系(B)只能表示实体间的1:n联系 (C)只能表示实体间的m:n联系(D)可以表示实体间的上述三种联系

35、关系数据模型是目前最重要的一种数据模型,它的三个要素分别是( B ) (A)实体完整性、参照完整性、用户自定义完整性 (B)数据结构、关系操作、完整性约束 (C)数据增加、数据修改、数据查询 (D)外模式、模式、内模式

36、关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡尔积和( C ) (A)投影、连接(B)连接、选择 (C)选择、投影(D)交、选择

37、关于数据库设计的正确描述是( B ) (A)进行数据模型的设计

(B)在DBMS的支持下,进行数据模型和应用程序设计 (C)开发应用程序 (D)设计开发DBMS

38、规范化关系模式的任何属性( A ) (A)不可再分(B)可以再分

(C)命名在关系模式上可以不唯一(D)上述都不正确

39、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及( C )缺陷。 (A)数据的不一致性(B)结构不合理 (C)冗余度大(D)数据丢失

40、规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是( B )

(A)互不相关的(B)不可分解的(C)长度可变的(D)互相关联的 41、函数依赖理论可以消除数据库的( A )

(A)插入异常、删除异常、更新异常和数据冗余(B)插入异常 (C)删除异常(D)查询异常

- 3 -

42、侯选码中的属性称为( B ) (A)非主属性(B)主属性 (C)复合属性(D)关键属性 43、后备副本的用途是( C ) (A)安全性保障(B)一致性控制 (C)故障后的恢复(D)数据的转储

44、假设关系模式R(A,B)属于3NF,下列说法中( B )是正确的。 (A)R一定消除了插入和删除异常(B)R仍可能存在一定的插入和删除异常 (C)R一定属于BCNF(D)A和C都是

45、将弱实体转换成关系时,弱实体的主码( C ) (A)由自身的候选关键字组成(B)由父表的主码组成 (C)由父表的主码和自身的候选关键字组成(D)不确定 46、将一个关系从2NF规范到3NF,目的是消除( B )

(A)非主属性对码的部分函数依赖(B)非主属性对码的传递函数依赖

(C)主属性对码的部分和传递函数依赖(D)非平凡且非函数依赖的多值依赖 47、能消除多值依赖引起的冗余的是( C ) (A) 2NF (B) 3NF (C) 4NF (D) BCNF

48、区别不同实体的依据是( B ) (A)名称(B)属性(C)对象(D)概念

49、如果想找出关系R的属性A上为空的那些元组,则条件子句应该为( C ) (A) WHERE A=NULL (B) WHERE A==NULL (C) WHERE A IS NULL (D) WHERE A NOT IS NULL 50、如果一个关系属于3NF,则它( A ) (A)必然属于2NF (B)必然属于4NF (C)可能不属于2NF (D)必然属于BCNF

51、如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是( D ) (A)一个是DELETE,一个是SELECT (B)一个是SELECT,一个是DELETE (C)两个都是UPDATE (D)两个都是SELECT

52、如下图所示,两个关系R1和R2,它们进行( D )运算后得到R3。 (A)交(B)并

(C)笛卡尔积(D)连接

R1 R2 R3

A a c d B 1 2 1 C x y y D 1 2 5 E n M j A a d c B 1 1 2 C x y y E M m i m k m i m i n j 53、若关系模式R∈3NF,则下面最正确的说法是( C )

(A)某个非主属性不传递依赖于码(B)某个非主属性不部分依赖于码

(C)所有非主属性都不传递依赖于码(D)所有非主属性都不部分依赖于码

54、若关系模式R中的属性全是主属性,则R的最高范式等级至少是( C ) (A) 1NF (B) 2NF (C) 3NF (D) BCNF

- 4 -

55、若事务T对数据R已加了S锁,则其他事务对数据R( A ) (A)可以加S锁不能加X锁(B)不能加S锁可以加X锁 (C)可以加S锁也可以加X锁(D)不能加任何锁

56、若事务T对数据R已加了X锁,则其他事务对数据R( D ) (A)可以加S锁不能加X锁(B)不能加S锁可以加X锁 (C)可以加S锁也可以加X锁(D)不能加任何锁

57、若事务在检查点之后开始执行,在故障点之前已提交,则系统恢复时对该事务执行( A ) (A) REDO操作(B) UNDO操作 (C) RESTART操作(D) NULL操作

58、若属性X函数依赖于属性Y时,则属性X与属性Y之间具有( B ) (A)一对一联系(B)一对多联系 (C)多对一联系(D)多对多联系

59、若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B ) (A)事务故障(B)系统故障 (C)介质故障(D)运行故障

60、设F是关系模式R的FD集,如果对F中每个非平凡的FD:X→Y,都有X是R的超码,则( C ) (A) R属于2NF,但不一定属于3NF (B) R属于3NF,但不一定属于BCNF (C) R属于BCNF,但不一定属于4NF (D) R属于4NF

61、设关系R的度为20,关系S的度为30。如果关系T是R与S的广义笛卡尔积,即:T=R×S,则关系T的度为( D )

(A)10 (B)20 (C)30 (D)50

62、设计性能较优的关系模式称为规范化,规范化主要的理论依据是( A ) (A)关系规范化理论(B)关系运算理论 (C)关系代数理论(D)数理逻辑理论

63、设学生关系S(SNO,SNAME,SSEX,SAGE,SDEPT)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,关系R(SNO,CNO,SSEX,SAGE,SDEPT,SCORE)的主键为SNO和CNO,关系R满足( A )

(A)1NF (B)2NF (C)3NF (D)都不对

64、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是( C ) (A)姓名;(B)学号,姓名;(C)学号; (D)学号,姓名,年龄.

65、设有关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( C ) (A)ПA(R) ПD(S) (B)R S (C)R∪S (D)ПB(R)∩ПB(S)

66、设有关系R(书号,书名),如果要检索书名中至少包含4个字母,且第3个字母为M的图书,则SQL查询语句中WHERE子句的条件表达式应写成( C ) (A)书名 LIKE ‘%_ _M%’(B)书名 LIKE ‘_ _M%’ (C)书名 LIKE ‘_ _M_%’(D)书名 LIKE ‘_%M_ _’

67、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是( C ) (A)W1(工号,姓名),W2(工种,定额);

(B)W1(工号,工种,定额),W2(工号,姓名); (C)W1(工号,姓名,工种),W2(工种,定额); (D)以上都不对.

68、设有关系WORK(ENO,CNO,PAY),主码为(ENO,CNO),按照实体完整性规则( D ) (A)只有ENO不能取空值(B)只有CNO不能取空值

(C)只有PAY不能取空值(D) ENO与CNO都不能取空值

- 5 -

69、设有关系表R(如下表所示),该关系的主码是( B )

R a 1 1 1 2 3 1 b 1 2 3 1 2 4 c 2 1 2 1 1 2

(A)a (B)(a,b) (C)(b,c) (D)(a,c)

70、设有关系模式R ( A,B,C,D ),F是R上成立的FD集,F = { A→B,C→D },则F+中左部为BC的函数依赖有( C ) (A) 2个(B) 4个 (C) 8个(D) 16个

71、设有关系模式R(A,B,C,D),F是R上成立的FD集,F={ A→B,B→C,C→D,D→A },则F+中,左部为C的函数依赖有( D ) (A) 2个(B) 4个 (C) 8个(D) 16个

72、设有关系模式R(S,D,M),其函数依赖集F={S→D,D→M},则关系模式R的规范化程度最高达到( B )

(A)1NF (B)2NF (C)3NF (D)都不正确

73、设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是( D )

(A)该操作不存在问题(B)该操作丢失

(C)该操作不能重复读(D)该操作读’脏’数据

74、设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是( B )

(A)该操作不存在问题(B)该操作丢失

(C)该操作不能重复读(D)该操作读’脏’数据

- 6 -

75、设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是( C )

(A)该操作不存在问题(B)该操作丢失

(C)该操作不能重复读(D)该操作读’脏’数据

76、设有属性A,B,C,D,以下表示中不是关系的是( C ) (A) R(A)(B) R(A,B,C,D) (C) R(A×B×C×D)(D) R(A,B)

77、使用数据库技术来处理一个实际问题时,对数据描述经历的过程是( B ) (A)定义、描述、实现(B)概念设计、逻辑设计、物理设计

(C)结构设计、表设计、内容设计(D)逻辑设计、结构设计、表设计 78、事务(Transaction)是一个( C ) (A)程序(B)进程

(C)操作序列(D)完整性规则 79、事务的执行次序称为( C ) (A)过程(B)步骤 (C)调度(D)优先级

80、事务对DB的修改,应该在数据库中留下痕迹,永不消逝。这个性质称为事务的( A ) (A)持久性(B)隔离性 (C)一致性(D)原子性

81、数据库的( B )是指数据的正确性和相容性。 (A)安全性(B)完整性 (C)并发控制(D)恢复

82、数据库的层次模型应满足的条件是( C )

(A)允许一个以上的结点无双亲,也允许一个结点有多个双亲 (B)必须有两个以上的结点

(C)有且仅有一个结点无双亲,其余结点都只有一个双亲 (D)每个结点有且仅有一个双亲

83、数据库的概念模型独立于( A ) (A)具体的机器和DBMS (B) E-R图 (C)信息世界(D)现实世界

84、数据库的逻辑结构设计任务是把( C )转换为与所选用的DBMS支持的数据模型相符合的过程。 (A)逻辑结构(B)物理结构 (C)概念结构(D)层次结构

85、数据库的网状模型应满足的条件是( A )

(A)允许一个以上的结点无双亲,也允许一个结点有多个双亲 (B)必须有两个以上的结点

(C)有且仅有一个结点无双亲,其余结点都只有一个双亲 (D)每个结点有且仅有一个双亲

- 7 -

86、数据库的物理设计是为一个给定的逻辑结构选取一个适合应用环境的( B )过程,包括确定数据库在物理设备上的存储结构和存取方法。 (A)逻辑结构(B)物理结构 (C)概念结构(D)层次结构

87、数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用(D )表示。 (A)矩形(B)四边形 (C)菱形(D)椭圆形

88.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括( C ) (A)数据字典、应用程序、数据库后备副本 (B)数据字典、应用程序、审计档案 (C)日志文件、数据库后备副本

(D)数据字典、应用程序、日志文件 89、数据库恢复的主要依据是( D ) (A) DBA (B) DD (C)批处理文件(D)事务日志

90、数据库类型的划分依据是( B ) (A)记录形式(B)数据模型

(C)数据联系(D)存取数据方法

91、数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的( D)

(A)需求分析阶段(B)逻辑设计阶段 (C)概念设计阶段(D)物理设计阶段

92、数据库完整性约束的建立需要使用DBMS提供的( A ) (A)数据定义语言(B)数据操纵语言 (C)数据查询语言(D)数据控制语言

93、数据库物理设计完成后,进入数据库实施阶段,在下述工作中,一般不属于实施阶段的工作是( B ) (A)建立库结构(B)扩充功能(需求分析阶段) (C)加载数据(D)系统调试

94、数据库系统的数据独立性体现在( B ) (A)不会因为数据的变化而影响到应用程序

(B)不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 (C)不会因为存储策略的变化而影响存储结构

(D)不会因为某些存储结构的变化而影响其他的存储结构 95、数据库系统是在( A )的基础上发展起来的。 (A)文件系统(B)应用程序系统 (C)数据库管理系统(D)编译系统

96、数据库系统与文件系统的主要区别是( B ) (A)数据库系统复杂,而文件系统简单。

(B)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决。 (C)文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件。 (D)文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量。 97、数据流图DFD使用的时机是( D ) (A)概念结构设计阶段(B)逻辑结构设计阶段 (C)可行性分析阶段(D)需求分析阶段

98、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) (A)数据库设计(B)数据通信 (C)数据定义(D)数据维护

- 8 -

99、为了考虑安全性,每个部门的领导只能存取本部门员工的档案,为此DBA应创建相应的( C ) (A)表(table) (B)索引(index) (C)视图(view) (D)游标(cursor)

100、为了使属性在各元组上取值唯一,在建立基本表时应使用保留字( A ) (A) UNIQUE (B) COUNT (C) DISTINCT (D) UNION

101、为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字( A ) (A) UNIQUE (B) COUNT (C) DISDINCT (D) UNION

102、为数据表创建索引的目的是( A ) (A)提高查询的检索性能(B)创建唯一索引 (C)创建主键(D)归类

103、五种基本关系代数运算是( A )

(A)∪,—,×,π和σ(B)∪,—,∞,π和σ (C)∪,∩,×,π和σ(D)∪,∩,∞,π和σ 104、下列不属于并发操作带来的问题是( D ) (A)丢失修改(B)读脏数据 (C)不可重复读(D)死锁

105、下列关于“数据库三级模式结构”的叙述中,哪一条是不正确的?( C ) (A)视图是外模式

(B)模式是数据库中全体数据的逻辑结构和特征的描述 (C)一个数据库可以有多个逻辑模式 (D)一个数据库只有一个内模式

106、下列关于SQL语言中索引(Index)的叙述中,哪一条是不正确的?( A ) (A)索引是外模式

(B)一个基本表上可以创建多个索引 (C)索引可以加快查询的执行速度

(D)系统在存取数据时会自动选择合适的索引作为存取路径 107、下列关于视图的说法中错误的是( C ) (A)视图是从一个或多个基本表导出的表,它是虚表 (B)视图可以被用来对无权用户屏蔽数据

(C)视图一经定义就可以和基本表一样被查询和更新 (D)视图可以用来定义新的视图

108、下列关于数据结构基本概念的叙述中,哪一条是不正确的?( C )

(A)数据是采用计算机能够识别、存储和处理的方式,对现实世界的事物进行的描述 (B)数据元素(或称结点、记录等)是数据的基本单位 (C)一个数据元素至少由两个数据项组成 (D)数据项是有独立含义的数据最小单位

109、下列模型中数据抽象级别最高的是( A ) (A)概念模型(B)逻辑模型 (C)外部模型(D)物理模型

110、下列哪种关系运算不要求:“R和S具有相同的属性个数,并且每对相对应的属性都具有相同的域”?( D )

(A)R∪S (B)R∩S (C)R-S (D)R×S

- 9 -

111、下列说法错误的是( D )

(A)一个基本表可以跨一个或多个存储文件 (B)一个存储文件可以跨一个或多个基本表

(C)每个存储文件与外部存储器上一个物理文件对应 (D)每个基本表与外部存储器上一个物理文件对应

112、下列四项中,不属于数据库系统特点的是( C ) (A)数据共享(B)数据完整性

(C)数据冗余度高(D)数据独立性高

113、下面关于自然连接与等值连接的各个叙述中,不正确的是( B ) (A)自然连接是一种特殊的等值连接

(B)自然连接要求两个关系中具有相同的属性组,而等值连接不必 (C)两种连接都可以只用笛卡尔积和选择运算导出

(D)自然连接要在结果中去掉重复的属性,而等值连接则不必

114、下面哪个不是数据库系统必须提供的数据控制功能( B ) (A)安全性(B)可移植性 (C)完整性(D)并发控制

115、下述SQL命令的短语中,不是定义属性上约束条件的是( D )

(A) NOT NULL短语(B)UNIQUE短语(C)CHECK短语(D)HAVING短语 116、现要查找缺少学习成绩(G)的学生学号(Sno)和课程号(Cno),相应的SQL语句 SELECT Sno,Cno

FROM SC WHERE

中WHERE后正确的条件表达式是( D ) (A)G=0 (B)G<=0

(C)G=NULL (D)G IS NULL

117、限制输入到一列或多列值的范围,使用( A )约束。 (A) CHECK (B) PRIMARY KEY (C) FOREIGN KEY (D) UNIQUE

118、消除了部分函数依赖的1NF的关系模式必定是( B )

(A)1NF (B)2NF (C)3NF (D)4NF

119、消除了非主属性对码的部分函数依赖的1NF的关系模式,必定是( B ) (A) 1NF (B) 2NF (C) 3NF (D) 4NF

120、选项中关于视图的说法错误的是( B ) (A)视图是一种虚拟表 (B)视图中也保存有数据

(C)视图也可由视图派生出来

(D)视图的内容来源于一个SQL的SELECT查询 121、选项中删除表的语句是( A ) (A) DROP (B) ALTER (C) UPDATE (D) DELETE

122、学生表S(id,name,sex,age,dept_id,dept_name),存在函数依赖是id,name,sex,age,dept_id; dept_id,dept_name, S满足( B )

(A)1NF (B)2NF (C)3NF (D)都不正确 123、要保证数据库的数据独立性,需要修改的是( C ) (A)模式与外模式(B)模式与内模式

(C)三级模式之间的两层映射(D)三层模式

- 10 -

124、要修改表的结构,应使用SQL语言的命令( C ) (A) UPDATE TABLE (B) MODlFY TABLE (C) ALTER TABLE (D) CHANGE TABLE 125、一个关系只有一个( D )

(A)候选码(B)外码(C)超码(D)主码

126、已知关系R和S如下表所示:试对R和S进行交运算,其结果的元组数应是( B )

R

A a1 a2 B b2 b2 C c1 c2 S

A a2 a2 B f b2 C g c2 a3 b1 c1 a3 f g (A)0 (B)1 (C)4 (D)6

127、以下哪一条属于关系数据库的规范化理论要解决的问题?( A ) (A)如何构造合适的数据库逻辑结构 (B)如何构造合适的数据库物理结构 (C)如何构造合适的应用程序界面

(D)如何控制不同用户的数据操作权限

128、用于数据库恢复的重要文件是( C ) (A)数据库文件(B)索引文件 (C)日志文件(D)备注文件

129、由局部E-R图生成初步E-R图,其主要任务是( D ) (A)消除不必要的冗余(B)消除属性冲突 (C)消除结构冲突和命名冲突(D)B和C 130、有12个实体类型,并且它们之间存在着15个不同的二元联系,其中4个是1:1联系类型,5个是1:N联系类型,6个M:N联系类型,那么根据转换规则,这个ER结构转换成的关系模式有( B ) (A) 17个(B) 18个 (C) 23个(D) 27个

131、有关系模式R(S,T,C,D,G),根据语义有如下函数依赖集:F={(S,C)->T,C->D,(S,C)->G,T->C)。关系模式R的候选关键码( D ) (A)仅有1个,为(S,C) (B)仅有1个,为(S,T) (C)有2个,为(S,C)和(T) (D)有2个,为(S,C)和(S,T)

132、有学生关系:学生(学号,姓名,年龄),对学生关系的查询语句如下: SELECT 学号 FROM 学生

WHERE年龄>20 AND 姓名 LIKE‘%伟’ 如果要提高查询效率,应该建索引的属性是(C) (A)学号(B)姓名

(C)年龄(D) (学号,姓名)

133、在DB恢复时,对已经提交但更新未写入磁盘的事务执行( B ) (A) UNDO处理(B) REDO处理

(C) ROLLBACK处理(D) ABORT处理

134、在SQL Server 中删除触发器用( B )

(A)ROLLBACK (B)DROP (C)DELALLOCATE (D)DELETE 135、在SQL语言的SELECT语句中,对投影操作进行说明的是哪个子句( A ) (A)SELECT (B)FROM (C)WHERE (D)ORDER BY

- 11 -

136、在SQL语言中,DELETE语句的作用是( D) (A)删除基本表(B)删除视图

(C)删除基本表和视图(D)删除基本表和视图的元组

137、在SQL语言中,数值函数COUNT(列名)用于( C ) (A)计算元组个数(B)计算属性的个数

(C)对一列中的非空值计算个数(D)对一列中的非空值和空值计算个数 138、在SQL语言中,用于测试列值非空的短语是( C ) (A) IS NOT EMPTY (B) NOT UNIQUE (C) IS NOT NULL (D) NOT EXISTS

139、在SQL中,由于对视图的修改最终要转换为对基本表的修改,因此下列只有哪种视图是可以修改的?( A )

(A)行列子集视图(B)带表达式视图(C)分组视图(D)连接视图

140、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1D),使用关键字(2A)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3B)

⑴(A)SELECT,INTO (B)SELECT,FROM (C)SELECT,GROUP (D)仅SELECT ⑵(A)DISTINCT (B)UNION (C)ALL (D)TOP

⑶(A)JOIN (B)UNION (C)INTO (D)LIKE

141、在T-SQL中,批处理中调用存储过程所使用的命令是( A ) (A) EXEC (B) SET

(C) USE (D) DECLARE

142、在关系代数的专门关系运算中,从表中取出指定的属性的操作称为( B ) (A)选择(B)投影 (C)连接(D)扫描

143、在关系代数的专门关系运算中,从表中选出满足某种条件的元组的操作称为( A ) (A)选择(B)投影 (C)连接(D)扫描

144、在关系代数的专门关系运算中,将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为( C )

(A)选择(B)投影

(C)连接(D)笛卡尔积

145、在关系代数中,从两个关系的笛卡尔积中选取它们属性间满足一定条件的元组的操作称为( D ) (A)并(B)选择(C)自然连接(D)θ连接

146、在关系规范化中,分解关系的基本原则是( B ) I、实现无损连接;

II、分解后的关系相互独立; III、保持原有的依赖关系。

(A)I和II;(B)I和III; (C)I;(D)II。

147、在关系模式设计时,每个关系模式应只对应于( A )

(A)一个实体类型或一个联系类型(B)一个实体类型和一个联系类型 (C)多个实体类型(D)多个联系类型

148、在关系数据库设计中,设计关系模式是( C )的任务。 (A)需求分析阶段(B)概念设计阶段 (C)逻辑设计阶段(D)物理设计阶段

149、在关系数据库系统中,当合并两个关系时,用户程序可以不变。这是( C )

- 12 -

(A)数据的物理独立性(B)数据的位置独立性 (C)数据的逻辑独立性(D)数据的存储独立性

150、在关系数据库中,索引(index)是三级模式结构中的( B ) (A)概念模式(B)内模式(C)模式(D)外模式

151、在关系数据库中,要求基本关系中所有的主属性上不能有空值,其遵守的约束规则是( C ) (A)数据依赖完整性规则(B)用户定义完整性规则; (C)实体完整性规则(D)上述都不正确。

152、在事务依赖图中,如果两个事务的依赖关系形成一个循环,那么就会( B ) (A)出现活锁现象(B)出现死锁现象 (C)事务执行成功(D)事务执行失败

153、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是( A )阶段。 (A)数据库系统(B)文件系统 (C)人工管理(D)数据项管理

154、在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( D ) (A)外模式(B)内模式 (C)存储模式(D)模式

155、在数据库的三级模式结构中,模式/内模式映像( A )

(A)只有1个(B)只有2个(C)由系统参数确定(D)可以有任意多个 156、在数据库恢复时,对尚未完成的事务执行( B ) (A) UNDO操作(B) REDO操作

(C) COMMIT操作(D) ROLLBACK操作

157、在数据库系统中,提供数据与应用程序间物理独立性的是( B ) (A)外模式/模式映像(B)模式/内模式映像 (C)外模式/内模式映像(D)子模式/模式映像

158、在数据库中,产生数据不一致的根本原因是( C ) (A)数据存储量过大(B)缺乏数据保护机制 (C)数据冗余(D)缺乏数据安全性控制

159、在数据库中,下列说法( A )是不正确的。 (A)数据库避免了一切数据的重复

(B)若系统是完全可以控制的,则系统可确保更新时的一致性 (C)数据库中的数据可以共享 (D)数据库减少了数据冗余

160、在数据库中存储的是( C ) (A)数据(B)数据模型

(C)数据以及数据之间的联系(D)信息

161、在数据库中可以创建和删除表、视图、索引,可以修改表。这是因为数据库管理系统提供了( A ) (A)数据定义功能(B)数据操纵功能 (C)数据维护功能(D)数据控制功能

162、在下面的数据库表中,若学生表的主码是学号,系别表的主码是系别号,用SQL语言不能执行的下面操作是:( B ) 学生表

学号 001 005 006 010 姓名 李红 王明 王芳 张强 年龄 19 20 18 20 系别号 01 01 02 03 系别表

系别号 01 02 03 系别名称 数学系 中文系 计算机系 - 13 -

(A)从学生表中删除行(’005’,’王明’,20,’01’) (B)将行(’005’,’王山’,19,’04’)插入到学生表中 (C)将学号为’001’的年龄改为18 (D)将学号为’010’的系别号改为’04’

163、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( D ) (A)元组(B)行 (C)记录(D)属性

三、简述题

1.试述数据、数据库、数据库管理系统、数据库系统的概念。

答:(1)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库(DaBase,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统(DataBase Sytem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 (4)数据库管理系统(DataBase Management Sytem,简称DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2.什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是实际存储在数据库中的二维表,它是本身独立存在的表,在SQL中一个关系就对应一个表。视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图是从一个或几个基本表(或视图)中导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

3.什么是数据的独立性?如何保证数据库系统的数据独立性?

答:数据独立性是数据库系统的一个最重要的目标之一。它能使数据独立于应用程序。 数据独立性包括数据的物理独立性和逻辑独立性。

数据与程序的物理独立性是指当数据库的存储结构改变,将模式/内模式映象作相应改变,使模式保持不变,从而应用程序不必改变。数据与程序的逻辑独立性是指当模式改变时,将外模式/模式的映象作相应改变,使外模式保持不变,从而应用程序不用修改。

4. 数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。 数据的完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。数据的安全性是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 5.DBMS的完整性控制机制应具有哪些功能?

答: DBMS的完整性控制机制应具有三个方面的功能: 1) 定义功能:即提供定义完整性约束条件的机制。

2) 检查功能:即检查用户发出的操作请求是否违背了完整性约束条件。

3) 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据完整性。 6. 试述关系模型的完整性规则。什么情况下外码不可以为空?

答:关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。

1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。

- 14 -

2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

? 或者取空值(F的每个属性值均为空值); ? 或者等于S中某个元组的主码值。

3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。

7.数据模型的组成要素有哪些? 答:(1)数据结构,数据结构是描述数据库的组成对象以及对象之间的联系。(2)数据操作,数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作以及有关的操作规则。(3)数据的完整型约束条件,数据的完整性约束条件是一组完整性规则。 8.试述SQL语言的特点。 答:(1)综合统一:集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体; (2)高度非过程化:SQL只要提出“做什么”,无须了解存取路径;

(3)面向集合的操作方式:操作对象、查找结果可以是元组的集合,一次插入、删除、更新操作的对象可以是元组的集合;(4)以同一种语法结构提供多种使用方式;(5)语言简洁,易学易用。 9. 试述SQL的定义、功能分类及核心动词。

答:结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是关系数据库的国际标准语言。 数据查询:SELECT (查询出数据,也可用于变量赋值)

数据定义(表/视图/查询/存储过程/自定义函数/索引/触发器等):CREATE (创建)、DROP(删除)、ALTER(修改)

数据操作:INSERT(插入)、UPDATE(更新)、DELETE(删除) 数据控制:GRANT(授权)、REVOKE(回收权限) 10.DBMS的完整性控制机制应具有哪些功能? 答:应具有三方面的功能:

1) 定义功能,提供定义完整性条件的机制

2) 检查功能,检查用户发出的操作请求是否违背了完整性约束条件。

3) 如果发现用户的操作请求违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 11.什么是数据库的审计功能,为什么要提供审计功能?

答:审计功能是指 DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。 因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能, DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

12.试述文件系统与数据库系统的区别和联系。

答:文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。

文件系统与数据库系统的联系:文件系统与数据库系统都是计算机系统中管理数据中管理数据的软件。 13. 试述数据库设计过程的各个阶段上的设计描述。 答:各阶段的设计要点如下:

1) 需求分析:准确了解与分析用户需求(包括数据与处理)。

2) 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。 3) 逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。

4) 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

5) 数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立

- 15 -

数据库,编制与调试应用程序,组织数据入库,并进行试运行。

6) 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 14. 试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:

在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图;

在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式;

在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是DBMS支持的模式,属于数据模型的层次。可以在DBMS中加以描述和存储。 15. 试述数据库概念结构设计的重要性和设计步骤。

答:数据库概念结构设计的重要性是:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一 DBMS实现这些需求。设计步骤为:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第 1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。 16.试述数据库设计过程中结构设计部分所形成的数据库模式。

答:数据库结构设计的不同阶段形成数据库的各级模式,即: (1)在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,就是E-R图; (2)在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式; (3)在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 17.视图集成的方法是什么?

答:一般说来,视图集成可以有两种方式: (1)多个分 E-R图一次集成;(2)逐步集成,用累加的方式一次集成两个分 E-R图。 无论采用哪种方式,每次集成局部 E-R图时都需要分两步走:

(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。 (2)修改和重构。消除不必要的冗余,生成基本E-R图。 18. 什么是索引?建立索引的基本原则是什么?

答:索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是关系数据库的内部实现技术,属于内模式的范畴,CREATE INDEX语句定义索引时,可以定义索引是唯一索引、非唯一索引或聚簇索引。

选择索引存取方法的一般规则:

(1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) (2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引

(3) 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引 19.试述RDBMS查询优化的一般准则。 答:查询优化的一般准则是: (1)选择运算应尽可能先做;

(2)把投影运算和选择运算同时进行;

(3)把投影同其前或其后的双目运算结合起来执行;

(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算; (5)找出公共子表达式; (6) 选取合适的连接算法。

20.试述RDBMS查询优化的一般步骤。

答:各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下: 1) 把查询转换成某种内部表示,通常用的内部表示是语法树。

2) 把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。 3) 选择低层的存取路径。

4) 生成查询计划,选择代价最小的。

- 16 -

21. 什么是游标?简述嵌入式SQL中引入游标的过程。

答:游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。SQL语言是面向集合的,主语言是面向记录的,一组主变量一次只能存放一条记录,用户可以逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。

(1)先用游标定义语句DECLARE CURSOR将 SQL 游标与 SELECT 语句相关联。(2)用OPEN语句打开游标,执行 SELECT 语句,游标处于活动状态,此时游标指向查询结果第一个元组之前。(3)每执行一次FETCH语句,游标指向下一个元组,并把其值送到共享变量,供程序处理。如此重复,直至所有查询结果处理完毕。(4)最后用CLOSE语句关闭游标。关闭的游标可以被重新打开,与新的查询结果相联系,但在没有被打开前,不能使用。

22.简述事务的定义及其所具有的ACID特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。

1) 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 2) 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 3) 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 4) 持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 23.事务的COMMIT语句和ROLLBACK语句的功能是什么? 答:COMMIT语句表示事务执行成功地接结束(提交),此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施(写入磁盘)。

ROLLBACK语句表示事务执行不成功地结束(应该’回滚’)此时告诉系统,已发生错误,DB可能处在不正确的状态,该事务对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。

24.为什么要设立日志文件?登记日志文件时为什么必须先写日志文件,后写数据库?

答:日志文件是用来记录事务对数据库的更新操作的文件,目的是进行事务故障恢复、系统故障恢复、协助后备副本进行介质故障恢复。日志文件中记载了事务开始标记、事务结束标记以及事务对DB的插入、删除和修改的每一次操作前后的值。

把数据的修改写到数据库和把对数据的修改操作写到日志文件是两个不同的操作,在两个操作之间可能会发生故障如果先写了数据库修改,而在日志文件中没有登记这个修改,在恢复的时候就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志恢复时只是多执行一次撤消操作,并不影响数据库的正确性,为了安全,一定要先写日志文件。

25.数据库在运行过程中可能产生的故障有哪几类? 答:(1)事务故障:事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为’事务故障’。 (2)系统故障:系统鼓掌是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事务。特定类型的硬件错误(CPU故障),突然停电等造成系统停止运行,致使事务在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为’系统故障’。

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

(4)计算机病毒:计算机病毒是一种人为的故障和破坏,它是一种计算机程序,通过读写染有病毒的计算机系统中的程序和数据这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。 26.怎样进行事务故障的恢复

答:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是: (1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

- 17 -

(2)对该事务的更新操作执行逆操作。即将日志记录中’更新前的值’写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时’更新前的值’为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。

(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 (4)如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 27.怎样进行系统故障的恢复?

答:系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤消故障发生时未完成的事务,重做已完成的事务。

(1)正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标识记入撤消(UNDO)队列。

(2)对撤消队列中的各个事务进行撤消(UNDO)处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中’更新前的值’写入数据库。

(3)对重做队列中的各个事务进行重做(REDO)处理。

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。即将日志记录中’更新后的值’写入数据库。 28.怎样进行介质故障的恢复?

答:发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复方法是重装数据库,然后重做已完成的事务。 (1)装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。

(2)装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即: 首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。

然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中’更新后的值’写入数据库。 29. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改(Lost Update):两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。

(2)不可重复读(Non-Repeatable Read):事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

(3)读“脏”数据(Dirty Read):事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。

也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 30.什么是封锁?基本的封锁类型有哪些?

答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。 封锁是实现并发控制的一个非常重要的技术。

基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。

排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之

- 18 -

前不能对A做任何修改。

31.X封锁与S封锁有什么区别? 答:X锁与S锁的区别如图所示。 X锁 只允许一个事务独锁数据 获准X锁的事务可以修改数据 事务的并发度低 X锁必须保留到事务终点 解决’丢失更新’问题 S锁 允许多个事务并发S锁某一数据 获准S锁的事务只能读取数据,但不能修改数据 事务的并发度高,但增加了死锁的可能性 根据需要,可随时解除S锁 解决’读不一致性’问题 32.什么是活锁?试述活锁的产生原因和解决方法。 答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。

避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。 33.请给出检测死锁发生的方法,当发生死锁后如何解决死锁? 答:一般使用超时法或事务等待图法。 ①超时法

如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但其不足也很明显。一是有可能误判死锁,事务因为其他原因使等待时间超过时限,系统会误认为发生了死锁。二是时限若设置得太长,死锁发生后不能及时发现。 ②等待图法

事务等待图是一个有向图G=(T,U)。 T为结点的集合,每个结点表示正运行的事务;U为边的集合,每条边表示事务等待的情况。若T1等待T2 ,则T1、T2之间划一条有向边,从T1指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地(比如每隔1分钟)检测事务等待图,如果发现图中存在回路,则表示系统中出现了死锁。

DBMS的并发控制子系统一旦检测到系统中存在死锁,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务得以继续运行下去。当然,对撤消的事务所执行的数据修改操作必须加以恢复。

- 19 -

四、计算题

1.求关系运算结果:

3> 4

关系R A a1 a1 a2 a3 a4 a4 B b1 b2 b2 b3 b3 b4 C 3 6 5 11 4 7 关系S A a1 a2 a3 a4 B b1 b2 b3 b4 C 5 10 16 14 D 4 7 15 9 (1)R S(2)Π1,2,6,7 ( σ2=5(R×S) )

R.A R.B R.C S.A S.B S.C S.D a1 b2 6 a1 b1 5 4 a2 a3 a3 a3 a4 b2 b3 b3 b3 b4 5 11 11 11 7 a1 a1 a2 a4 a1 b1 b1 b2 b4 b1 5 5 10 14 5 4 4 7 9 4

R.A R.B S.C S.D a1 b1 5 4 a1 a2 a3 a4 a4 b2 b2 b3 b3 b4 10 10 16 16 14 7 7 15 15 9

2.求关系G和关系T自然连接及外连接的运算结果:

关系G

A B C

a1 b1 3

a1 b2 5

a2 b2 2

a3 b1 8

a4 b3 4

a4 b4 7

(1)自然连接:(2)左外连接: A a1 a2 a3 a4 B b1 b2 b1 b4 C 3 2 8 7 D d1 d1 d2 d1 E e1 e2 e2 e2 关系T B b1 b2 b2 b1 b4 C 3 4 2 8 7 D d1 d2 d1 d2 d1 E e1 e1 e2 e2 e2

A a1 a2 a3 a4 a1 a4 B b1 b2 b1 b4 b2 b3 C 3 2 8 7 5 4 D d1 d1 d2 d1 NULL NULL E e1 e2 e2 e2 NULL NULL

(3)右外连接:(4)全外连接:

- 20 -

本文来源:https://www.bwwdw.com/article/afma.html

Top