数据库应用题库

更新时间:2024-04-10 11:07:01 阅读量: 综合文库 文档下载

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

《数据库应用》题库

一、单选题

1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是( A )阶段。

A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 2. 数据库的概念模型独立于( A )。

A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界 3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是

( D )。

A.外模式 B.内模式 C.存储模式 D.模式 4. 数据库的层次模型应满足的条件是( C )。

A. 允许一个以上的结点无双亲,也允许一个结点有多个双亲 B. 必须有两个以上的结点 C. 有且仅有一个结点无双亲,其余结点都只有一个双亲 D. 每个结点有且仅有一个双亲

5. 在关系代数的专门关系运算中,从表中取出指定的属性的操作称为(B)

A.选择 B.投影 C.连接 D.扫描

6. 在关系代数的专门关系运算中,从表中选出满足某种条件的元组的操作称为(A);

A.选择 B.投影 C.连接 D.扫描 7. 在关系代数的专门关系运算中,将两个关系中具有共同属性值的元组连接到一起构成新

表的操作称为(C)。

A.选择 B.投影 C.连接 D.扫描

8. 如下图所示,两个关系R1和R2,它们进行( D )运算后得到R3。

A.交 B.并 C.笛卡尔积 D.连接

R1 R2 R3

A B C D E M A B C E M

a 1 x 1 m I a 1 X m i

c 2 y 2 n J d 1 Y m i

d 1 y 5 m K c 2 Y n j

9. 关系数据库中的码是指( D )。

A.能唯一决定关系的字段 B.不可改动的专用保留字

C.关键的很重要的字段 D.能唯一标识元组的属性或属性集合 10. SQL语言具有两种使用方式,分别为交互式SQL和( C )。

A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 11. 设计性能较优的关系模式称为规范化,规范化主要的理论依据是( A )。

A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑理论 12. 规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及( C )缺陷。

A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 13. 当关系模式R(A,B)已属于3NF,下列说法中( B )是正确的。

A. 它一定消除了插入异常和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是

14. 消除了非主属性对码的部分函数依赖的1NF的关系模式,必定是( B )。

A.1NF B.2NF C.3NF D.4NF

15. E-R图是数据库设计的工具之一,它适用于建立数据库的( A )。

A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 16. 在关系数据库设计中,设计关系模式是( C )的任务。

A.需求分析阶段B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 17. 当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是( B )。

A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突

18. DBMS通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库

的( D )。

A.可靠性 B.一致性 C.完整性 D.安全性

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

A.该操作不存在问题 B.该操作丢失 C.该操作不能重复读 D.该操作读“脏”数据

T1 ①读A=100 A=A*2 写回 ② ③ROLLBACK 恢复A=100 T2 读A=200

20. 若事务T对数据R已加了X锁,则其他事务对数据R( D )。

A.可以加S锁不能加X锁 B.不能加S锁可以加X锁 C.可以加S锁也可以加X锁 D.不能加任何锁 21. 后备副本的用途是( C )。

A.安全性保障 B.一致性控制 C.故障后的恢复 D.数据的转储 22. 用于数据库恢复的重要文件是( C )

A.数据库文件 B.索引文件 C.日志文件 D.备注文件 23. 数据库系统与文件系统的主要区别是( B )。

A. 数据库系统复杂,而文件系统简单。 B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决。 C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件。 D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量。 24. 在数据库中,下列说法( A )是不正确的。

A. 数据库避免了一切数据的重复 B. 若系统是完全可以控制的,则系统可确保更新时的一致性 C. 数据库中的数据可以共享 D. 数据库减少了数据冗余

25. 数据库的网状模型应满足的条件是( A )。

A. 允许一个以上的结点无双亲,也允许一个结点有多个双亲

B. 必须有两个以上的结点 C. 有且仅有一个结点无双亲,其余结点都只有一个双亲 D. 每个结点有且仅有一个双亲

26. 按所使用的数据模型来分,数据库可分为( A )三种类型。

A.层次、关系和网状 B.网状、环状和链状 C.大型、中型和小型 D.独享、共享和分时 27. 设有如下图所示的关系R,经操作∏A,B(σB=b(R))的运算结果是( C ) R A. B. C. D. 、 A B C A B A B A B A B C A B C a B a B a b A B C D A f c B d B d a C B D C B d 28. 如下图所示,两个关系R1和R2,它们进行( D )运算后得到R3。

R1 R2 R3

A B C E M A B C D E M

a 1 X a 1 X m i 1 m I

c 2 Y d 1 Y m i 2 n J

d 1 Y c 2 Y n j 5 m K

A.交 B.并 C.笛卡尔积 D.连接 29. SQL语言是( C )语言。

A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 30. 关系数据库规范化是为解决关系数据库中( A )问题而引入的。

A.插入、删除和数据冗余 B.提高查询速度

C.减少数据操作的复杂性 D.保证数据的安全性和完整性 31. 关系模式中,满足2NF的模式,( D )。

A.可能是1NF B.必定是BCNF C.必定是3NF D.必定是1NF 32. 能消除多值依赖引起的冗余的是( C )。

A.2NF B.3NF C.4NF D.BCNF

33. 从E-R模型向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的码

是( C )。

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

34. 保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。这是指数据

库的( A )。

A.安全性 B.完整性 C.并发控制 D.恢复

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

A.该操作不存在问题 B.该操作丢失 C.该操作不能重复读 D.该操作读“脏”数据

T1 T2 ①读A=10,B=5 求和A+B=15 ② ③读A=20,B=5 求和25验证错 读A=10 A=A*2 写回

36. 若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非

正常方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B )。

A.事务故障 B.系统故障 C.介质故障 D.运行故障 37. 在数据库中存储的是( C )

A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 38. 按所使用的数据模型来分,数据库可分为( A )三种类型。

A.层次、关系和网状 B.网状、环状和链状 C.大型、中型和小型 D.独享、共享和分时

39. 关系数据模型( D )。

A.只能表示实体间的1:1联系国 B.只能表示实体间的1:n联系 C.只能表示实体间的m:n联系 D.可以表示实体间的上述三种联系 40. 设有属性A,B,C,D,以下表示中不是关系的是( C )

A.R(A) B.R(A,B,C,D) C.R(A×B×C×D) D.R(A,B)

41. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,

要求R和S含有一个或多个共有的( D )。

A.元组 B.行 C.记录 D.属性 42. 侯选码中的属性称为( B )。

A.非主属性 B.主属性 C.复合属性 D.关键属性

43. 数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用( D )

表示。

A.矩形 B.四边形 C.菱形 D.椭圆形 44. 数据库的( B )是指数据的正确性和相容性。

A.安全性 B.完整性 C.并发控制 D.恢复

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

A.该操作不存在问题 B.该操作丢失 C.该操作不能重复读 D.该操作读“脏”数据

T1 ①读X=48 ② ③X←X+10 写回X ④

T2 读X=48 X←X-2 写回X 46. 若事务T对数据R已加了S锁,则其他事务对数据R( A )。

A.可以加S锁不能加X锁 B.不能加S锁可以加X锁 C.可以加S锁也可以加X锁 D.不能加任何锁 47. 事务(Transaction)是一个( C )

A.程序 B.进程 C.操作序列 D.完整性规则 48. 事务对DB的修改,应该在数据库中留下痕迹,永不消逝。这个性质称为事务的( A )

A.持久性 B.隔离性 C.一致性 D.原子性 49. 事务的执行次序称为( C )

A.过程 B.步骤 C.调度 D.优先级

50. 在事务依赖图中,如果两个事务的依赖关系形成一个循环,那么就会( B )

A.出现活锁现象 B.出现死锁现象 C.事务执行成功 D.事务执行失败 51. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是( A )阶段。

A. 数据库系统 B. 文件系统 C. 人工管理 D. 数据项管理 52. 数据库系统与文件系统的主要区别是( C )。

A. 数据库系统复杂,文件系统简单。

B. 文件系统以记录为数据存取的基本单位,而数据库系统不是。

C. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决。 D. 文件系统管理的数据量小,而数据库系统可以管理庞大的数据量。 53. 数据库的基本特点是( B )

A. 数据结构化,可以共享;数据独立于具体的应用程序而存在;数据冗余大,易移植;

统一管理和控制。

B. 数据结构化,可以共享;数据独立于具体的应用程序而存在;数据冗余小,易扩充;

统一管理和控制。

C. 数据结构化,可以共享;数据依赖于具体的应用程序而存在;数据冗余小,易扩充;

统一管理和控制。

D. 数据非结构化;数据独立于具体的应用程序而存在;数据冗余小,易扩充;统一管

理和控制。

54. 数据库系统中的数据由( B )统一管理控制。

A. 数据库管理 B. 数据库管理系统 C. 操作系统 D. 数据库的用户 55. 数据库具有( B )。

A. 程序结构化 B. 数据结构化 C. 程序标准化 D. 数据模块化 56. 数据库具有最小的( A )。

A. 冗余度 B. 存储量 C. 完整性 D. 安全性 57. 数据库具有较高的( C )。

A. 程序与数据可靠性 B. 程序与数据完整性 B. 程序与数据独立性 D. 程序与数据一致性 58. 为了充分发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库,若不能有

效地控制多个用户程序并发存取同一个数据的情况,就可能会导致存取不正确的数据,从而破坏数据的一致性。所以数据库管理系统必须提供( C )机制。 A. 数据库保护 B. 安全性控制 C. 并发控制 D. 完整性控制 59. ( B )是存储在计算机内的一个结构化的相关数据的集合。

A. 数据库系统 B. 数据库 C. 数据库管理系统 D. 数据结构 60. 在数据库中,下列说法( A )是不正确的。

A. 数据库避免了一切数据的重复

B. 并发控制机制的好坏是衡量一个数据库管理系统性能的重要标志之一。 C. 数据库中的数据可以共享 D. 数据库减少了数据冗余

61. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指( D )。

A. 同一个应用中的多个程序共享一个数据集合。

B. 多个用户、同一种语言共享数据 C. 多个用户共享一个数据文件 C. 多种应用、多种语言、多个用户相互覆盖地使用数据集合。 62. 下述关于数据库系统的正确叙述是( A )。

A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 B. 数据库系统中数据的一致性是指数据类型一致 C. 数据库系统的核心是数据库管理员 63. 下面对表空间的描述( A )是正确的。

A. 表空间是数据库的逻辑划分,每个数据库至少有一个表空间。 B. 表空间是数据库的逻辑划分,每个数据库只能有一个表空间。 C. 表空间是数据库的物理划分,每个数据库至少有一个表空间。 D. 表空间是数据库的物理划分,每个数据库只能有一个表空间。 64. 下面对数据文件的描述( A )是正确的。

A. 每个表空间由同一磁盘上的一个或多个文件(即数据文件)组成,一个数据文件只能

属于一个表空间。

B. 每个表空间由同一磁盘上的一个或多个文件(即数据文件)组成,一个数据文件可以

属于多个表空间。

C. 数据文件创建后不能再改变大小。

D. 数据文件加入到表空间中后,还可与其他表空间发生联系。

65. 在信息系统中,信息经历了现实世界、信息世界、计算机世界三个领域。信息世界的实

体反映到计算机世界中则表示为( C )。

A. 数据项 B. 文件 C. 记录 D. 数据模型

66. 在信息系统中,信息经历了现实世界、信息世界、计算机世界三个领域。信息世界的属

性对应到计算机世界中则表示为( A )。

A. 数据项 B. 文件 C. 记录 D. 数据模型

67. 在信息系统中,信息经历了现实世界、信息世界、计算机世界三个领域。信息世界的实

体集反映到计算机世界中则表示为( B )。 A. 数据项 B. 文件 C. 记录 D. 数据模型 68. 任何一个实体都不是孤立存在的,实体之间的联系可以归结为一对一关系、一对多关系

和多对多关系三种类型。那么行政区划与单位名称(假定唯一)之间是属于( B )关系。 A. 一对一 B. 一对多 C. 多对多 D. 以上三种都是

69. E-R图在概念上表示了一个数据库的信息组织情况,E-R图包括了( A )这几种

基本图素。

A. 实体、属性、联系 B. 实体、联系 C. 属性、联系 D. 实体集、属性、联系 70. 我们把表示实体及实体之间联系的数据库的数据结构称为数据模型。在传统数据模型分

类中,不包括( B )。

A. 网状模型 B. 链状模型 C. 层次模型 D. 关系模型 71. 用树形结构来表示实体之间联系的模型称为层次模型,在层次模型中两个结点间的关系

是( B )关系。

A. 一对一 B. 一对多 C. 多对多 D. 以上三种都可能 72. 网状模型与层次模型的共同之处在于( C )

A. 一个子结点可以有两个或多个父结点 B. 在两个结点之间可以有两种或多种联系 C. 都是用指针来表示实体间的联系 D. 可以有一个以上的结点无父结点

73. 按照传统的数据模型分类,数据库系统可以分为三种类型( C )。

A. 大型、中型和小型 B. 西文、中文和兼容 C. 层次、网状和关系 D. 数据、图形和多媒体 74. SQL语言是( C )语言。

A. 层次数据库 B. 网络数据库 C. 关系数据库 D. 非数据库 75. 20世纪70年代初,IBM公司的E.F.Codd提出了( A )的概念。

A. 关系数据模型 B. 层次数据模型 C. 网状数据模型 D. 面向对象数据模型 76. 关系模型中,一个关键字( C )。

A. 可由多个任意属性组成 B. 至多由一个属性组成

B. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 C. 以上都不是

77. 在一个关系中,如果有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,

称这个属性为( A )。

A. 关键字 B. 数据项 C. 主属性 D. 主属性值 78. 同一个关系中的任两个元组值( A )。

A. 不能全同 B. 可以全同 C. 必须全同 D. 以上都不是 79. 在关系数据库中,提供给用户对数据进行操作的语言称为关系数据语言,它以关系运算

和( C )为基础,结构简单,是一种十分方便的用户接口。 A. 集合代数 B. 逻辑演算 C. 关系演算 D. 集合演算

80. 如果一个关系模式R的每个属性值都是不可再分的数据单位,则称R满足( A )。

A. 第一范式 B. 第二范式 C. 第三范式 D. 高范式

81. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,

专业,系编号)两个关系,学生关系的主关键字是( B )。 A. 姓名 B. 学号 C. 系编号 D. 无 82. SQL语言具有( B )的功能。

A. 关系规范化、数据操纵、数据控制

B. 数据定义、数据查询、数据更新、数据控制 C. 数据定义、关系规范化、数据控制 D. 数据定义、关系规范化、数据操纵

83. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,

专业,系编号)两个关系,学生关系的外关键字是( A )。 A. 系编号 B. 学号 C. 姓名 D. 无 84. 关系数据库中的关键字是指( D )。

A. 能惟一决定关系的字段 B. 不可改动的专用保留字

B. 关键的很重要的字段 D. 能唯一标识元组的属性或属性集合

85. 商店可经营多种商品,一种商品可由多家商店经营,商店和商品之间属于( B )联系。

A. M∶1 B. M∶N C. 1∶M D. 1∶1

86. 设有以下关系:合同(合同号,用户号,用户名,用户地址),合同号是唯一的,则这个

关系的范式等级是( B )

A. 1NF B. 2NF C. 3NF D. BCNF

87. 要保证数据库的数据独立性,需要修改的是( A )。

A. 三层模式之间的两种映射 B. 模式与内模式 B. 模式与外模式 D. 三层模式 88. 下列四项中说法不正确的是( C )。

A. 数据库减少了数据冗余 B. 数据库中的数据可以共享

B. 数据库避免了一切数据的重复 D. 数据库具有较高的数据独立性 89. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,

从职员到部门的联系类型是( C )。

A. 多对多 B. 一对一 C. 多对一 D. 一对多 90. 在视图上不能完成的操作是( C )。

A. 更新视图 B. 查询 C. 在视图上定义新的基本表 D. 在视图上定义新视图 91. 下列四项中,不属于关系数据库特点的是( D )。

A. 数据冗余小 B. 数据独立性高 C. 数据共享性好 D. 多用户访问 92. 实体集书店与图书之间具有( C )。

A. 一对一 B. 一对多 C. 多对多 D. 多对一

93. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)

的主码是( A )。

A. 患者,医生编号,诊断日期 B. 医生编号 C. 诊断日期 D. 患者编号

94. SQL语言的数据操纵语言包括SELECT,INSERT,UPDATE 和DELETE等,其中最重要

的也是使用最频繁的语句是( A )。

A. SELECT B. INSERT C. UPDATE D. DELETE

95. SQL语言具有两种使用方式,分别称为交互式SQL和( C )。

A. 提示式SQL B. 多用户SQL C. 嵌入式SQL D. 解释式SQL 96. 下列SQL语句中,修改表结构的语句是( A )。

A. ALTER B. INSERT C. UPDATE D. DELETE

97. 有这样三个表:学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,

SEX,AGE,DEPT)、C(C#,CN)、SC(S#,C#,GRADE)。其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。要求如下:检索所有比\王华\年龄大的学生姓名、年龄和性别。正确的SELECT语句是( A )。

A. SELECT SN, AGE, SEX FROM S WHERE AGE > ( SELECT AGE FROM S WHERE

SN=\王华\

B. SELECT SN, AGE, SEX FROM S WHERE SN=\王华\

C. SELECT SN, AGE, SEX FROM S WHERE AGE > ( SELECT AGE WHERE SN=\王华

\

D. SELECT SN, AGE, SEX FROM S WHERE AGE > 王华.AGE

98. 有这样三个表:学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,

SEX,AGE,DEPT)、C(C#,CN)、SC(S#,C#,GRADE)。其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。要求如下:检索选修课程\的学生中成绩最高的学生的学号。正确的SELECT语句是( D )。

A. SELECT S# FROM SC WHERE C#=\

SC WHERE C#=\

B. SELECT S# FROM SC WHERE C#=\SC WHERE C#=\

C. SELECT S# FROM SC WHERE C#=\FROM SC WHERE C#=\

D. SELECT S# FROM SC WHERE C#=\FROM SC WHERE C#=\

99. 有这样三个表:学生表S、课程表C和学生选课表SC,它们的结构如下:有这样三个

表:学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)、C(C#,CN)、SC(S#,C#,GRADE)。其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。要求如下:检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是( A )。 A. SELECT S.SN, SC.C#, SC.GRADE FROM S,SC WHERE S.S#=SC.S# B. SELECT S.SN, SC.C#, SC.GRADE FROM S WHERE S.S#=SC. S# C. SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC. S# D. SELECT S.SN, SC.C#, SC.GRADE FROM S,SC 100. 假定学生关系是S(S#,SNAME,SEX,AGE), 课程关系是C(C#,CNAME, TEACHER),

学生选课关系是 SC(S#,C#,GRADE)。要查找选修\课程的\女\学生姓名,将涉及到关系( D )

A. S B. S,SC C. SC,C D. S,SC,C

101. 若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT

NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2)) 可以插入到student表中的是( B )。

A. (\,\王五\,男,\) B. (\,\王五\,NULL,NULL) B. (NULL,\王五\,\男\,25) D. (\,NULL,\男\,25)

102. 已知顾客基本表的关系模式为:顾客(顾客号,姓名,地址,电话)。请用SQL语句增

加一名新顾客,其值为(\,\王伟\,\北京\,\-5128934\。( A ) A. INSERT INTO 顾客 VALUES (\,\王伟\,\北京\,\-5128934\ B. INSERT 顾客 VALUES (\,\王伟\,\北京\,\-5128934\ C. INSERT INTO 顾客 (\,\王伟\,\北京\,\-5128934\ D. INSERT 顾客(\,\王伟\,\北京\,\-5128934\

103. 已知顾客基本表的关系模式为:顾客(顾客号,姓名,地址,电话)。请用SQL更新语

句将顾客号为\的顾客姓名改为\王南\。( C )

A. UPDATE FROM 顾客 SET 姓名=\王南\顾客号=\ B. UPDATE 顾客 姓名=\王南\顾客号=\

C. UPDATE 顾客 SET 姓名=\王南\顾客号=\ D. UPDATE 顾客(\,\王南\,\北京\,\-5128934\ 104. 数据仓库中的逻辑结构数据由( C )数据组成。

A. 一层到二层 B. 二层到三层 C. 三层到四层 D. 四层到五层 105. 数据仓库系统的组成部分中不包括( C )。

A. 数据仓库 B. 仓库管理 C. 数据抽取 D. 分析工具 106. 数据库是存储在计算机内的一个结构化的( B )的集合。

A. 文件 B. 相关数据 C. 命令 D. 程序

二、判断题

1. 数据库是存储在计算机内的一个结构化的相关数据的集合。( 对 ) 2. 数据库是存储在计算机内的一个模块化的数据的集合。( 错 )

3. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库包括数据库系统和数据库管理系统。( 错 )

4. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库系统包括数据库和数据库管理系统。( 对 )

5. 数据库、数据库系统和数据库管理系统三者之间的关系是数据库管理系统包括数据库系统和数据库。( 错 )

6. E-R图在概念上表示了一个数据库的信息组织情况,E-R图包括了实体、属性、联系三种基本图素。( 对 )

7. 在层次模型中两个结点间的关系只能是一对多关系。( 对 )

8. 层次模型是满足有且仅有一个根结点,非根结点有且仅有一个父结点的基本层次联系的集合。( 对 )

9. 网状模型与层次模型的共同之处在于都是用指针来表示实体间的联系。( 对 ) 10. 关系模型是通过指针链接来表示两个实体间的联系。( 错 )

11. 关系模型是通过关系中的数据而不是通过指针链接来表示实体间的联系。( 对 ) 12. 目前国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、AIM等。( 错 ) 13. 我们一般称层次模型、网状模型、关系模型和面向对象数据模型为传统数据模型。( 错 ) 14. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。( 对 )

15. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的逻辑独立性。( 错 )

16. 数据模型质量的高低不会影响数据性能的好坏。( 错 )

17. 对应于一个关系数据库模式的所有关系的集合称为关系数据库。所以,关系数据库是由若干个相关的关系组合而成。( 对 )

18. 关系数据库设计中,核心问题是关系模式的设计。( 对 )

19. 在关系数据库设计中,关系模式设计的好坏对数据库系统的性能和质量没有直接的影响。( 错 )

20. 设X、Y为关系 R中的两个属性集,若Y完全函数依赖X,则是指Y函数依赖于X而并不函数依赖于X中任一真子集。( 对 )

21. 在非规范化的关系中去掉组项和重复数据项就能符合第一范式的条件。( 对 )

22. 如果关系模式R满足第一范式,且所有非主关键字属性都完全依赖于主关键字属性,则该模式满足第二范式的条件。( 对 ) 23. 如果关系模式R满足第二范式,且每一个非主关键字属性均非传递函数依赖于主关键字属性,则该关系满足第三范式。( 错 )

24. 在关系数据库的设计中,对数据项的分解越细越好,范式越高越好。( 错 )

25. 小型关系数据库系统和大型关系数据库系统是公安信息系统当前和今后的应用主流。( 错 )

26. 关系数据库侧重于联机事务处理系统(OLTP),它是基于应用的。而数据仓库则侧重于联机事务分析(OLAP),它是面向主题和历史的事务分析和处理。( 对 )

27. 由于数据库系统在三级模式之间提供了外模式/模式映象和模式/内模式映象二层映象功能,保证了数据库系统具有较高的数据独立性。( 对 )

28. 关系数据库的规范化理论是数据库概念结构设计的有力工具;E-R模型是数据库的逻辑结构设计的一个有力工具。( 错 )

29. 关系数据库的实体完整性规则规定:基本关系的主属性都不能取空值。( 对 )

30. 关系数据库的参照完整性规则规定:一个基本关系的外码(对应于另一个基本关系的主码)的取值可以取空值,如果不取空则必须等于它所对应基本关系中的主码值。( 对 ) 31. SQL是结构化的查询语言。( 对 ) 32. SQL是过程化的查询语言。( 错 ) 33. SQL是关系数据库语言。( 对 )

34. SQL语言具有数据定义、数据操纵、数据控制的功能。( 对 ) 35. SQL语言具有数据定义、关系规范化、数据控制的功能。( 错 ) 36. SQL语言具有两种使用方式,分别称为交互式SQL和嵌入式SQL。( 对 ) 37. SQL语言中,UPDATE语句可以改变表的结构。( 错 )

38. 如果一 个SQL语句中包括两个名字相同的不同表中的列,则必须用合法性列名来排除二义性。( 对 )

39. 关键字DESC可删除查询结果中的重复值。( 错 ) 40. 关键字DISTINCT可删除查询结果中的重复值。( 对 ) 41. 触发器既可以定义于表上,又可以定义于视图上。( 错 )

42. 数据文件一旦加入到表空间中,就不能直接从这个表空间中移走,也不能与其它表空间发生联系。( 对 )

43. 如果数据库对象存储在多个表空间中,那么可以通过把它们各自的数据文件存放在不同磁盘上来对其进行物理分割。( 对 )

44. Oracle数据库结构可分为三个范畴:数据库内部的结构、存储区内部的结构和数据库外部结构。( 对 )

45. 可以在一个表上创建约束条件。当一个约束条件应用于一个表时,表中的每一行都必须满足约束条件所规定的条件。( 对 )

46. 数据库的约束条件有助于确保数据的引用完整性。( 对 ) 47. 数据库的约束条件有助于确保数据的安全性。( 错 )

48. Oracle数据库结构可分为三个范畴:数据库内部的结构、存储区内部的结构和存储区外部结构。( 错 )

49. 触发器可分为语句触发器和行触发器。( 对 )

50. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色又可以被授予多个用户。( 对 )

51. 可以通过创建角色即权限组来简化权限管理进程。把一些权限授予一个角色,而这个角色只能被授予某个用户。( 错 )

52. 回滚段随它所支持的事务的增大而增大。( 对 )

53. 数据仓库系统由数据仓库、仓库管理和分析工作三部分组成。( 对 ) 54. 数据仓库是一个新的平台,它不是建立在数据库管理系统基础上的。( 错 ) 55. 数据仓库不是一个新的平台,它仍然建立在数据库管理系统基础上,只是一个新的概念。( 对 )

56. 数据仓库的数据来源来于多个数据源,包括企业内部数据,市场调查报告及各种文档之类的外部数据。( 对 )

三、填空题

1.数据库系统一般由(数据库)、应用系统、(数据库管理系统)、(数据库管理员)和用户构成。

2.数据模型通常由(数据结构)、(数据操作)、(数据的约束条件)三部分组成。 3.实体之间的联系可抽象为三类,它们是(一对一)、(一对多)、(多对多)。 4.在数据库设计中,(数据字典)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。 5.(事务)是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

6.数据库系统在运行过程中,可能会发生故障。故障主要有(事务故障)、系统故障、(介质故障)和计算机病毒四类。

7.并发控制的主要方法是采用(封锁)机制,其类型有(共享锁)和(排它锁)两种。 8.数据库的完整性是指数据的(正确性)和(相容性)。

9.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用(GRANT)语句,收回所授的权限使用(REVOKE)语句。 10.( 数据库 )是长期存储在计算机内的、有组织、可共享的数据集合。 11.数据库系统的三级模式结构是指数据库系统是由( 模式)、(外模式)、( 内模式)三级构成的。

12.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于( 第一(1NF))范式。

E-R图一般在数据库设计的( 概念结构设计)阶段使用。 13.( 事务 )是用户定义的一个数据库操作序列,是一个不可分割的工作单位,它具有(原子性)、(一致性)、( 隔离性)、( 持续性 )四个特性。 14.数据库系统中,系统故障通常称为( 软故障 ),介质故障称为( 硬故障 )。 15.关系操作的特点是(集合)操作。

16.若事务T对数据对象A加了S锁,则其他事务只能对数据A再加( S )锁,不能加(X )锁,直到事务T释放A上的锁。 17.信息处理的方式而言,在文件系统阶段,(程序设计)处于主导地位,(数据)只起着服从程序设计需要的作用;而在数据库方式下,(数据)占据了中心位置。

18.现实世界进行第一层抽象的模型,称为(概念)模型;对现实世界进行第二层抽象的模型,称为(数据)模型。

19.数据库的三级模式结构是对(数据)的三个抽象级别。

20.在数据库技术中,编写应用程序的语言仍然是C—类高级语言,这些语言被称为(宿主语言(或主语言,Host Language))语言。

21.层次、网状的DML属于(过程性)语言,而关系型DML属于(非过程性)语言。 22.关系模式的操作异常问题往往是由(数据冗余)引起的。

23.消除了非主属性对侯选键局部依赖的关系模式,称为(2NF)模式。 24.消除了非主属性对侯选键传递依赖的关系模式,称为(3NF)模式。 25.消除了每一属性对侯选键传递依赖的关系模式,称为(BCNF)模式。 26.恢复的基本原则是(冗余)。要使数据库具有可恢复性,在平时要做好两件事:(转储(备份))和(记“日志”)。

27.如果对数据库的并发操作不加以控制,则会带来四类问题:(丢失更新)、(读“脏数据”)和(不可重复读)。

28.事务的执行次序称为(调度)。

29.判断一个并发调度是否正确,可以用(可串行化)概念来解决。 30.封锁能避免错误的发生,但会引起(活锁和死锁)问题。 31.S封锁增加了并发度,但缺点是(容易发生死锁)。 32.两段式封锁是可串行化的(充分)条件。

33.数据库的完整性是指数据的(正确性)和(相容性)。 34.SQL中的安全性机制,主要有两个:(视图)和(授权)。 35.SQL的授权语句中的关键字PUBLIC表示(全体用户)。 36.在数据管理技术的发展过程中,经历了人工管理阶段,文件系统阶段和数据库系统阶段,在这几个阶段中,数据的独立性是(数据库系统)阶段实现的。

37.数据库是在计算机系统中按照数据模型组织、储存和应用的(数据的集合),支持数据库各种操作的软件系统叫(数据库管理系统),由计算机、操作系统、DBMS、数据库应用程序及用户等组成的一个整体叫做(数据库系统)。

38.数据库的基本特点是(数据可以共享(或数据结构化)、数据独立性、数据冗余度小,易扩充、统一管理和控制)。 39.(数据库)是存储在计算机内组织的结构化的相关数据的集合。 40.在数据库中存储的是(数据以及数据之间的联系)。

41.数据库的特点之一是数据的共享。严格的讲,这里的数据共享是指(多种应用,多种语言,多个用户相互覆盖所用的数据集合)。 42.数据库系统的核心是(数据库管理系统)。

43.数据库技术中采取分级方法将数据库的结构划分成多个层次,是为了提高数据库的(逻辑独立性)和(物理独立性)。

44.数据库系统的特点是(数据共享),数据独立,减少数据剩余,避免数据不一致和加强了数据保护。

45.数据库管理系统能实现对数据库中数据的查询,插入,修改和删除等操作,这种功能称为(数据操纵功能)

46.在数据库的三级模式结构中,描述数据库中的全体数据的全局逻辑结构和特征的是(模式) 47.为了使程序员编程时既可以使用数据库语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到(宿主语言)中 48.数据管理技术经历了(人工管理),(文件管理)和(数据库系统)三个阶段 49.数据库是长期存储在计算机内,有(组织)的,可(共享)的数据集合

50.DBMS是指(数据库管理系统)它是位于(用户)和(操作系统)之间的一层管理软件

51.数据库管理系统的主要功能有(数据定义功能),(数据操作功能),数据库的运行管理和数据库的建立以及维护等4个方面。

52.数据独立性又可为(逻辑数据独立性)和(物理数据独立性)。

53.当数据的存储结构改变了,应用程序不变,而由DBMS处理这种改变。这是指数据的(物理独立性)

54.根据数据模型的应用目的不同,数据模型可分为(概念模型)和(数据模型) 55.数据模型是由(数据结构),(数据操作)和(完整性约束) 三部分组成的 56.按照数据结构的类型来命名,数据模型分为(层次模型),(网状模型)和(关系模型)。 57.现实世界的事物反映到人的头脑中经过思维加工是数据,这一过程要经历三个领域,依次是(现实世界),(信息世界)和(计算机世界)。

58.实体之间的联系可抽象为三类它们是(1:1),(1:m)和(m:n) 59.按所使用的数据模型来分,数据库可分为(层次)、(关系)和(网状)三种类型。 60.关系数据库规范化是为解决关系数据库中(插入、删除和数据冗余)问题而引入的。 61.关系规范中的删除操作异常是指(不该删除的数据被删除),插入操作异常是指(应该插入的数据未被插入)。

62.设计性能较优的关系模式称为规范化,规范化主要的理论依据是(关系规范化理论)。 63.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是(不可分解的)。 64.数据模型的三要素是(数据结构),(数据操作)和(数据约束条件)。

65.对于数据库系统,负责定义数据库内容,决定存储结构和存储策略及安全授权等工作的是(数据库管理员)。

66.关系模型是把实体之间的联系用(二维表格)表示。

67.在关系数据库中,当关系的类型改变时,用户程序也可以不变,这是(数据的逻辑独立性)。

68.当数据库的存储结构改变时,可相应修改(模式/内模式映像),从而保持模式不变。 69.在数据库系统的三级模式体系结构中,描述数据在数据库中的物理结构或存储方式的是(内模式)。

70.在数据库系统的三级组织结构中,DBA视图是(概念模式),系统程序员视图是(内模式),用户视图是(外模式)。

71.表示实体及其联系的方法为(E-R图),基本图素包括(实体)、(属性)和(联系)。习惯上实体用(矩形)表示,实体属性用(椭圆形)表示,联系用(菱形)表示。

72.层次模型是用(树型)结构表示记录类型及其联系,其中上一层记录型和下一层记录型的联系是(1:M),层次模型不能直接支持(M:N)联系。

73.在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/内模式),实现了数据库的(物理)独立性。

71.在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为(实体完整性)规则。 72.描述概念模型常用的方法是(实体--联系方法)。

73.消除了部分函数依赖的1NF的关系模式,必定是( 2NF)。

74.关系模式中R的属性全部是主属性,则R的最高范式必定是( 3NF)。

75.在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在S中称为(外码)。

76.对于非规范化的模式,经过(将每一个分量化分为不可分的数据项)转变为1NF,将1NF经过(消除每一个非主属性对码的部分函数依赖,)转变为2NF,将2NF经过( 消除非主属性对码的传递函数依赖 )转变为3NF。 77.关系模型中的关系模式至少是(1NF)。

78.关系模式中,满足2NF的模式必定是(1NF)。 79.在关系模式R中,若其函数依赖集中所有候选键都是决定因素,则R最高范式是(4NF)。 80.候选关键字中的属性称为( 主属性)。

81.在数据库设计中,将E-R图转换成关系数据模型的过程属于( 逻辑设计阶段 )。 82.在数据库设计的4个阶段中,每个阶段都有自己的设计内容。“在哪些表、在哪些属性上、建什么样的索引”,这一内容应该属于(物理)设计阶段。 83.在数据库设计的需求分析阶段,数据字典通常由(数据项)、(数据结构)、(数据流)、(数据存储)和(处理过程)5部分组成。

84.在关系数据库设计中,使每个关系达到3NF,这是(逻辑设计阶段)阶段完成的。 85.设计概念结构时,常用的数据抽象方法是( 聚集)和(概括 )。 86.在数据抽象中,概括层次表示(是一个(is a))联系,聚集层次表示(是一部分(is part of))联系。

87.就方法的特点而言,需求分析阶段通常采用(自顶向下逐步细化)的分析方法;概念设计阶段通常采用(自底向上逐步总和)的设计方法。

88.在数据库设计中,子类和超类存在着(继承)的联系。

89.由分E-R图生成初步E-R图,其主要任务是(消除属性冲突)、(消除结构冲突)和(消除命名冲突)。

90.由初步E-R图构成基本E-R图,其主要任务是(消除不必要的冗余)。

91.假定一个E-R图包含有A实体和B实体,并且从A到B存在着1:N的联系,则转换成关系模后,右以包含有(1或2 )个关系模式。

92.假定一个E-R图包含有A实体和B实体,并且从A到B存在着M:N的联系,则转换成关系模型后,包含有( 3 )个关系模式。 93.(物理结构设计)阶段与具体的DBMS密切相关。

94.数据流图是数据库系统设计过程中(概念结构设计)阶段完成的。 95.事物的所有操作要么全做,要么全不做,这是事务的(原子)特性。 96.并发操作带来的问题主要有(丢失修改),(不可重复读),(读脏数据)。 97.在登录日志文件时,应该先(登录日志文件),后(更新数据库)。

98.若事物T对数据R已经加了X锁,则其他事物对数据R(不能加任何锁)。

99.对数据对象施加封锁,可能会引起活锁和死锁问题。预防死锁通常有(一次封锁法)和(顺序封锁法)两种方法。

100.多个事物在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是(可串行化的)。

101.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的(安全性)。

102.关系规范化的目的是(控制冗余,避免插入和删除异常,从而增强数据的稳定性和灵活性).

103.在关系A(S,SN,D)和B(D,CN,NM)中,A的主键是S,B的主键是D,则D在A中称为(外码)。

104.在一个关糸R中,若每个数据项都是不在分割的,那么R一定属于(1NF)

105.若关系为1NF,且它的每一个非主属性都(完全函数依赖于或不部分函依赖于)码,则该关糸为2NF。

106.设有如图所示的关糸R,R的候选关键字为(A和DE);R中的函数依赖有(AD→E,DE→A);R属于(BCNF)范式。

R A A1 A2 A3 A4 D D1 D6 D4 D4 E E2 E2 E3 E4

四.简答题

1.什么是基本表?什么是视图?两者的区别和联系是什么?

答:基本表是实际存储在数据库中的二维表,它是本身独立存在的表,在SQL中一个关系就对应一个表。

视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。

区别:视图是从一个或几个基本表(或视图)中导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。 2.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?

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

数据与程序的逻辑独立性是指当模式改变时,将外模式/模式的映象作相应改变,使外模式保持不变,从而应用程序不用修改。 3.简述事务所具有的ACID特性。 答:事务的ACID特性是:

原子性:事务是一个不可分割的单位。

一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。

隔离性:多个事务的并发执行不互相干扰。

持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。 4.登记日志文件时为什么必须先写日志文件,后写数据库? 答:把数据的修改写到数据库和把对数据的修改操作写到日志文件是两个不同的操作,在两个操作之间可能会发生故障如果先写了数据库修改,而在日志文件中没有登记这个修改,在恢复的时候就无法恢复这个修改了;如果先写日志,但没有修改数据库,按日志恢复时只是多执行一次撤消操作,并不影响数据库的正确性,为了安全,一定要先写日志文件。 5.DBMS的完整性控制机制应具有哪些功能? 答:应具有三方面的功能:

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

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

(3)如果发现用户的操作请求违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

6.什么是数据字典?数据字典的作用是什么? 答:数据字典是系统中各类数据描述的集合

作用:供DBMS在处理数据存取时快速查找有关对象的信息,供DBA查询掌握系统的运行情况,支持数据库设计和系统分析。 7.什么样的并发调度是正确的调度? 答:多个事务的并发执行的结果与按某一次序串行的执行它们时的结果相同,我们说这样的并发调度是可串行化的调度,如果一个调度是可串行化的,那么认为它是正确的调度。 8.试叙述事务的4个性质,并指出每一个性质由DBMS的哪个子系统实现?每一个性质对DBS有什么益处?

答:1)事务的原子性是指一个事务对DB的所以操作,是一个不可分割的工作单位。原子性是由DBMS的事务管理子系统实现的。事务的原子性保证了DBS的完整性。

2)事务的一致性是指数据不会因事务的执行而遭受破坏。事务的一致性是由DBMS的完整性子系统实现的。事务的一致性保证数据库的完整性。

3)事务的隔离性是指事务的并发执行与这些事务单独执行时结果一样。事务的隔离性是由DBMS的并发控制子系统实现的。隔离性使并发执行的事务不必关心其他事务,如同在单用户环境下执行一样。

4)事务的持久性,是指事务对DB的更新应永久地反映在DB中。持久性是由DBMS的恢复管理子系统实现的。持久性能保证DB具有可恢复性。 9.事务的COMMIT语句和ROLLBACK语句的功能是什么? 答:COMMIT语句表示事务执行成功地接结束(提交),此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施(写入磁盘)。

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

10.日志文件中记载了哪些内容?

答:日志文件中记载了事务开始标记、事务结束标记以及事务对DB的插入、删除和修改的每一次操作前后的值。

11.并发操作会产生几种不一致情况?用什么方法避免各种不一致的情况?

答:并发操作可能会产生丢失修改,不能重复读和读”脏”数据这三种不一致情况,采用封锁机制来进行并发控制,可避各种不一致情况。一级封锁协议可以避免丢失修改,二级封锁协议可以避免丢失修改和读”脏”数据,三级封锁协议可以避免丢失修改、不能重复读和读”脏”数据。

12.X封锁与S封锁有什么区别? 答:X锁与S锁的区别如图所示。

X锁 只允许一个事务独锁数据 获准X锁的事务可以修改数据 事务的并发度低 X锁必须保留到事务终点 解决“丢失更新”问题 S锁 允许多个事务并发S锁某一数据 获准S锁的事务只能读取数据,但不能修改数据 事务的并发度高,但增加了死锁的可能性 根据需要,可随时解除S锁 解决“读不一致性”问题 13.为什么要设立日志文件? 答:设立日志文件的目的,是为了记录对数库中数据的每一次更新操作,从而DBMS可以根据日志文件进行事务故障的恢复和糸统故障的恢复,并可结合后授副本进去介质故障的恢复。

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

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

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

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

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

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记

的操作。即将日志记录中“更新后的值”写入数据库。 15.怎样进行介质故障的恢复?

答:发生介质故障后,磁盘上的物理数据和日志文件被破坏,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是:

⑴ 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。

对于动态转储的数据库副本,还须同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。

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

然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。

16.数据库在运行过程中可能产生的故障有哪几类? 答:1)事务故障

事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为“事务故障”。

2)系统故障

系统故障是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事物。特定类型的硬件错误(CPU故障),突然停电等造成系统停止运行,致使事物在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。

3)介质故障

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

4)计算机病毒

计算机病毒是一种人为的故障和破坏,它是一种计算机程序,通过读写染有病毒的计算机系统中的程序和数据这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。 17.怎样进行事务故障的恢复 答:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是:

⑴ 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

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

⑶ 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 ⑷ 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 18.试述文件系统与数据库系统的区别和联系。 答:文件系统与数据库系统的区别是:

文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。

数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据

的安全性、完整性、并发控制和恢复能力。

文件系统与数据库系统的联系:文件系统与数据库系统都是计算机系统中管理数据中管理数据的软件。

19.DBA的职责是什么?

答:1)决定数据库中的信息内容和结构

2)决定数据库的存储结构和存取策略

3)定义数据的安全性要求和完整性约束条件 4)监控数据库的使用和运行 5)数据库的改进和重组重构 20.试述查询优化的一般步骤。 答:1)把查询转换成某种内部表示

2) 把语法树转换成标准(优化)形式 3) 择低层的存取路径

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

21.数据库中为什么要有恢复子系统?它的功能是什么?

答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。

功能:是把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态),这就是数据库的恢复。

22.数据库转储的意义是什么?常用的有几种方法?

答:数据转储是数据库恢复中采用的基本技术,所谓转储即DBA定期将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新载入,将数据库恢复到转储时的状态。

转储可分为静态转储和动态转储。静态转储是在系统中无运行事务时进行的转储操作。动态转储是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。

转储还可分为海量转储和增量转储两种方式。 23.什么是日志文件?为什么要设立日志文件?

答:日志文件是用来记录事务对数据库的更新操作的文件。

目的是进行事物故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。 24.试述使用检查点方法进行恢复的步骤。

答:1)从重新开始文件中找到追后一个检查点记录在日志文件中的地址,由该地址在体制文件中找到最后一个检查点记录。

2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。 这里建立两个事务队列:

①UNDO-LIST:需要执行undo操作的事务集合; ②REDO-LIST需要执行redo操作的事务集合。

把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂时为空。 3) 检查点开始正向扫描日志文件:

①如果有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;

②如有提交的事务T j,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;

4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。

25.什么是数据库镜像?它有什么用途?

答:根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据恢复过去,即DBMS自动保证镜像数据与主数据的一致性。

用途:1)一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库恢复,不需要关闭系统和重装数据库副本。

2)在没有出现故障时,数据库镜像还可以并发操作。提高数据库的可用性。

26.请给出预防死锁的若干方法。

答:在数据库中,产生 死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。

预防死锁通常有两种方法:1)一次封锁法。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。2)顺序封锁法。顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 27.请给出检测死锁发生的方法,当发生死锁后如何解决死锁? 答:一般使用超时法或事务等待图法。

① 超时法

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

②等待图法

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

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

答:所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; 2)在释放一个封锁之后,事务不再申请和获得对该数据的封锁。

所谓“两段”锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。

29.什么是数据库的完整性约束条件?

答:完整性约束条件是指数据库中的数据应满足的语义约束条件。一般可以分为六类:

1)静态列级约束 2)静态元组约束 3)静态关系约束 4) 动态列级约束 5) 动态元组约束 6) 动态关系约束

五、应用题

1.设有下列四个关系模式: S(SNO,SNAME,CITY)

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。分别用关系代数和SQL语言完成下列查询:

1)求供应工程项目号为J1工程零件的供应商号SNO

∏SNO(σJNO=?J1?(SPJ))

SELECT SNO FROM SPJ WHERE JNO=?J1?;

2)求供应工程项目号为J1工程零件号为P1的供应商号SNO

∏SNO(σJNO=?J1?∧PNO=?P1?(SPJ))

SELECT SNO FROM SPJ WHERE JNO=?J1? AND PNO=?P1?; 3)求供应工程项目号为J1工程红色零件的供应商号SNO

∏SNO(σJNO=?J1?∧COLOR=?红?(SPJ∞P))

SELECT SNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND P.COLOR=?红?AND JNO=?J1?;

4)求至少使用天津供应商生产的红色零件的工程号JNO

∏JNO(SPJ)-∏JNO(σcity=?天津?∧COLOR=?红?(SPJ∞P∞S)) SELECT JNO FROM SPJ,P,S

WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND CITY<>?天津?AND COLOR<>?红?;

5)求至少用了S1供应商所供应的全部零件的工程号JNO(本题不需要用SQL语言完成)

∏JNO,PNO(SPJ)?∏PNO(σSNO=?S1?(SPJ)) 2.现有如下关系模式:

雇员(员工姓名,居住城市,居住街道) 工作(员工姓名,公司名,工资) 公司(公司名,公司所在城市) 主管(员工姓名,主管姓名) 用关系代数完成下列查询:

1)找出所有在公司名为“firstbank”的公司工作的员工,显示员工姓名。

∏员工姓名(σ公司名=?firstbank?(工作))

2)显示为“firstbank”公司工作的员工姓名和居住城市。

∏员工姓名,居住城市(σ公司名=?firstbank?(雇员∞工作))

3)找出所有为“firstbank”公司工作且工资在1000元以上的员工,显示员工姓名和工资。

∏员工姓名,工资(σ公司名=?firstbank?∧工资>1000(工作))

4)找出每个员工工资都在1000元以上的公司,显示公司名。

∏公司名(工作)-∏公司名(σ工资<1000(工作))

5)找出主管人员Smith领导的员工姓名及员工居住的城市。

∏员工姓名,居住城市(σ主管姓名=?Smith?(雇员∞主管)) 3.设有下列关系模式:

STUDENT(NO,NAME,SEX,BIRTHDAY,CLASS)

TEACHER(NO,NAME,SEX,BIRTHDAY,PROF,DEPART) COURSE(CNO,CNAME,TNO) SCORE(NO,CNO,DEGREE)

其中,学生信息表STUDENT由学号(NO)、学生姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、班级(CLASS)组成,记录学生的情况;教师信息表TEACHER由教师号(NO)、教师姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、职称(FROF)、教师所在系(DEPART)组成,记录教师的情况;课程表COURSE由课程号(CNO)、课程名称(CNAME)、任课教师号(TNO)组成,记录所开课程及任课教师情况;成绩表SCORE由学生学号(NO)、课程号(CNO)、成绩(DEGREE)组成,记录学生选课情况及相应的成绩。用SQL语句实现以下操作

1)显示STUDENT表中每个学生的姓名和出生日期。 SELECT NAME,BIRTHDAY FROM STUDENT; 2)显示STUDENT表中所有姓“王”的学生记录。

SELECT * FROM STUDENT WHERE NAME LIKE ?王%?; 3)显示成绩表中成绩在60分到80分之间的所有记录。

SELECT * FROM SCORE WHERE DEGREE BETWEEN 60 AND 80; 4)显示“男”教师及其所上的课程。(显示该教师的姓名和所上的课程名)

SELECT TEACHER.NAME,COURSE.CNAME FROM TEACHER,COURSE WHERE TEACHER.NO=COURSE.TNO AND SEX=?男?; 5)选出和“李军”同学同性别并同班的学生姓名。

SELECT NAME FROM STUDENT

WHERE SEX=(SELECT SEX FROM STUDENT WHERE NAME=?李军?)AND

CLASS=(SELECT CLASS FROM STUDENT WHERE NAME=?李军?);

6)向STUDENT表中插入一条学生记录。(学号:999,姓名:程功,性别:男,出生年月日:10/01/80,班级:95035)

INSERT INTO STYDENT VALUES(?999?,?程功?,?男?,?10/01/80?,?95035?); 7)在STUDENT表中将学号为“999”的学生的班号改为“95031” UPDATE STUDENT SET=?95031?WHERE NO=?999?; 8)在STUDENT表中删除学号为“999”的学生记录。 DELETE FROM STUDENT WHERE NO=?999?; 4.设有下列四个关系模式:

S(SNO,SNAME,CITY)

P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY) 其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。 用SQL语言完成下列操作:

①找出工程项目J2使用的各种零件的名称及其数量

SELECT PNAME,QTY FROM SPJ, P WHERE SPJ.PNO=P.PNO AND JNO=?J2?; ②找出所有零件的名称、颜色、重量

SELECT PNAME, COLOR, WEIGHT FROM P; ③找出上海厂商供应的所有零件号码

SELECT DISTINCT PNO FROM SPJ

WHERE SNO IN ( SELECT SNO FROM S WHERE CITY=?上海?); ④从供应商关系中删除S2(供应商号)的记录,并从供应情况关系中删除相应的记录

DELETE FROM S WHERE SNO=?S2?; DELETE FROM SPJ WHERE SNO=?S2?; ⑤请将(S2,P4,J6,200)插入供应情况关系

INSERT INTO SPJ VALUS(?S2?,?P4?,?J6?,200); 5.设有3个关系:

S(S#,SNAME,AGE,SEX) SC(S#,C#,CNAME)

C(C#,CNAME,TEACHER)

试用关系代数表达式表示下列查询语句: 1)检索LIU老师所授课程的课程号和课程名。 ∏C#,CNAME(σTEACHER=?LIU?(C))

2)检索年龄大于23岁的男学生的学号和姓名。 ∏S#,SNAME(σAGE>?23?∧SEX=?M?(S))

3)检索学号为S3学生所学课程的课程名与任课教师名。 ∏CNAME,TEACHER(σS#=?S3?(SC∞C))

4)检索至少选修LIU老师所授课程中一门课的女学生姓名。 ∏SNAME(σSEX=?F?∧TEACHER=?LIU?(S∞SC∞C)) 5)检索WANG同学不学的课程的课程名。

∏C#(C)-ΠC#(σSNAME=?WANG?(S∞SC)

6)检索全部学生都选修的课程的课程号与课程名。

∏C#,CNAME(C∞(πS#,C#(SC) ? πS#(S)))

7)检索选修课程包含LIU老师所授全部课程的学生学号。

∏S#,C#(SC)÷∏C#(σTEACHER=?LIU?(C)) 6.对于教学数据库的3个基本表

S(S#,SNAME,AGE,SEX) SC(S#,C#,CNAME)

C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句: 1) 检索LIU老师所授课程的课程号和课程名。

SELECT C#,CNAME FROM C WHERE TEACHER= ?LIU?; 2)检索年龄大于23岁的男学生的学号和姓名。

SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=?M?; 3)检索学号为S3学生所学课程的课程名与任课教师名。

SELECT CNAME,TEACHER FROM SC,C WHERE SC.C# =C.C# AND S#=?S3?; 4)检索至少选修LIU老师所授课程中一门课的女学生姓名。

连接查询方式

SELECT SNAME FORM S,SC,C

WHERE S.S# =SC.S# AND SC.C# =C.C# AND SEX=?F?AND TEACHER=?LIU?; 嵌套查询方式

SELECT SNAME FORM S WHERE SEX =?F?AND S# IN

(SELECT S# FORM SC WHERE C# IN

(SELECT C# FORM C WHERE TEACHER =?LIU?));

存在量词方式

SELECT SNAME FORM S WHERE SEX=?F?AND EXISTS

(SELECT * FORM SC WHERE SC.S# =S.S# AND EXISTS

(SELECT * FORM C WHERE C.C# =SC.C# AND TEACHER=?LIU?));

5)检索WANG同学不学的课程的课程名。

SELECT C# FOME C WHERE NOT EXISTS

(SELECT * FORM S,SC WHERE S.S# =SC.S# AND SC.C# =C.C# AND SNAME=?WANG?);

6)检索至少选修两门课的学生学号。

SELECT DISTINCT X.S# FROM SC X, SC Y WHERE X.S#=Y.S# AND X.C#!=Y.C#; 7)检索全部学生都选修的课程的课程号与课程名。

SELECT C#,CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#)); 用集合包含

SELECT C#,CNAME FROM C WHERE (SELECT S# FROM SC WHERE C# =C.C# )

CONTAINS

SELECT S# FROM S; 或

SELECT C#,CNAME FROM C WHERE NOT EXISTS ((SELECT S# FROM S) EXCEPT

(SELECT S# FROM SC WHERE C# =C.C#)); 8)检索选修课程包含LIU老师所授课程的学生学号。

SELECT DISTINCT S# FROM SC X WHERE NOT EXISTS

(SELECT * FROM C WHERE TEACHER=?LIU?AND NOT EXISTS

(SELECT * FROM SC Y WHERE Y.S# =X.S# AND X.C#=C.C#)); 或:SELECT DISTINCT S# FROM SC X WHERE NOT EXISTS

((SELECT C# FROM C WHERE TRACHER=?LIU?) EXCEPT (SELECT C# FROM SC Y WHERE Y.S# =X.S#));

7.试用SQL查询语句表达下列对上题中3个基本表S、SC、C的查询: 1)统计有学生选修的课程门数。

SELECT COUNT (DISTINCT C#) FROM SC; 2)求选修C4课程的女学生的平均年龄。

SELECT AVG(AGE) FROM S,SC WHERE S.S#=SC.S# AND C# =?C?AND SEX=?F?; 3)求LIU老师所授课程的每门课程的平均成绩。

SELECT C.C#,AVG(GRADE) FROM SC,C WHERE SC.C# =C.C# AND TEACHER=?LIU?

GROUP BY C.C#;

4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

SELECT C# ,COUNT(S#) FROM SC GROUP BY C# HAVING COUNT(*)>10 ORDER BY 2 DESC,1;

5)检索学号比WANG同学大,而年龄比他小的学生姓名。

SELECT SNAME FROM S WHERE S#>ALL (SELECT S# S WHERE SNAME=?WANG?) AND AGE

SELECT S#,C# FROM SC WHERE GRADE IS NULL; 7)检索姓名以L打头的所有学生的姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SNAME LIKE ?L%?; 8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SEX=?M?AND

AGE >(SELECT AVG(AGE) FROM S WHERE SEX=?F?);

9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT SNAME,AGE FROM S WHERE SEX=?M?AND

AGE >ALL(SELECT AGE FROM S WHERE SEX=?F?);

8.用SQL更新语句表达对上题教学数据库中关系S、SC、C作如下更新操作: 1)往关系C中插一个课程元组。

INSERT INTO C VALUES(?C8?,?VC++?,?BAO?); 2)SC中删除尚无成绩的选课元组。

DELETE FROM SC WHERE GRADE IS NULL; 3)把选修LIU老师课程的女同学选课元组全部删去。

DELETE FROM SC WHERE S# IN (SELECT S# FROM S WHERE SEX =?F?) AND C# IN(SELECT C# FROM C WHERE TEACHER=?LIU?); 4)把MATHS课不及格的成绩全改为60分。 UPDATE SC SET GRADE = 60

WHERE GRADE<60 AND C# IN (SELECT C# FROM C WHERE CNAME=?MATHS?); 5)把低于所有课程总平均成绩的女同学成绩提高5%。 UPDATE SC SET GRADE = GRADE *1.05

WHERE S# IN(SELECT S# FROM S WHERE SEX=?F?)AND GRADE<(SELECT AVG(GRADE) FROM SC);

6)在表SC中修改C4课程的成绩,若成绩小于等于70分提高5%,若成绩大于70分时提高4%(用两种方法实现,一种方法是用两个UPDATE语句实现,另一种方法是用带CASE操作的一个UPDATE语句实现)。

UPDATE SC SET GRADE=GRADE * 1.04 WHERE C#=?C4?AND GRADE>70;

UPDATE SC SET GRADE =GRADE * 1.05 WHERE C # =?C4?AND GRADE<=70;

7)在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。

UPDATE SC SET GRADE = GRADE * 1.05

WHERE GRADE<(SELECT AVG(GRADE) FROM SC); 9.设数据库中有3个关系:

职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。

工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。

公司表 COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。

试用SQL语言写出下列操作:

1)检索超过50岁的男职工的工号和姓名。

SELECT E#,ENAME FROM EMP WHERE AGE>50 AND SEX=?M?;

2)假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。 SELECT EMP.E#,ENAME FROM EMP,WORKS WHERE EMP.E#=WORKS.E# AND SALARY>1000;

3)假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名。 SELECT A.E#,A.ENAME FROM EMP A,WORKS B,WORKS C WHERE A.E#=B.E# AND B.E#=C.E# AND B.C#=?C4?AND C.C#=?C8?; 4)检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。

SELECT A.E#,A.ENAME FROM EMP A,WORKS B,COMP C WHERE A.E#=B.E# AND B.C#=C.C# AND CNAME=?联华公司?

AND SALARY>1000 AND SEX=?M?;

5)假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数,显示(E#,NUM,SUM_SALARY),分别表示工号、公司数目和工资总数。

SELECT E#,COUNT(C#) AS NUM,SUM(SALARY) AS SUM_SALARY FROM WORKS GROUP BY E#;

6)工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所以公司工作的职工工号。

SELECT X.E# FROM WORKS X WHERE NOT EXISTS

(SELECT * FROM WORKS Y WHERE E#=?E6?AND NOT EXISTS

(SELECT * FROM WORKS Z WHERE Z.E#=X.E# AND Z.C#=Y.C#)); 7)检索联华公司中低于本公司平均工资的职工工号和姓名。

SELECT A.E#,A.ENAME FROM EMP A,WORKS B,COMP C

WHERE A.E#=B.E# AND B.C#=C.C# AND CNAME =?联华公司?AND SALARY<

(SELECT AVG(SALARY) FROM WORKS,COMP WHERE WORKS.C#=COMP.C# AND CNAME =?联华公司?);8)在每个公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。

UPDATE WORKS SET SALARY =SALARY+100

WHERE E# IN (SELECT E# FROM EMP WHERE AGE>50);

10)在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。

DELETE FROM WORKS WHERE E# IN (SELECT E# FROM EMP WHERE AGE>60); DELETE FROM EMP WHERE AGE >60;

10.设有关糸模式:SB(SN,SNAME,CITY)其中,SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。

PB(PN,PNAME,COLOR,WEIGHT) 其中PB表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主要字键为PN。

JB(JN,JNAME,CITY)其中,JB表示工程,JN为工程编号,JNAME为工程名字,

CITY为工程所在城市,主关键字为JN。

SPJB(SN,PN,CITY)其中,SPJB表示供应关糸,SN是为指定工程提供零件的供应商代号,PN为所提供的零代号,JN为工程编号,OTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。

如图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能的SQL语句:

SB PB SN SNAME CITY PN PNAME COLOR WEIGHT S1 N1 上海 P1 PN1 红 12 S2 N2 北京 P2 PN2 绿 18 S3 N3 北京 P3 PN3 蓝 20 S4 N4 上海 P4 PN4 红 13 S5 S5 南京 P5 PN5 蓝 11 P6 PN6 绿 15

SPJB SN PN JN PTY 1 P1 J1 200 S1 P1 J4 700 S2 P3 J1 400 S2 P3 J2 200 S2 P3 J3 200 S2 P3 J4 500 S2 P3 J5 600 S2 P3 J6 400 S2 P3 J7 800 S2 P3 J2 100 S3 P3 J1 200 S3 P4 J2 500 S4 P6 J3 300 S4 P6 J7 300 S5 P2 J2 200 S5 P2 J4 100 S5 P5 J5 500 S5 P5 J7 100 S5 P6 J2 200 S5 P1 J4 1000 S5 P3 J4 1200 S5 P4 J4 800 S5 P5 J4 400 S5 P6 J4 500 JB

JN J1 J2 J3 J4 J5 J6 J7 JNAME JN1 JN2 JN3 JN4 JN5 JN6 JN7 CITY 上海 广州 南京 南京 上海 武汉 上海 1)取出为工程J1提供红色零件的供应商代号

SELECT DISTINCT SPJ.SN FROM SPJB,PB

WHERE PB.PN=SPJB.PN AND SPJB.JN=?J1?AND PB.COLOR=?红?;

2)取出为所在城市为上海的工程提供零件的供应商代号

SELECT DISTINCT SPJB.SN FROM SPJB,JB WHERE SPJB.JN AND JB.CITY=?上海?;

3)取出供应商与工程所在城市相同的供应商提供的零件代号

SELECT DISTINCT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=JB.CITY 六、综合题

1.设有如下所示的关系R(码为:课程名) 问:1)该关系模式为第几范式?为什么?

2)是否存在删除操作异常?若存在,则说明在什么情况下发生的?

3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常

问题的?

关系R

答:(1) R∈2NF

课程名 教师名 教师地址 ∵R的侯选码为课程名,存在课程名→教师

C1 D1 王小强 名,

教师名→课程名,教师名→教师地址 C2 D2 李鸿雁 ∴课程名→教师地址

C3 D1 王小强 即存在非主属性对码的传递函数依赖关系

C4 D1 张言 ∴R不属于3NF

又∵不存在非主属性对码的部分函数依赖

∴R∈2NF

(2)存在删除操作异常,当删除某门课程时,教师的信息也被删除了。 (3)分解R

R1 R2

课程名 教师名 教师名 教师地址 C1 王小强 D1 王小强

C2 李鸿雁 D2 李鸿雁 C3 王小强 D1 张言 C4 张言

2.根据下列给出的关系模式和函数依赖集,指出该关系模式是第几范式?并说明理由。 1)R(X,Y,Z)码:XY F={XY→Z}

答:R∈BCNF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素都是码,所以R∈BCNF。 2)R(X,Y,Z)码:XY和XZ F={Y→Z,XZ→Y}

答:R∈3NF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素不都是码,所以R不是BCNF 。 3)R(X,Y,Z)码:X F={X→Y,X→Z}

答:R∈BCNF 因为不存在非主属性对码的部分函数依赖和传递函数依赖,所以R∈3NF, 又因为所有的函数依赖的决定因素都是码,所以R∈BCNF。 4)R(X,Y,Z)码:WX F={X→Z,WX→Y}

答:R∈1NF 因为存在非主属性对码的部分函数依赖,所以R不属于2NF,所以R∈1NF。 3.设有如图所示关系R 关系R

课程名 C1 C2 C3 C4 教师名 马千里 于得水 佘快 于得水 教师地址 D1 D1 D2 D1 1)它为第几范式?为什么?

2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? 3)将它分解为高一级范式,分解后的关糸是如何解决分角前可能存在的删除操作异常问题? 答:1)它是2NF

∵R 的候选关键字为课程名,而课程名→教师名,教师名→课程名,教师名→教师地址

∴课程名→教师地址,即存在非主属性教师地址对候选关健字课程名的传递函数依赖,因此R不是3NF。

又∵不存在非主属性对候选关健字是的部分函数依赖 ∴是2NF。

2)存在。当删除某门课程时会删除不该删除的教师的关信息。 3)分解为高一级范式如图所示。

R1 R2 课程名 C1 C2。 C3 C4 教师名 马千里 于得水 佘快 于得水 教师名 马千里 于得水 佘快 教师地址 D1 D1 D2 分解后,若删除课程数据时,仅对关糸R1操作,教师地址信息在关糸R2中仍然保留,不会丢失教师方面的信息.

4.设有如图所示的关糸R: 职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位名 CCC AAA CCC CCC 试问R属于第几范式?为什么?并如何规范化为3NF? 答:R不属于3NF,它是2NF

∵R的侯选关键字为职工号和职工名,而:

职工号→单位号,单位号→职工号, 单位号→单位名

∴职工号-------→单位名,即存在非主属性单位名对侯选关键职工号的传递函数依赖 规范化后的关系子模式为入图4.25所示的关系R1和R2

R1 R2 职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位号 D3 D1 单位名 CCC AAA

5.设有商业销售记账数据库,一个顾客(顾客姓名,单位,电话号码)可以买多种商品,一种商品(商品名称,型号,单价)供应多个顾客。试画出对应的E-R图并将其转换为关系模式。 答:E-R图 顾客 商品 销售 m n 顾客 单商品姓名 电单型 数量 价 名称 话位 号 根据E-R图转换的关系模式为:

顾客(顾客姓名,单位,电话号码) 商品(商品名称,型号,单价)

销售(顾客姓名,商品名称,型号,数量)

6.某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,三是有职工编号、姓名、性别、业绩等。

商店与商品间存在“销售”关系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 1)试画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系模式主键和外键。 答:1)E-R图如图所示。

2)这个E-R图可转换4个关系模式: 商店(商店编号,商店名,地址)

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价) 销售(商店编号,商店号,月销售量)

商店编号angdian 商店名 地址 商店 月销售量 月薪 聘期 销售 商品 职工 商品号 单价 商店名 规格 聘用 职工编号 姓名 性别 业绩 7.设某商业集团数据库中有3个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。

公司与仓库间存在“隶属”联系,没个攻击管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库铬镍钢做,仓库聘用职工有聘期和工资。

1)画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系迷失的主键和外键。 答:1)E-R图所示。

2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址)

仓库(仓库编号,仓库名,地址,公司编号)

职工(职工编号,姓名,性别,仓库编号,聘期,工资)

公司编号 公司名 地址 公司 仓库编号 隶属 仓库名 仓库 聘期 地址 聘用 工资 职工 职工编号 姓名 性别 8.设某工商业集团数据库有3个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。

供应商与商品之间存在“供应”关系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,没个商店销售每种商品有个月计划数。 1)试画出ER图,并在图上注明属性、联系的类型。

2)将ER图转换成关系模式集,并指出每个关系模式的主键和外键。 答:1)E-R图所示。

2)这个E-R图可转换5个关系模式: 供应商(供应商编号,供应商名,地址) 商店(商店号,商店名,地址)

商品(商品号,商品名,规格,单价) 供应(供应商编号,商品号,月供应量) 销售(商店号,商品号,月计划数)

供应商编号 供应商名 地址 商店号 商店名 地址 供应商 商店 月供应量 供应 销售 月计划数 商品 商品号 商品名 规格 单价 9.某医院病房计算机管理中需要如下信息: 科室:科名,科地址,科电话,医生姓名 病房:病房号,床位号,所属科室号

医生:姓名,职称,所属科室名,年龄,工作证号 病人:病历号,姓名,性别,诊断,主管医生,病房号

其中,一个科室有多个病房,多个医生。一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成入下设计:

1)设计核算计算机管理系统的E-R图; 2)将该E-R图转换为关系模型结构;

3)指出转换结果中每个关系模式的侯选码 答:1) 科电话 科地址 病房科名 床位号 科室 病房 组成 入住 从属 诊治 病人 医生 年龄 性别 工作证号 病历号 姓名 姓名 职称 2)科室(科名,科地址,科电话) 病房(病房号,床位号,科室号)

医生(工作证号,姓名,职称,科室名,年龄)

病人(病历号,姓名,性别,诊治,主管医生,病房号) 3)每个关系模式的侯选码如下: 科室的侯选码是科名

病房的侯选码是科室名+病房号 医生的侯选码是工作证号 病人的侯选码是病历号

10.一个图书馆借阅管理数据库要求提供下述服务:

1)可随时查询书库中现有书籍品种,数量与存放位置,所有各类书记均可由书号惟一标识。 2)可随时查询书记借还情况,包括借书人单位,姓名,借书证号,借书日期和还书日期。

我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 1)当需要时,可通过数据库中保存的出版社的电报编号,电话,邮编及地址等信息向有关书籍的出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社具有惟一性。

根据以上情况和假设,试作如下设计: 1)构造E-R图;

2)转换为等价的关系模式 答:1)E-R图 2)关系模式:

借书人(借书证号,姓名单位)

图书(书号,书名.数量.位置.出版社名) 出版社(出版社名,电报,电话.邮编,地址) 借阅(借书证号,书号.借书日期.还书日期)

姓名 单位 借书证号

借书人 借书日期 借阅 还书日期 出版社名 电报编号 图书 书号 书名 数量 出版 出版社 电话 地址 位置 邮编 一、选择题

2.()可用于描述用户接口、设备控制器和其他具有反馈的子系统,它还可用于描述在生命其中期中跨越多个不同性质阶段的被动对象的行为,在每一个阶段该对象都有自己特殊的行为。 A.状态机视图 B.模型管理视图 C.动态视图 D.静态视图

3.()是对象与其他外部世界相互关联的唯一途径。 A.消息传递 B.状态转换 C.接口 D.函数调用

4.()是在分析模型的基础上,添加了设计元素的结果,使得分析模型更加接近系统实现。

A.领域模型 B.数据模型 C.设计模型 D.概念模型

5.在UML活动图中,()表示活动需要输入的对象或者作为活动的处理结果输出的对象。 A.并发控制 B.决策点 C.对象 D.活动

6.UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,其中()包括构件图,它描述软件系统中各组成构建,构件的内部结构以及构件之间的依赖关系。 A.行为视图 B.构件视图 C.结构视图 D.用例视图

7.在UML顺序图中,如果一条消息从对象a传向对象b,那么其()是一条从b指向a虚线有向边,它表示原消息的处理已经完成,处理结果(如果有的话)沿原消息传回。

A.返回消息 B.创建消息 C.自消息 D.销毁消息

8.在UML中,()可以对模型元素进行有效地组织,如类,用例,构件,从而构成具有一定意义的单元。 A.构件 B.包 C.节点 D.连接

9.()描述软件系统中的构件及构件之间的构成关系和依赖关系。 A.状态图 B.对象图 C.构件图 D.部署图

10.泛化使得()操作成为可能,即操作的实现是由它们所使得的对象的类,而不是由调用者确定的。 A.多重 B.多态 C.传参 D.传值

11.在用例图中,执行者之间的关系只有()一种。 A.扩展 B.包含 C.继承 D.实现

12.以下哪个选项不是状态图中三个常用的活动之一? A.入口动作 B.出口动作 C.动作 D.中间动作 13.如果用例A和用例B相似,但A的动作序列是通过改写B的部分动作或者扩展B的动作而获得的,则称()。 A.用例A包含用例B B.用例A扩展用例B C.用例A继承用例B D.用例A实现用例B

14.UML中所谓的“泛化”可以用以下哪个术语来代替? A.聚合 B.继承 C.抽象 D.封装

15.在UML活动图中,()表示操作之间的信息交换。 A.控制流 B.信息流 C.初始活动 D.活动

16.在Java或C++中,一个______A_仅仅是指一个类提供给其他类的一组操作定义。

A.接口 B.对象 C.抽象类

D.引用(指针)

17.在面向对象程序设计中,对象与对象之间的协作是通过_________机制来实现的。

A.参数传递 B.消息传递 C.深拷贝 D.浅拷贝

18.一般情况下,可以将面向对象中的聚合概念区分为()关系。 A.继承 B.关联 C.组合 D.聚合

19.encapsulation所对应的中文术语是? A.多态 B.封装

C.抽象

D.聚合

20.在可行性分析完成之后,下一步要进行的里程碑事件是? D

A.需求分析 B.详细设计 C.概要设计 D.编程实现

21.在状态图中,()表示两个状态之间的关系;源状态和目的状态。

A.监护条件 B.事件 C.状态 D.转换

22.目前业界主流的软件开发方法是?

A.面向过程 B.面向对象 C.面向用户 D.面向切面

23.以下哪个不是面向对象的概念?

A.封装 B.多态 C.抽象 D.聚类

24.以下哪位不是UML的发明人?

A.James Rumbaugh B.Grady Booch C.Ivar Jacobson D.John Gates

25.________能够使你在现有的UML元素的基础上创建新的元素

A.关键字 B.构造型 C.关联 D.继承

26.________和_________都能够表示对象之间的交互,因此他们被合称为交互图。

A.顺序图、类图 B.协作图、状态图 C.顺序图、协作图 D.类图、状态图

27.________是从用户的观察角度收集系统需求的一项屡试不爽的技术

A.类图 B.用例图 C.协作图 D.顺序图

28._______是当今系统开发又一显著特征.

A.长的开发周期 B.短的开发周期 C.低的开发难度 D.高难度开发 29.UML的英文全称是?

A.Unified Modeling Language B.User Manage Language C.Unit Modeling Language D.以上都不对

30.下列对操作描述错误的是()

A.接口可以定义操作 B.类可以定义操作

C.操作可以作为顺序图中的消息 D.对象可以定义操作 31.在UML模型中,类用()表示

A.直角矩形 B.圆角矩形 C.椭圆 D.牛眼睛

32.接口的构造型是()

A.《sign》

B.《interface》 C.《component》 D.《mode》

33.下列哪些选项不可以具有继承关系()

A.类

B.参与者 C.用例 D.活动

34.类图中可以指明哪些信息()

A.属性 B.操作 C.职责

D.以上都可以 35.UML的中文名称是()

A.可扩展标记语言 B.超文本标记语言 C.统一建模语言 D.软件建模语言

36.UML具有4层体系结构,下列哪层不是

A.M0 B.M1 C.M2 D.M3 E.M4

37.包图可以体现包的多种关系,下列那个不是

A.继承 B.重载 C.依赖 D.细化

38.设计视图的静态方面采用( )表现

A.交互图

B.类图和对象图 C.状态图 D.活动图

39.用例试图的静态方面由( )来表现

A.用例图 B.交互图 C.状态图 D.活动图

40.常用的UML工具有很多,下列哪个不是

A.rose

B.powerdesign C.visio D.vss

41.在UML中面向对象的概念有很多,下列哪个不是

A.抽象 B.继承 C.封装 D.线程

42.下列对“瀑布”开发方法描述错误的是()

A.开发过程被分割开来

B.不利于在项目开发过程对问题的逐步理解

C.分析、设计、编码和部署阶段是一个接一个顺序进行的 D.强调无缝连接

43.GRAPPLE由5个段组成,分别是()

A.需求收集、分析、设计、开发、部署

B.领域分析、充实用例、测试设计、编码、部署 C.需求分析、设计、开发、测试、部署 D.需求分析、设计、编码、部署、庆祝

44.下列()不是UML提供的扩展机制

A.构造型 B.标记值 C.约束 D.模型

45.对UML层级M0~M3描述正确的是

A.运行时实例、模型、元模型、元元模型 B.模型、运行时实例、元模型、元元模型 C.元元模型、元模型、模型、运行时实例 D.元元模型、元模型、运行时实例、模型 46.下列对包描述错误的是()

A.包图描述一个过程或者操作的工作步骤 B.包是用来对图的元素进行分组 C.包为一组元素提供了一个命名空间 D.包图对UML中的其他图提供支持

47.在UML1.X中,部署图中所使用的图元不包括()

A.构件 B.节点 C.关系 D.信号

48.下列对部署图描述正确的是()

A.描述一个过程或者操作的工作步骤 B.描述对象之间的交互

C.描述最终系统的硬件设置以及和硬件相关的各项事宜 D.描述单个对象的状态变化 49.在构件图中,构件用()表示

A.凹角五边形

B.左侧有两个小矩形的大矩形框 C.圆角矩形 D.立方体

50.在构件图中,可以表示的关系不包括()

A.继承 B.依赖 C.聚集 D.注释

51.在UML1.X中,构件图中所使用的图元不包括()

A.构件 B.接口 C.泛化 D.多对象

52.在构件图中,一个构件替换另一个构件的条件()

A.新构件符合旧构件的接口 B.旧构件符合新构件的接口 C.新构件和旧构件名称相同

D.构件可以任意替换,不许任何条件 53.下列对构件图描述错误的是()

A.软件构件是软件系统的一个物理单元

B.在UML1.X,数据文件、表格、可执行文件、文档、和动态链接库等都被定义为构件

C.构件提供和其他构件之间的接口 D.构件图包含构件、接口、关系和泳道 54.在活动图中,下列关于泳道描述正确的是()

A.泳道用来表示活动发生的顺序 B.泳道用来表示活动的迁移

C.泳道表达出图中的各个活动分别由哪些对象负责 D.泳道用来表示if条件

55.在活动图中,接收信号用()表示

A.凸角五边形 B.凹角五边形 C.圆角矩形 D.直角矩形

56.在活动图中,发送信号用()表示

A.凸角五边形 B.凹角五边形 C.圆角矩形 D.直角矩形

57.在UML1.X中,活动图中所使用的图元不包括()

A.判定 B.参与者 C.信号 D.活动

58.在活动图中,活动用()表示

A.凸角五边形 B.凹角五边形 C.圆角矩形 D.直角矩形

59.下列对活动图描述错误的是()

A.活动图被设计用于简化描述一个过程或者操作的工作步骤 B.活动图和旧的流程图很类似

C.活动图用于描述业务过程和类的操作

D.活动图显示出工作步骤、判定点和用例

说明:(应该是显示出工作步骤、判定点和分支) 60.在UML1.X中,协作图中所使用的图元不包括()

A.对象 B.消息 C.消息序号 D.活动

61.在协作图中,消息发生的顺序如何表示()

A.可以在消息名前面加上消息的序号 B.用生命线表示 C.从左到右依次发生 D.从右到左依次发生

62.下列对顺序图和协作图的关系描述错误的是()

A.顺序图和协作图在语义上是等价的

B.顺序图和协作图不可以相互转换 (顺序图可以转换为等价的协作图)

C.协作图强调的是交互的语境和参与交互的对象的整体组织 D.顺序图强调的是交互的时间顺序

63.在UML1.X中,下列对顺序图描述错误的是()

A.顺序图说明了对象经历的变化 (应该是状态图) B.顺序图的关键思想是对象之间的交互按照特定的顺序发生 C.顺序图强调的是交互的语境和参与交互的对象的整体组织 D.顺序图强调的是交互的时间顺序

64.在UML1.X中,顺序图中消息的类型用()表示

A.箭头的形状 B.构造型 C.直线的类型 D.箭头的方向

65.在UML1.X中,顺序图中所使用的图元不包括()

A.对象 B.消息 C.时间 D.用例

66.在顺序图中,消息的类型不包括()

A.同步消息 B.异步消息 C.返回消息 D.传递消息 二、多选题

1.UML中的保护条件相可应用在下列哪些视图中

A.状态图 B.对象图 C.顺序图 D.活动图

2.状态图中常用的动作有

A.动作 B.入口动作

C.出口动作 D.触发动作

3.UML中表示类之间“关系”的视图有

A.关联 B.泛化 C.依赖 D.实现

4.用例描述中包含的内容有

A.发起用例的参与者 B.用例的前置条件 C.用例的后置条件

D.从用例中获益的参与者 5.类之间的关系包括

A.链 B.继承 C.多重性 D.聚集

6.完整的类可视化表示包括元素

A.职责和约束 B.属性 C.操作 D.接口

7.通过状态图可以表示下面哪些状态

A.顺序子状态 B.异常状态 C.历史状态 D.并发子状态

8.帧化顺序图,可实现下列哪些动作

A.交互事件 B.历史事件

C.可选操作(alt) D.并列操作(par)

9.根据GRAPPLE开发方法,需求收集阶段要做的工作有哪些

A.发现领域过程 B.领域分析 C.发现系统需求 D.制定部署计划

10.包之间的关系有下面哪几种

A.接口 B.泛化 C.依赖 D.细化

11.下面哪些UML视图属于结构元素

A.构件 B.包 C.泛化 D.顺序

12.下面UML图形属于行为元素

A.类 B.节点 C.协作图 D.状态图 三、判断题

1.用例图中包含关系是指一个用例继承了另一个用例 错

2.顺序图中每个对象向下方向伸展的虚线是对象的生命线 对

3.协作图是对象图的扩展 对

4.只有状态图采用泳道 错

5.部署图一般把节点分成处理器和外部软件 错

6.协作图和顺序图是等价的 对

7.一台计算机有很多零部件,例如:键盘,鼠标,主板,显示器等等,我们可以用一个聚集图来描述,也就是说计算机是一个聚集体 对

8.对象之间协作可以通过相互发送消息来实现,也就是消息可以是双向的 对

9.GRAPPLE把开发过程分为3个段,每个段之中又由许多动作组成 错 10.状态图中3个常用的动作是入口动作、出口动作和do动作,也就是对象处于这个状态时应该做什么。 对

11.收集用例的方法可以采用交谈 对

12.在找出了类的继承关系后,通常可以用调用来表示最上层的基类

13.顺序图所表达的是基于时间顺序的动态交互 对

14.用例是从用户的观点对系统行为的一个描述 对

15.UML无法体现历史状态

16.状态图中状态一般分成顺序子状态和随机子状态 错

17.状态图是以实心圆点开头,以公牛眼结束的 对

18.状态图可以描述对象状态的变化过程

19.注解是UML中的解释元素 对

20.包是UML中唯一分组元素 对

21.用例包括了包含用例和随机用例 错

22.在画类图时,属性或操作如果是public的,可以用“+”表示,protected用“#”表示,private用“-”表示 对

23.棒糖图实际上就是接口图 对

24.组成是强类型的聚集 对

四、简答题

1.现有一家大型企业因业务需要和提高企业的竞争力委托您所在的软件公司开发一套全新的且符合该企业业务处理风格的业务支撑系统.您作为该系统的分析人员是如何发现用例的,请依次写出发现用例的步骤.

2.某企业委托您开发其内部的运营支撑平台软件,请您使用UML 9种视图对系统平台进行分析与设计,阐述这9种视图的作用.

1、用例图

说明的是谁要使用系统以及使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

2、活动图

能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

3、状态图

UML9种图中状态图可以捕获对象、子系统和系统的生命周期。它们可以告知一个对象可以拥有的状态,并且事件(如消息的接收,时间的流逝、错误、条件为真等)会怎样随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标志状态和复杂行为的类;该图可以确定类的行为以及该行为如何根据当前的状态而变化,也可以展示哪些事件将会改变类的对象的状态。

4、顺序图

也叫做序列图是用来显示参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即消息是如何在对象之间被发送和接收的。

5、类图

能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。一个类图根据系统中的类以及各个类之间的关系描述系统的静态视图。

6、对象图

UML9种图中对象图与类图极为相似,只是它描述的不是类之间的关系。 7、协作图

可以看成类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此的通信方式。

8、组件图

UML9种图组件图用来建模软件的组织以及其相互之间的关系。这些图由组件标记符和组件之间的关系构成。在组件图中,组件是软件的单个组成部分,它可以是一个文件、产品、可执行文件和脚本等。

9、部署图

用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。

3.UML语言定义了五种类型不同的图,把它们有机的结合起来就可以描述系统的所有视图,请列举出这些图形名称,并简要描述它们的作用

用例图(Use case diagram) 从用户角度描述系统功能,并指出各功能的操作者。

静态图(Static diagram),表示系统的静态结构。包括类图、对象图、包图。

行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。

交互图(Interactive diagram), 描述对象间的交互关系。包括顺序图、合作图。

实现图( Implementation diagram ) 用于描述系统的物理实现。包括构件图、部件图。

4.请分点叙述UML的特点。 (1) 统一标准

UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。 (2) 面向对象

UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。

(3) 可视化、表示能力强

系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。

(4) 独立于过程

UML是系统建模语言,独立于开发过程。 (5) 易掌握、易用

由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。

5.在系统模型中为什么要使用多种UML图? 答:任何系统都有多种风险承担人。每种UML图都提供了用于和一种或者几种风险承担人对话的视图。

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

微信扫码分享

《数据库应用题库.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top