您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页习题集

习题集

来源:易妖游戏网
基本题1

一、单项选择题

1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据性最高的是▁▁▁▁阶段。

A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 A

2.数据库系统与文件系统的主要区别是▁▁▁▁。 A.数据库系统复杂,而文件系统简单

B.文件系统不能解决数据冗余和数据性问题,而数据库系统可以解决 C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 B

3.数据库的概念模型于▁▁▁▁。

A.具体的机器和DBMS B.E—R图 C.信息世界 D.现实世界 A

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

A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合 A.命令系统 B.数据库管理系统 C.数据库系统 D.操作系统 A.文件系统 B.数据库系统 C.软件系统 D.数据库管理系 B B C

5.数据库的基本特点是▁▁▁▁。

A.数据可以共享、数据性、数据冗余大,易移植、统一管理和控制 B.数据可以共享、数据性、数据冗余小,易扩充、统一管理和控制 C.数据可以共享、数据互换性、数据冗余小,易扩充、统一管理和控制 D.数据非结构化、数据性、数据冗余小,易扩充、统一管理和控制 B

6.数据库具有▁▁▁▁、最小的▁▁▁▁和较高的▁▁▁▁。

A.程序结构化 B.数据结构化 C.程序标准化 D.数据模块化 A.冗余度 B.存储量 C.完整性 D.有效性 A.程序与数据可靠性 B.程序与数据完整性 C.程序与数据性 D.程序与数据一致性 B A C

7.在数据库中,下列说法▁▁▁▁是不正确的。 A.数据库避免了一切数据的重复

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

8.▁▁▁▁是存储在计算机内有结构的数据的集合。

A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 B

9.在数据库中存储的是▁▁▁▁。

A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 C

10. 数据库中,数据的物理性是指▁▁▁▁。 A.数据库与数据库管理系统的相互 B.用户程序与DBMS的相互

C.用户的应用程序与存储在磁盘上数据库中的数据是相互的 D.应用程序与数据库中的数据的逻辑结构相互 C

11.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指▁▁▁▁。 A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件

D.多种应用、多种语言、多个用户相互覆盖地使用数据集合 D

12.数据库系统的核心的是▁▁▁▁。

A.数据库 B.数据库管理系统 C.数据模型 D.软件工具 B

13.下述关于数据库系统的正确叙述是▁▁▁▁。 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 A

14.下述关于数据库系统的正确叙述是▁▁▁▁。 A.数据库中只存在数据项之间的联系

B.数据库的数据项之间和记录之间都存在联系 C.数据库的数据项之间无联系,记录之间存在联系 D.数据库的数据项之间和记录之间都不存在联系 B

15.相对于其他数据管理技术,数据库系统有▁▁▁▁、减少数据冗余、保持数据的一致性、▁▁▁▁和▁▁▁▁的特点。

A.数据共享 B.数据模块化 C.数据结构化 D.数据共享 A.数据结构化 B.数据无性 C.数据统一管理 D.数据有 A.使用专用文件 B.不使用专用文件

C.数据没有安全与完整性保障 D.数据有安全与完整性保障 D D D 16.数据库技术中采用分级方法将数据库的结构划分成多个层次,是为了提高数据库的▁▁▁▁和▁▁▁▁。

A.数据性 B.逻辑性 C.管理规范性 D.数据的共享 A.数据性 B.物理性 C.逻辑性 D.管理规范性 B B

17.在数据库技术中,为提高数据库的逻辑性和物理性,数据库的结构被划分成用户级、▁▁▁▁和存储级三个层次。

A.管理员级 B.外部级 C.概念级 D.内部级

C

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

A.文件的集合 B.数据的集合 C.命令的集合 D.程序的集合 A.命令系统 B.数据库系统 C.操作系统 D.数据库管理系统 A.数据库系统 B.数据库管理系统 C.文件系统 D.软件系统 B D A

19.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是▁▁▁▁。

A.DBS包括DB和DBMS B.DBMS包括DB和DBS

C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS A

20.▁▁▁▁可以减少相同数据重复存储的现象。

A.记录 B.字段 C.文件 D.数据库 D

21.在数据库中,产生数据不一致的根本原因是▁▁▁▁。

A.数据存储量大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 D

22.数据库管理系统(DBMS)是▁▁▁▁。

A.一个完整的数据库应用系统 B.应用软件 C.一组软件 D.既有硬件也有软件 C

23.数据库管理系统(DBMS)是▁▁▁▁。

A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件 D

24.数据库管理系统(DBMS)的主要功能是▁▁▁▁。

A.个性数据库 B.定义数据库 C.应用数据库 D.保护数据库 B

25.数据库管理系统的工作不包括▁▁▁▁。

A.定义数据库 B.对已定义的数据库进行管理 C.为定义的数据库提供操作系统 D.数据通信 C

26.数据库管理系统中用于定义和描述数据库逻辑结构的语言称为▁▁▁▁。

A.数据库模式描述语言 B.数据库子语言 C.数据操纵语言 D.数据结构语言 A

27.▁▁▁▁是存储在计算机内的有结构的数据集合。

A.网络系统 B.数据库系统 C.操作系统 D.数据库 D

28.数据库系统的核心是▁▁▁▁。

A.编译系统 B.数据库 C.操作系统 D.数据库管理系统 D

29.数据库系统的特点是▁▁▁▁、数据、减少数据冗余、避免数据不一致和加强了数据保护。

A.数据共享 B.数据存储 C.数据应用 D.数据保密

A

30.数据库系统的最大特点是▁▁▁▁。

A.数据的三级抽象和二级性 B.数据共享性 C.数据的结构化 D.数据性 A

31.数据库系统是由▁▁▁▁组成;而数据库应用系统是由▁▁▁▁组成。 A.数据库管理系统、应用程序系统、数据库 B.数据库管理系统、数据库管理员、数据库 C.数据库系统、应用程序系统、用户 D.数据库管理系统、数据库、用户 B C

32.数据库系统由数据库、▁▁▁▁和硬件等组成,数据库系统是在▁▁▁▁的基础上发展起来的。数据库系统由于能减少数据冗余,提高数据性,并集中检查▁▁▁▁,由此获得广泛的应用。数据库提供给用户的接口是▁▁▁▁,它具有数据定义、数据操作和数据检查功能,可使用,也可嵌入宿主语言使用。▁▁▁▁语言已被国际标准化组织采纳为标准的关系数据库语言。

A.操作系统 B.文件系统 C.编译系统 D.数据库管理系统 A.操作系统 B.文件系统 C.编译系统 D.数据库管理系统 A.数据完整性 B.数据层次性 C.数据的操作性 D. 数据兼容性 A.数据库语言 B.过程化语言 C.宿主语言 D.面向对象语 A.QUEL B.SEQUEL C.SQL D.ALPHA D B A A C

33.数据的管理方法主要有▁▁▁▁。

A.批处理和文件系统 B.文件系统和分布式系统 C.分布式系统和批处理 D.数据库系统和文件系统 D

34.数据库系统和文件系统的主要区别▁▁▁▁。 A.数据库系统复杂,而文件系统简单

B.文件系统不能解决数据冗余和数据性问题,而数据库系统能够解决 C.文件系统只能管理文件,而数据库系统还能管理其他类型的数据 D.文件系统只能用于小型、微型机、而数据库系统还能用于大型机

B

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

A. 数据定义功能 B.数据管理功能 C. 数据操纵功能 D.数据控制功能

C

36.数据库管理系统是▁▁▁▁。

A.操作系统的一部分 B.在操作系统支持下的系统软件 C.一种编译程序 D.一种操作系统

B

37.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是▁▁▁▁▁。

A.外模式 B.内模式 C.存储模式 D.模式

D

38.数据库系统的数据性是指▁▁▁▁▁。 A.不会因为数据的变化而影响应用程序

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

D.不会因为某些存储结构的变化而影响其他的存储结构

B

39.为使程序员编程时既可使用数据库语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到▁▁▁▁中。

A.编译程序 B.操作系统 C.中间语言 D.宿主语言

D

40.在数据库系统中,通常用三级模式来描述数据库,其中▁▁▁▁是用户与数据库的接口,是应用程序可见到的数据描述,▁▁▁▁是对数据整体的▁▁▁▁的描述,而▁▁▁▁描述了数据的▁▁▁▁。

A.外模式 B.概念模式 C.内模式 D.逻辑结构 E.层次结构 F.物理结构 A.外模式 B.概念模式 C.内模式 D.逻辑结构 E.层次结构 F.物理结构 A.外模式 B.概念模式 C.内模式 D.逻辑结构 E.层次结构 F.物理结构 A.外模式 B.概念模式 C.内模式 D.逻辑结构 E.层次结构 F.物理结构 A.外模式 B.概念模式 C.内模式 D.逻辑结构 E.层次结构 F.物理结构 A B D C F

41.应用数据库的主要目的是为了▁▁▁▁。 A.解决保密问题

B.解决数据完整性问题 C.共享数据问题

D.解决数据量大的问题 C

42.数据库应用系统包括▁▁▁▁。

A数据库语言、数据库 B.数据库、数据库应用程序 C.数据管理系统、数据库 D.数据库管理系统 B

43.实体是信息世界中的术语,与之对应的数据库术语为▁▁▁▁。 A.文件 B.数据库 C.字段 D.记录

D

44.层次型、网状型和关系型数据库划分原则是▁▁▁▁。

A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系

D

45.按照传统的数据模型分类,数据库系统可以分为三种类型▁▁▁▁▁。 A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体

C

46.数据库的网状模型应满足的条件是▁▁▁▁▁。 A.允许一个以上的无双亲,也允许一个结点有多个双亲 B.必须有两个以上的结点

C.有且仅有一个结点无双亲,其余结点都只有一个双亲

D.每个结点有且仅有一个双亲

A

47.在数据库的非关系模型中,基本层次联系是▁▁▁▁。 A.两个记录型以及它们之间的多对多联系 B.两个记录型以及它们之间的一对多联系 C.两个记录型之间的多对多的联系 D.两个记录之间的一对多的联系

B

48.数据模型用来表示实体间的联系,但不同的数据为管理系统支持不同的数据模型。 在常用的模型中,不包括▁▁▁▁。

A.网状模型 B.链状模型 C.层次模型 D.关系模型 B

49.数据库可按照数据分成下面三种:

⑪ 对于上层的一个记录,有多个下层记录与之对应,对于下层的一个记录,只有一个上层记录与之对应,这是▁▁▁▁数据库。

⑫ 对于上层的一个记录,有多个下层记录与之对应,对于下层的一个记录,也有多个上层记录与之对应,这是▁▁▁▁数据库。

⑬ 不预先定义固定的数据结构,而是以“表”结构来表达数据之间的相互关系,这是▁▁▁▁数据库。

A.关系型 B.集中型 C.网状型 D.层次型 A.关系型 B.集中型 C.网状型 D.层次型 A.关系型 B.集中型 C.网状型 D.层次型 D C A

50.一个数据库系统必须能够表示实体和关系,关系可与▁▁▁▁实体有关。实体与实体之间的关系有一对一、一对多、和多对多三种,其中▁▁▁▁不能描述多对多的联系。

A. 0个 B. 1个 C.2个或2个以上 D. 1个或1个以上 A. 关系模型 B. 层次模型 C. 网状模型 D. 网状模型和层次模型 D B

51.按所使用的数据模型来分,数据库可分为▁▁▁▁三种模型。 A.层次、关系和网状 B.网状、环状和链状 C.大型、中型和小型 D.独享、共享和分时 A

52.通过指针链接来表示和实现实体之间联系的模型是▁▁▁▁。

A.关系模型 B.层次模型 C.网状模型 D.层次和网状模型 D

53.层次模型不能直接表示▁▁▁▁。

A.1:1关系户 B.1:m关系

C.M:N关系 D.1:1和1:M关系 C

54.关系数据模型▁▁▁▁。 A.只能表示实体间的1:1联系 B.只能表示实体间的1:N联系 C.只能表示实体间的M:N联系 D.可以表示实体间的上述三种联系

D

55.从逻辑上看关系模型是用▁▁▁▁表示记录类型的,用▁▁▁▁表示记录类型之间的联系;层次与网状模型是用▁▁▁▁表示记录类型,用▁▁▁▁表示记录类型之间的联系。从物理上看关系是▁▁▁▁,层次与网状模型是用▁▁▁▁来实现两个文件之间的联系。

A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A.表 B.结点 C.指针 D.连线 E.位置寻址 F.相联寻址 A A B D F C

56.在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是▁▁▁▁▁▁。

A.层次结构 B.二维表结构 C.网状结构 D.封装结构 B

57.子模式是▁▁▁▁▁.

A.模式的副本 B.模式的逻辑子集 C.多个模式的集合 D.以上三者都对 B

58.在数据库三级模式结构中,描述数据库中全体逻辑结构和特性的是▁▁▁▁▁。 A.外模式 B.内模式 C.存储模式 D.模式 D

59.数据库三级模式体系结构的划分,有利于保持数据库的▁▁▁▁▁。

A.数据性 B.数据安全性 C.结构规范化 D.操作可行性 A

60.数据库技术的奠基人之一e.f.codd从1970年起发表过多篇论文,主要论述的是▁▁▁▁。

A.层次数据模型 B.网状数据模型 C.关系数据模型 D.面向对象数据模型 C

二、填空题

1.经过处理和加工提炼而用于决策或其他应用活动的数据称为▁▁▁▁。 信息

2.数据管理技术经过了▁▁▁▁▁▁、▁▁▁▁▁▁和▁▁▁▁▁▁三个阶段。 人工管理 文件系统 数据库系统

3.数据库系统一般是由▁▁▁▁▁▁、▁▁▁▁▁▁、▁▁▁▁▁▁、▁▁▁▁▁▁和▁▁▁▁▁▁组成。

硬件系统 数据库集合 数据库管理系统及相关软件 数据库管理员 用户 4.数据库是长期存储在计算机内、有▁▁▁▁▁▁的、可▁▁▁▁▁▁的数据集合。 组织 共享

5.DBMS是指▁▁▁▁▁▁▁▁它是位于▁▁▁▁▁▁和▁▁▁▁▁▁之间的一层管理软件。

数据库管理系统 用户 操作系统

6.DBMS管理的是▁▁▁▁▁的数据。 结构化

7.数据库管理系统的主要功能有▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁、数据库的运行管理和数据库的建立以及维护等4个方面。

数据定义功能 数据操纵功能

8.数据库管理系统包含的主要程序有▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁。

语言翻译处理程序 系统运行控制程序 实用程序

9.数据库语言包括▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁两大部分,前者负责描述和定义数据库的各种特性,后者用于说明对数据进行的各种操作。

数据描述语言 数据操纵语言 10.指出下列缩写的含义: ⑪ DML ⑫ DBMS ⑬ DDL ⑭ DBS ⑮ SQL ⑯ DB ⑰ DD ⑱ DBA ⑲ SDDL ⑳ PDDL

①数据操纵语言 ②数据库管理系统 ③数据描述语言 ④数据库系统 ⑤结构化查询语言 ⑥数据库

⑦数据字典 ⑧结构化查询语言 ⑨子模式数据描述语言 ⑩物理数据描述语言 11.数据库系统包括数据库▁▁▁▁▁▁、▁▁▁▁▁▁和▁▁▁▁▁▁▁▁三个方面。 相应硬件 软件 相关的各类人员

12.开发、管理和使用数据库的人员主要有▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁和最终用户四类相关人员。

数据库管理员 系统分析员 应用程序员

13.由▁▁▁▁▁▁▁▁负责全面管理和控制数据库系统。 数据库管理员

14.数据库系统与文件系统的本质区别在于▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

数据库系统实现了整体数据的结构化

15.数据性是指▁▁▁▁▁▁▁▁▁▁与▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁是相互的。

用户的应用程序 存储在外存上的数据库中的数据

16.数据性又可分为▁▁▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁▁▁。 逻辑数据性 物理数据性

17.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的▁▁▁▁▁▁▁▁。

物理性

18.数据模型质量的高低不会影响数据库性能的好坏,这句话正确否?▁▁▁▁▁。 不正确

19.根据数据模型的应用目的不同,数据模型分为▁▁▁▁▁▁和▁▁▁▁▁▁。 概念模型 数据模型

20.数据模型由▁▁▁▁▁▁▁、▁▁▁▁▁▁▁和▁▁▁▁▁▁▁三部分组成的。 数据结构 数据操作 完整性约束

21.按照数据结构的类型来命令,数据模型分为▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁。

层次模型 网状模型 关系模型

22.▁▁▁▁▁▁▁▁是对数据系统的静态特性的描述,▁▁▁▁▁▁▁▁是对数据库系统的动态特性的描述。

数据结构 数据操作

23.以子模式为框架的数据库是▁▁▁▁▁▁▁▁;以模式为框架子的数据库是▁▁▁▁▁▁▁▁;以物理模式为框架的数据库是▁▁▁▁▁▁▁▁。

用户数据库 概念数据库 物理数据库

24.非关系模型中数据结构的基本单位是▁▁▁▁▁▁▁▁▁▁▁。 基本层次联系

25.层次数据模型中,只有一个结点,无父结点,它称为▁▁▁▁▁。 根

26.层次模型的物理存储方法一般采用▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁。 顺序法 指针法

27.层次模型是一个以记录类型为结点的有向树,这句话是否正确?▁▁▁▁▁。 正确

28.层次模型中,根结点以外的结点至多可有▁▁▁▁个父结点。 1

29.关系模型是将数据之间的关系看成网络关系,这句话是否正确?▁▁▁▁▁。 不正确

30.关系数据库是采用▁▁▁▁▁▁▁作为数据的组织方式。 关系模型

31.数据描述语言的作用是▁▁▁▁▁▁▁。 定义数据库

32.数据库体系结构按照▁▁▁▁▁▁、▁▁▁▁▁▁和▁▁▁▁▁▁三层结构进行组织。

模式 外模式 内模式 33.外模式是▁▁▁▁▁的子集。 模式

34.数据库的模式有▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁两方面,前者直接与操作系统或硬件联系,后者是数据库数据的完整表示。

存储模式 概念模式

35.现实世界的事物反映到人的头脑中经过思维加工成数据,这一过程要经过三个领域,依次是▁▁▁▁▁▁▁▁、▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁。

现实世界 信息世界 计算机世界(或数据世界)

36.实体间的联系可抽象为三类,它们是▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。 1:1 1:M M:N

37.数据冗余可能导致的问题有▁▁▁▁▁▁▁▁▁▁▁▁和▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

浪费存储空间及修改麻烦 潜在的数据不一致性

38.从外部视图到子模式的数据结构的转换是由▁▁▁▁▁▁▁▁实现的;模式与子模式之间的映象是由▁▁▁▁▁▁▁▁实现的;存储模式与数据物理组织之间的映象是由▁▁▁▁▁▁▁▁▁▁▁▁▁实现的。

应用程序 DBMS 操作系统的存取方法

习题1

1.从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系? 答:

⑪ 文件系统和数据库系统之间的区别是:

文件系统 数据库系统

———————————————————————————————————— 用文件将数据长期保存在外存上 用数据库统一存储数据 程序和数据有一定的联系 程序和数据分离

用操作系统中的存取方法对数据进行管理 用DBMS统一管理和控制数据

实现以文件为单位的数据共享 实现以记录和字段为单位的数据共享 ⑫ 文件系统和数据库系统之间的联系是:

均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展而来的。

2.什么是数据库?

答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据性和易扩展性。

3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余? 答:数据冗余是指各个数据文件中存在重复的数据。

在文件管理系统中,数据被组织在一个个的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。数据文件之间没有联系,数据文件是面向应用程序的。每个应用都有拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。

数据库系统以数据库方式管理大量共享的数据。数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。数据库系统中的数据具有共享性。数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。

4.作用数据库系统有什么好处? 答:使用数据库系统的好处是:

查询迅速、准确,而且可以节约大量纸面文件; 数据结构化,并由DBMS统一管理; 数据冗余度小;

具有较高的数据性; 数据的共享性好;

DBMS还提供了数据的控制功能。

5.什么是数据库的数据性?

答:数据性表示应用程序与数据库中存储的数据不存在领带关系,包括逻辑数据性和物理数据性。

逻辑数据性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。

物理数据性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法。

数据性的好处是,数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。

6.什么是数据库管理系统? 答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。

一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。

⑪数据描述语言(DDL)

数据描述语言对应数据库系统的三级模式(外模式、概念模式和内模式)分别有三种不同的 DDL:外模式DDL和内模式DDL,它们是专门提供给DBA使用的,一般用户不必去关心。

外模式DDL是专门定义外视图的,外视图是用户观点的数据库描述,它是数据库的局部逻辑结构。

概念模式DDL是用来描述概念视图的专用语言。概念视图是数据库的全局逻辑结构,它包括数据库中所有元素的名称、特征及其相互关系的描述,并包括数据的安全保密性和完整性以及存储安排、存取路径等信息。

内模式DDL是用来定义内视图的数据描述语言。内视图是从物理层中分离出来的,但不是物理视图。虽然它有存储记录和块的概念,但它不受任何存储设备和设备规格(如柱面大小、磁道容量等)的。它包括对存储记录类型、索引方法等的描述。

⑫数据操纵语言(DML)

数据操纵语言是用户与DBMS之间的接口,是用户用于存储、控制检索和更新数据库的工具。

DML由一组命令语句组成,这些语句可分为4类。

存储语句 用户使用存储语句向数据库中存放数据。系统给出新增数据库记录的数据库码,并分配相应的存储空间。

控制语句 用户通过这类语句向DBMS发出使用数据库的命令,使数据库置于可用状态。操作结束后,必须使用关闭数据库的命令,以便对数据库的数据进行保护。

检索语句 用户通过这类语句把需要检索的数据从数据库中选择出来传至内存,交给应

用程序处理。

更新语句 用户通过这组更新语句完成对数据库的插入、删除和修改数据的操作。 ⑬数据库管理的例行程序

数据库管理的例行程序随系统而异。一般来说,它通常由下列三部分组成。

语言翻译处理程序 包括 DDL翻译程序、DML处理程序、终端查询语言解释程序、数据库控制语言的翻译程序等。

公用程序 定义公用程序和维护公用程序。定义公用程序包括信息格式定义、概念模式定义、外模式定义和保密定义公用程序等。维护公用程序包括数据装入、数据库更新、重组、重构、恢复、统计分析、工作日记、转储和打印公用程序等。

系统运行控制程序 包括数据存取、更新、有效性检验、完整性保护程序、并发控制、数据库管理、通信控制程序等。

7.数据库管理系统有哪些功能?

答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面:

数据定义功能 DBMS提供数据描述语言(DDL),用户可通过它来定义数据。 数据操纵功能 DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。

数据库的运行管理 这是DBMS运行时的核心部分,它包括开发控制,安全性检查,完整性约束条件的检查和执行,数据库的内容维护等。

数据库的建立和维护功能 它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。

8.DBA的职责是什么? 答:DBA的职责是:

决定DB中的信息内容和结构; 决定DB的存储结构和存取策略;

定义数据的安全性要求和完整性约束条件; 临近数据库的使用和运行。

9.什么是数据字典?数据字典包含哪些基本内容?

答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具。数据字典的基本内容有:

数据项 描述实体的一个属性,每个数据项都有自己的专有名称。

组项 为若干个数据项的组合,它们是相互关联的数据项。组项的名称也必须具有唯一性。

记录 若干个数据项和组项的集合,它是对一个实体的完整性的描述。 文件 记录值的集合。

外模式 用户视图(外视图)的定义。它是用外模式DLL写成的一组专用语句。 概念模式 描述数据库所含实体、实体之间的联系和信息流等。

内模式 数据库存储结构的描述、实体之间的联系和存取方法、物理映象等。 外模式/要领模式映象 描述外模式与概念模式之间信息的对应关系。 概念模式/内模式映象 描述概念模式与内模式之间信息的对应关系。 用户管理信息 如用户应用程序、用户口令和工作区分配等。

数据库控制信息 主要有安全性要求、完整性约束、多个用户使用数据库时的并行管理(并发控制)、数据库副本管理、工作日志文件的维护等。

10.叙述数据字典的主要任务和作用?

答:数据字典的任务就是管理有关数据的信息,所以又称为“数据库的数据库”。它的任务主要有:

⑪描述数据库系统的所有对象,并确定其属性。如一个模式中包含的记录型与一个记录型包含的数据项;用户的标识、口令;物理文件名称、物理位置及其文件组织方式等。数据字典在描述时赋给每个对象一个唯一的标识。

⑫描述数据库系统对象之间的各种交叉联系。如哪能个用户使用哪能个子模式,哪能些模式或记录型分配在哪能些区域及对应于哪些物理文件、存储在何种物理设备上。

⑬登记所有对象的完整性及安全性等。 ⑭对数据字典本身的维护、保护、查询与输出。 数据字典的主要作用是:

⑪供数据库管理系统快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、子模式表和模式表等。

⑫供数据库管理员查询,以掌握整个系统的运行情况。 ⑬支持数据库设计与系统分析。

11.叙述模型、模式和具体值三者之间的联系和区别?

答:数据模型是用来表示住处世界中的实体及其联系在数据世界中的抽象描述,它描述的是数据的逻辑结构。模式的主体就是数据库的数据模型。数据模型与模式都属于型的范畴。所谓型:是指只包含属性的名称,不包含属性的值,而所谓值:是型的具体实例值,即赋了值的型(在visual foxpro中,型就是数据库表的结构,而值就是数据库表中存储的记录)。

12.什么是层次模型?

答:在数据库中,把满足以下两个条件的基本层次联系的集合称为“层次模型”: ⑪ 有且公有一个结点无双亲,这个结点称为“根结点”; ⑫ 其他结点有且仅有一个双亲。

13.什么是网状模型?

答:在数据库中,把满足以下两个条件的基本层次结构的集合称为“网状模型”: ⑪ 允许一个以上结点无双亲; ⑫ 一个结点可以有多个双亲。

14.简要叙述关系数据库的优点?

答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干,”只需说明“干什么”,易懂易学。

15.层次模型、网状模型和关系模型等三种基本数据模型是根据什么来划分的? 答:数据模型是现实世界中各种实体之间存在着联系的客观反映,是用记录描述实体信息的基本结构,它要求实体和记录一一对参应;同一记录类型描述同一类实体且必须是同质的。目前应用在数据库技术中的模型有关系、网状和层次模型,它们是依据描述实体与实

之间联系的不不同方式来划分的;用二维表格来表示实体和实体之间联系的模型叫做关系模型;用图结构来表示实体和实体之间联系的模型叫做网状模型;用树结构来表示实体和实体之间联系的模型叫做模型。

16.层次模型、网状模型和关系模型这三种基本数据模型各有哪些优缺点? 答:层次模型的优点是:

结构清晰,表示各结点之间的联系简单;

容易表示如“家族关系”等现实世界的层次结构的事物及其之间的联系; 缺点是:

不能表示两个以上实体型之间的复杂联系和实体型之间的多对多联系;

严格的层次顺序使数据插入和删除操作变得复杂,如父结点的删除导致子结点的删除。 网状模型的优点是:

能够表示实体之间的多种复杂联系。 缺点是:

网状模型比较复杂,需要程序员熟悉数据库的逻辑结构; 在重新组织数据库时容易失去数据性。 关系模型的优点是:

使用表的概念,简单直观;

直接表示实体之间的多对多联系; 具有更好的数据性; 具有坚实的理论基础; 缺点是:

关系模型的联结等操作开销较大,需要较高性能计算机的支持。

************************************************************************** 基本题2

一、单项选择题

1.对关系模型叙述错误的是▁▁▁▁▁。

A.建立在严格的数学理论、集合论和谓词演算公式的基础之上 B.微机DBMS绝大部分采取关系数据模型 C.用二维表表示关系模型是其一大特点

D.不具有连接操作的DBMS也可以是关系数据库系统 D

2.关系数据库管理系统应能实现的专门关系运算包括▁▁▁▁▁。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 B

3.关系模型中,一个关键字是▁▁▁▁▁。 A.可由多个任意属性组成 B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是 C 4.在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,

称这个属性为▁▁▁▁▁。

A.关键字 B.数据项 C.主属性 D.主属性值 A

5.同一个关系模型的任两个元组值▁▁▁▁▁▁。 A.不能全同 B.可全同 C.必须全同 D.以上都不是 A

6.在通常情况下,下面的关系中不可以作为关系数据库的关系是▁▁▁▁▁。 A.R1(学生号,学生名,性别) B.R2(学生号,学生名,班级号) C.R3(学生号,学生名,宿舍号) D.R4(学生号,学生名,简历) D

7.一个关系数据库文件中的各条记录▁▁▁▁▁。

A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响库中的数据关系

C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列 B

8.在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。如果W中的元组属于R,或者属于S,则W为▁▁▁▁▁运算的结果。如果W中的元组属于R而不属于S,则W为▁▁▁▁▁运算的结果。如果W中的元组既属于R又属于S,则W为▁▁▁▁▁运算的结果。

A.笛卡尔积 B.并 C.差 D.交 A.笛卡尔积 B.并 C.差 D.交 A.笛卡尔积 B.并 C.差 D.交 B C D 9.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为▁▁▁▁▁;从表中选出满足某种条件的元组的操作称为▁▁▁▁▁;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为▁▁▁▁▁。

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

10.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的▁▁▁▁▁▁。

A.元组 B.行 C.记录 D.属性 D

11.等值连接与自然连接是▁▁▁▁▁。 A.相同的 B.不同的 B

12.设有如下图所示的关系R,经操作

A,B(B'b'(R)的运算结果是▁▁▁▁▁。

A B A. A B C B. A B C. A B D. A B C a b c a b c a b a b d a

d a f c b d d a c b c b

c b d C

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

B R1 A C R2 D E M R3 A B C E M a 1 x 1 m i a 1 x m i

c 2 y 2 n j c 2 y m i

d 1 y 5 m k c 2 y n j

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

14.设有属性A,B,C,D,以下表示中不是关系的是▁▁▁▁▁。 A.R(A) B.R(A,B,C,D) C.R(A×B×C×D) D.R(A,B) C

15.设关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是▁▁▁▁▁。

A.R B(S) B.R∪S C.B(R)∪B(S) D.R S

B

16.关系运算中花费时间可能最长的运算是▁▁▁▁▁。

A.投影 B.选择 C.笛卡尔积 D.除 C

17.关系模式的任何属性▁▁▁▁▁。

A.不可再分 B.可再分 C.命名在该关系模式中可以不惟一 D.以上都不是 A

18.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 C

19.关系数据库用▁▁▁▁▁来表示实体之间的联系,其任何检索操作的实现都是由▁▁▁▁▁三种基本操作组合而成的。

A.层次模型 B.网状模型 C.指针链 D.表格数据 A.选择、投影和扫描 B.选择、投影和连接 C.选择、运算和投影 D.选择、投影和比较 D B

20.关系数据库中的关键字是指▁▁▁▁▁。

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

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

21.设有关系R,按条件f对关系R进行选择,正确的是▁▁▁▁▁。 A.R×R B.R FR C. F(R) D.F(R)

C

22.在关系数据模型中,通常可以把▁▁▁▁▁称为属性,而把▁▁▁▁▁称为关系模式。常用的关系运算是关系代数和▁▁▁▁▁。在关系代数中,对一个关系做投影操作后,新关系的元组个数▁▁▁▁▁原来关系的元组个数。用▁▁▁▁▁形式表示实体类型和实体间的联系是关系模型的主要特征。

A.记录 B.基本表 C.模式 D.字段 A.记录 B.记录类型 C.元组 D.元组集 A.集合代数 B.逻辑演算 C.关系演算 D.集合演算 A.小于 B.小于或等于 C.等于 D.大于 A.指针 B.链表 C.关键字 D.表格 D B C B D

二、填空题

1.关系操作的特点是▁▁▁▁▁操作。 集合

2.一个关系模式的定义格式为▁▁▁▁▁。 关系名(属性名1,属性名2,„,属性名n)

3.一个关系模式的定义主要包括▁▁▁▁▁、▁▁▁▁▁、▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。

关系名 属性名 属性类型 属性长度 关键字 4.关系数据库中可命名的最小数据单位是▁▁▁▁▁。 属性名

5.关系模式是关系的▁▁▁▁▁,相当于▁▁▁▁▁。 框架 记录格式

6.在一个实体表示的信息中,称▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁为关键字。 能惟一标识实体的属性或属性组

7.关系代数运算中,传统的集合运算有▁▁▁▁▁、▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。

笛卡尔积 并 交 差

8.关系代数运算中,基本的运算是▁▁▁▁▁、▁▁▁▁▁、▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。

并 差 笛卡尔积 投影 选择

9.关系代数运算中,专门的关系运算有▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁。 选择 投影 连接

10.关系数据库中基于数学上两类运算是▁▁▁▁▁▁和▁▁▁▁▁▁。 关系代数 关系演算

11.传统的集合“并、交、差”运算施加于两个关系时,这两个关系的▁▁▁▁▁▁必须相等,▁▁▁▁▁▁▁▁▁▁必须取自同一个域。

属性个数 相对应的属性值

12.关系代数中,从两个关系中找出相同元组的运算称为▁▁▁▁运算。 交

13.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是▁▁▁▁▁。系关系的外关键字是▁▁▁▁▁,学生关系的主关键字是▁▁▁▁▁,外关键字是▁▁▁▁▁。

系编号 无 学号 系编号

14.关系代数是用对关系的运算来表达查询的,而关系演算是用▁▁▁▁▁▁查询的,它又分为▁▁▁▁▁▁演算和▁▁▁▁▁▁演算两种。

谓词表达 元组关系 域关系

习题2

1.叙述等值连接与自然连接的区别和联系。

答:等值连接表示为RF S,自然连接表示为R S;两者之间的区别和联系如下: 自然连接一定是等值连接,但等值连接不一定是自然连接。

等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。

等值连接不把重复的属性除去;而自然连接要把重复的属性除去。 2.举例说明关系参照完整性的含义。

答:假如有如下图所示的两个关系表,在成绩表中,学号是关键字,课程号是外关键字;在课程表中课程号是关键字,根据关系参照完整性的定义,R2是成绩表,R1是课程表,也就是成绩表中课程号的值或者在课程表中的课程号中能够找到。

学号 姓名 课程号 成绩 课程号 课程名 101 刘军 K5 80 K5 高等数学 212 王丽 K8 76 K8 C语言 221 章华 K9 92 K9 计算机概论 „ „

满足这个条件是必须的,如果不满足,假定成绩表中课程号的值“K20”在课程表中课程号的值中找不到,则该课程号显然是不正确的,这样会造成数据的不一致性。

3.设有如下图所示的关系R和S,计算:

⑪ R1=R-S R S

A B C A B C ⑫ R2=R∪S

a b c b a f ⑬ R3=R∩S

b a f d a d ⑭ R4=R×S

c b d

解:本题各小题的结果如下图所示。 R-S R∪S R∩S R×S

A B C A’ B’ C’ A B C A B C A B C a b c b a f a b c a b c b a f a b c d a d c b d b a f b a f b a f c b d b a f d a d d a d c b d b a f c b d d a d

4.设有如下图所示的关系R,S,计算:

⑪ R1=R-S R S

A B C A B C ⑫ R2=R∪S

a1 b1 c1 a1 b2 c2 ⑬ R3=R∩S

a1 b2 c2 a2 b2 c1 ((R))a2 b2 c1 a1 b3 c2 ⑭ R4=A,BBb1

解:本题各小题的结果如下图所示。 R1 R2 R3 R4 A B C A B A B C A B C a1 b1 a1 b2 c2 a1 b1 c1 a1 b1 c1 a2 b2 c1 a1 b2 c2 a2 b2 c1

a1 b3 c2

5.设有如下图所示的关系R,S和T,计算:

⑪ R1=R∪S R S T ⑫ R2=R-S A B B C A B ⑬ R3=R T d a b b a d b a c c b e R⑭ R4=ACT

d c b d c c ⑮ R5=RA(R) ⑯ R6=

AC(R×T)

解:本题各小题的结果如图2.13所示。

R1 R2 R3 R4 R5 R6 A B A B A B C A B B’ C A A B B’ C a d a d c c c a d b b a b e b b b e b e a d c c b c c c c c c c c a d b d c d a b e c c b a b e b d d c c c b d 6.设有如下图所示的关系R,S,计算: ⑪ R1=R S R A B C S C D E ⑫ R2=RS

[2][2]⑬ R3=BDRS

3 4 7 4 6 5 2 4 7 7 3 3 3 7 4 2 5 3 解:本题各小题的结果如下图所示。

R1 R2 R3 A B C C’ D E A B C D E A B C C’ D E 7 2 3 7 2 3 3 6 7 2 3 7 2 3 3 4 5 4 4 3 3 4 5 4 5 7 2 3

7 2 3 4 5

4 4 3 4 5

7.设有如下图所示的关系R、W和D,计算:

T Y B T Y (R) W D R c d m c d c d n e f ⑫ R2=P5Te(R)

d f n ⑬ R3=R W ⑪ R1=⑭ R4=

Y,TP Q T Y 2 9 2 9 7 7 b a b a g g c e e d e c d f f e f d [2],[1],[6]([3][5](RD))

⑮ R5=R÷D

解:本题各小题的结果如下图所示。

R1 R2 R3 R4 R5 P Q T Y B Q P Y P Q Y T P Q T Y 2 b c d m b 2 d 2 b d c 9 a e f 2 b c d n a 9 f 7 g f e 7 g e f 7 g c d m b 2 f e d 7 g c d n g 7 f g 7 d

8.设有如下图所示的关系S、R,计算: ⑪ R1={t|( u)(S(u)∧R(t)∧t[1]>u[2]∧t[2]≠8)} ⑫ R2={XYZ|((S(XYZ)∨R(XYZ)∧y =2∧z≠1))} R S

A B C A B C

l 2 3 4 5 6

4 5 6 3 2 3

7 8 9 7 8 9

3 2 l

1 2 l

解:本题的计算结果如图下图所示。 R1 R2

A B C A B C

4 5 6 3 2 3

3 2 1 1 2 3

9.设有如下图所示的关系R和S,写出下列元组演算表达式表示的关系。 R S A1 A2 A3 A1 A2 A3 1 a 1 1 a 1 7 f 8 3 a 5 9 e 9 4 c 4 0 e 5 2 b 0

⑪ R1={t| R(t)∧s (t)} ⑫ R2={t|R(t)∧r[2]=a} ⑬ R3={t|( u)(R(t)∧S(u)∧t[1]R1 R2 R3 R4 A1 A2 A3 A1 A2 A3 A1 A2 A3 A3 A1 1 a 1 1 a 1 1 a 1 1 1 3 a 5 3 a 5 5 3 4 c 4 4 4

0 2

10.将关系代数中的五种的基本运算用元组关系演算表达式表示。 解:

⑪ R∪S={t|R(t)∨S(t)} ⑫ R-S={t|R(t)∧ S(t)}

⑬ R×S={t|( u)( v)(R(u)∧S(v)∧t[1],„,t[K1]∧t[K1+1]=v[1]∧„,∧t[K1+K2]=v[K2])}

(假设R为K1元关系,S为K2元关系)

⑭ Πi1,i2,„,ik(R)={t|( u)(R(u)∧t[1]=u[i1]∧t2[2]=u[i2]∧„∧t[k]=u[ik])} ⑮ (R)={t|R(t)∧F’}

(其中,F’是与F等价的公式)

11.设有如下图所示的关系R、S和W,写出下列域演算表达式的结果。 R S W A B C A B C A B C 5 b 1 5 b 6 2 a d 4 a 6 5 d 3 5 b e 1 c 8 2 c 4 4 c f

各域演算表达式的结果如下图所示。

12.将关系代数中的五种基本运算用域关系演算表达式表示(假设R和S都为属性名相同的二元关系)。

13.设有如下图所示的两个关系俄E1和E2,其中E2是从E1中经过关系演算所形成的结果,试给出该出运算表达式。

14.设有如下图所示的三个关系S、C和SC。将不列关系代数表达式用汉语表示出来,并求其结果。

R1=2,6,7(籍贯\"上海\"(S||SC))

R2=2,9,8(S||SC||课程名\"操作系统\"(C)) R3=2,3(S||(1,2(SC)1(C)))

S SC 学号 姓名 年龄 性别 籍贯 学号 课程号 成绩 98601 王晓燕 20 女 北京 98601 C601 90 98602 李 波 23 男 上海 98601 C602 90 98603 陈志坚 21 男 长沙 98601 C603 85 98604 张 兵 20 男 上海 98601 C604 87 98605 张 兵 22 女 武汉 98602 C601 90 98603 C601 75 C 98603 C602 70 课程号 课程名 教师姓名 办公室 98603 C604 56 C601 高等数学 周振兴 416 98604 C601 90 C602 数据结构 刘建平 415 98604 C604 85 C603 操作系统 刘建平 415 98605 C601 95 C604 编译原理 王志伟 415 98605 C603 80 解:

⑪ 检索籍贯为上海的学生的姓名、学号和选修的课程号,其结果为下图中的R1。 ⑫ 检索选修操作系统的学生姓名、课程号和成绩,其结果为下图中的R2。 ⑬ 检索选修了全部课程的学生姓名和年龄,其结果为下图中的R3。

R1 R2 R3 姓名 姓名 课程号 成绩 姓名 年龄 学号 课程号 李 波 98602 C601 王晓燕 C603 85 王晓燕 20 张 兵 98604 C601 张 兵 C603 80 张 兵 98604 C604 15.设有如图2.27所示的三个关系R、S和W,写出如下四个元组演算表达式的结果。 四个元组演算表达式的结果如下图所示。

16.设有如下图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC S# C# GRADE S# SNAME AGE SEX C# CNAME TEACHER 1 K1 83 1 李强 23 男 K1 C语言 王华 2 K1 85 2 刘丽 22 女 K5 数据库 程军 5 K1 92 5 张友 22 男 K8 编译原程军 2 K5 90 理 5 K5 84 5 K8 80 ⑪ 检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 ⑫ 检索年龄大于21岁的男学生学号(S#)和姓名(SNAME)。 ⑬ 检索到少选修“程军”老师所授全部课程的学生姓名(SNAME)。 ⑭ 检索“李强”同学不学课程的课程号(C#)。 ⑮ 检索到少选修两门课程的学生学号(S#)。

⑯ 检索全部学生都选修的课程的课程号(C#)和课程号(SNAME)。 ⑰ 检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 ⑱ 检索选修课程号为K1和K5的学生学号(S#)。 ⑲ 检索选修全部课程的学生姓名(SNAME)。

⑳ 检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

⑴ 检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 本题各个查询语句对应的关系代数表达式表示如下:

17.对于上题的关系S、C和SC,试用元组演算表达式表示下列查询语句。 ⑪ 检索选修课程号为K5的学生学号和成绩。 ⑫ 检索选修课程号为K8的学生学号和姓名。

⑬ 检索选修课程号为“C语言”的学生学号和姓名。 ⑭ 检索选修课程号为K1或K5的学生学号。 ⑮ 检索选修课程号为K1和K5的学生学号。 ⑯ 检索不选修K8课程的学生姓名和年龄。 ⑰ 检索选修全部课程的学生姓名。

⑱ 检索所选修课程包含1号学生所选课程的学生学号。 本题各个查询语句对应的元组演算表达式表示如下:

18.对于上题的关系S、C和SC,试用域演算表达式表示下列查询语句。 ⑪ 检索选修课程号为K5的学生学号和成绩。 ⑫ 检索选修课程号为K8的学生学号和姓名。 本题各个查询语句对应的域演算表达式表示如下:

19.设R和S分别是三元和二元关系,试把表达式:

1,5(2434(RS))

转换成等价的: ⑪ 汉语查询句子 ⑫ 元组表达式 ⑬ 域表达式 解:

⑪ 从R与S的笛卡尔积中选择R的第2列与S的第1列相等或者R的第3列与S的第1列相等的元组并投影R的第1列和S的第2列。

⑫ {t|(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=v[2]∧(u[2]=v[1]∨u[3]=v[1]))} ⑬ {xv| (x)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}

20.设R和S都是二元关系,把元组表达式: {t|R(t)∧(u)(S(u)∧u[1]=t[2])}

转换成等价的: ⑪ 汉语查询句子 ⑫ 关系代数表达式 ⑬ 域表达式 解:

⑪ 从关系R中选取R的第2列与S的第1列中有相同值的元组。 ⑫ 1,2(23(RS))

⑬ {xy|R(xy)∧(u)(S(uv)∧u=y)}

************************************************************************** 基本题3

一.单项选择题

1.SQL语言是▁▁▁▁▁的语言,易学习。

A.过程化 B非过程化 C.格式化 D导航式 B

2.SQL语言是▁▁▁▁▁语言。

A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 C

3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 B

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。

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

5.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 C

6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。

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

7.下列SQL语句中,修改表结构的是▁▁▁▁▁。

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

第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下:

S(S#,SN,SEX,AGE,DEPT)

C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。

8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁▁▁▁。

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 A

9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁▁▁▁。

A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”)

D.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”) D

10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁▁▁。 SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#

B.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.GRADE C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC C

11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是▁▁▁▁▁。

A.SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4 B

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系▁▁▁▁▁。 A.S B.SC,C C.S,SC D.S,C,SC D

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作▁▁▁▁▁不能执行。

职工表 部门表 部门号 部门名 主任 职工号 职工名 部门号 工资 0l 人事处 高平 001 01 580 李红

02 财务处 蒋华 005 0l 670 刘军

03 教务处 许红 025 03 720 王芳

04 学生处 杜琼 038 02 650 张强

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为‘001’工资改为700

D.将职工号为‘038’部门号改为‘03’ B

14.若用如下的SQL语句创建一个student表:

CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2));

可以插入到student表中的是▁▁▁▁▁。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,男,23) D.(‘1031,NULL,男,23) B

二、填空题

1.SQL是▁▁▁▁▁▁▁▁▁▁。 结构化查询语言

2.SQL语言的数据定义功能包括▁▁▁▁▁▁▁、▁▁▁▁▁▁▁、▁▁▁▁▁▁▁

和▁▁▁▁▁▁▁。

定义数据库 定义基本表 定义视图 定义索引

3.视图是一个虚表,它是从▁▁▁▁▁▁▁▁▁▁中导出的表。在数据库中,只存放视图的▁▁▁▁▁,不存视图的▁▁▁▁▁▁▁▁▁▁。

一个或几个基本表 定义 视图对应的数据 4.设有如下关系表R、S和T: R(BH,XM,XB,DWH) S(DWH,DW)

T(BH,XM,XB,DWH)

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 SELECT * FROM R UNION SELECT * FROM T SELECT * FROM R WHERE DWH=‘100’ SELECT XM,XB FROM R

SELECT X,DWH FROM R WHERE XB=“女”

SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM FROM R,S WHERE R.DWH=S.DWH SELECT R.XM,R.XB,S.DWM

FROM R,S WHERE R.DWH=S.DWH AND R.XB=“男” 5.设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS) 主关键字的NO。

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。

插入一个记录(25,“李明”“男”,21,“95031”);▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

插入“95031”班号为30、姓名为“郑和”的学生记录;。▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

将学号为10的学生姓名改为“王华”;▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

将所有“95101班号改为“95091”;▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

删除学号为20的学生记录;▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

删除姓“王”的学生记录;▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。

INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) INSERT INTO R(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”) UPDATE R SET NAME=“王华” WHERE NO=10

UPDATE R SET CLASS=“95091” WHERE CLASS=“95101”

DELETE FROM R WHERE NO=20

DELETE FROM R WHERE NAME LIKE “王%”

习题3

1.叙述SQL语言支持的三级逻辑结构。

答:SQL语言支持的三级逻辑结构如图1所示.

在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual Foxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATE TABLE语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATE VIEW语句建立的。

在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。

2.叙述使用SQL语言实现各种关系运算的方法。

答:由Visual Foxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL语句格式是:

R∪S:SELECT语句(生成R) UNION

SELECT语句(生成S)

选择:SELECT * FROM <表> WHERE <指定选择的条件> 投影:SELECT <投影字段列表> FROM<表>

选择:SELECT <连接的字段列表> FROM <连接的两个表名> WHERE<连接条件> 3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果。 AB

A# 101 204 256 345 620 ANAME 韶山商店 东风商场 铁道商店 WQTY CITY 15 501 76 长沙 北京 北京 长沙 上海 前门百货商店 第一百货商店 413 A B

A# 101 101 101 101 204 B# 1 2 3 4 BNAME 毛笔 羽毛球 收音机 书包 PRICE 21 784 1325 242 256 256 345 345 345 B# 1 2 3 4 3 1 2 1 2 4 QTY 105 42 25 104 61 241 91 141 18 74 4 125 ⑪ 620 找出

店员人数不超过100人或者在长沙市的所有商店的代号和商店名。

SELECT A#,ANAME

FROM A WHERE WQTY<=100 OR CITY=“长沙”; ⑫ 找出供应书包的商店名。

SELECT A.ANAME FROM A,B,AB

WHERE A.A#=AB.A# AND B.B#=AB.B# AND B.BNAME=“书包”; ⑬ 找出至少供应代号为“256”的商店所供应的全部商品的商店名和所在城市。 SELECT ANAME,CITY FROM A WHERE NOT EXSIST

(SELECT * FORM AB F WHERE A#=“256” AND NOT EXSIST (SELECT * FROM AB S WHERE A#=A.A# AND B#=F.B#));

4.设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计。

查询按出版社统计其出版图书总数。 SELECT PUB,COUNT(BNO) FROM TS GROUP BY PUB

5.已知三个关系R、S和T如图所示。试用SQL语句实现如下操作: B S T A B C A D E D F a1 b1 20 a1 d1 15 d2 f2 a1 b2 22 a2 d2 18 d3 f3 a2 b1 18 a1 d2 24 a2 b3 a2

⑪ 将R、S和T三个关系按关联属性建立一个视图R-S-T。 ⑫ 对视图R-S-T按属性A分组后,求属性C和E的平均值。 解:

⑪ CREATE VIEW R-S-T

AS SELECT R.A,B,C,S.D,E,F

FROM R,S,T WHERE R.A=S.A AND S.D=T.D;

⑫ SELECT AVG(C),AVG(E) FROM R-S-T GROUP BY A; 6.有关系R和S如图所示。 R S A B A B a1 40 a1 b1 a2 50 a2 B2 a3 55 a3 b3

试用SQL语句实现:

⑪ 查询属性C>50时,R中与相关联的属性B之值。

⑫ 当属性C=40时,将R中与之相关连的属性B值修改为b4。 解:

⑪ SELECT B FROM R,S WHERE R.A=S.A AND C>50; ⑫ UPDATE R

SET B=“b4” WHERE A IN(SELECT A FROM S WHERE C=40)

7.已知R和S两个关系如图所示。 R S C D E A B C c1 d1 e1 a1 b1 c1 c2 d2 e2 a2 b2 c2 c3 d3 e3 a3 b3 c2

执行如下SQL语句:

⑪ CREATE VIEW H (A,B,C,D,E)

AS SELECT A,B,R.C,D,E FROM R,S WHERE R.C=S.C; ⑫ SELECT B,D,E FROM H WHERE C=“C2” 试给出: ⑪ 视图H。

⑫ 对视图H的查询结果。 解:本题的结果如图所示。

视图H 对视图H的查询结果

A B C D E B D E a1 b1 c1 d1 e1 b2 d2 e2 a2 b2 c2 d2 e2 b3 d2 e2 a3 b3 c2 d2 e2

8.已知关系R如图所示。 R

A B C 97 b1 84 a297 b2 92 a397 b3 98 98 b1 72

98 b2 84

98 b3 95

99 b1 88

99 b2 94

试用SQL语句实现下列操作: ⑪ 按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RAE中。

⑫ 在视图RAE中查询属性A=“8”记录。 解

⑪ CREATE VIEW RAE(A,CMAX,CMIN) AS SELECT A,MAX(C),MIN(C) FROM R GROUP BY A; ⑫ SELECT * FROM RAE WHERE A=“98”

9.已知学生表S和学生选课表SC。其关系模式如下: S(SNO,SN,SD,PROV) SC(SNO,CN,GR)

其中:SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:

⑪ 查询“信息系”的学生来自哪些省区。

⑫ 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 解:

⑪ SELECT DISTINCT PROV FROM S WHERE SD=“信息系” ⑫ SELECT SN,GR FROM S,SC

WHERE SD=“英语系”AND CN=“计算机”AND S.SNO=SC.SNO ORDWR BY GR DESC;

10.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:

⑪ 建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序。 ⑫ 从视图V-SSC上查询平均成绩在90分以上的SN、CN和G。 解:

⑪ CREATE VIEW V-SSC(SNO,SN,CNO,CN,G) AS SELECT S.SNO,S.SN,CNO,SC.CN,SC.G

FROM S,SC WHERE S.SNO=SC.SNO ORDWR BY CNO ⑫ SELECT SN,CN,G

FROM V-SSC GROGP BY SNO HAVING AVG(G)>90

11.设有关系模式:

SB(SN,SNAME,CITY)

其中:SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。

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

JB(JN,JNAME,CITY)

其中:JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程式所在城市,主关键字为JN。

SPJB(SN,PN,JN,QTY)

其中:SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。

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

(1)取出所有工程的全部细节: SELECT * FROM JB TO SCREEN; JN JNAME CITY -------------------------------------- J1 JN1 上海 J2 JN2 广州 J3 JN3 南京 J4 JN4 南京 J5 JN5 上海 J6 JN6 武汉 J7 JN7 上海

(2)取出所在城市为上海的所有工程的全部细节;

SELECT * FROM JB WHERE CETY=“上海”TO SCREEN; JN JNAME CITY -------------------------------------- J1 JN1 J5 JN5 J7 JN7

(3)取出重量最轻的零件代号; SELECT PN FROM PB WHERH WEIGHT=

(SELECT MIN(WEIGHT) FROM PB)TO SCREEN; PN

―――― P5

――――

(4)取出为工程式J1提供零件的供应商代号;

SELECT SN FROM SPJB WHERE JN=“J1”TO SCREEN; SN

―――― S1 S2 S3

――――

(5)取出为工程J1提供P1的供应商代号; SELECT SN FROM SPJB

WHERE JN=“J1”AND PN=“P1” TO SCREEN; SN ―― S1 ――

(6)取出由供应商S1提供零件的工程名称; SELECT JB.JNAME FROM JB,SPJB

WHERE JB.JN=SPJB.JN AND SPJB.SN=“S1” TO SCREEN; JNAME

―――――― JN1 JN4

――――――

(7)取出供应商S1提供的零件的颜色;

SELECT DISTINCT PB.COLOR FROM PB,SPJB

WHERE PB.PN=SPJB.PN AND SPJB.SN=“1”TO SCREEN; COLOR ――― 红 ―――

(8)取出为工程J1或J2提供零件的供应商代号; SELECT DISTINCT SN FROM SPJB

WHERE JN=“J1” OR JN=“J2”TO SCREEN; SN ――― S1 S2 S3 S5 ―――

(9)取出为工程J1提供红色零件的供应商代号; SELECT DISTINCT SPJB.SN FROM SPJB,PB WHERE PB.PN=SPJB.PN AND SPJB.JN=“J1”AND PB.COLOR=“红” TO SCREEN; SN ――- S1 ――-

(10)取出为所在城市为上海的工程提供零件的供应商代号; SELECT DISTINCT SPJB.SN FROM SPJB,JB

WHERE SPJB.JN=JB.JN AND JB.CITY=“上海”TO SCREEN; SN ――― S1 S2 S3 S4 S5 ――-

(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号; SELECT SPJB.SN FROM PB,JB,SPJB

WHERE SPJB.PN=PB.PN AND JB.JN=SPJB.JN AND PB.COLOR=‘红’AND (JB.CITY=“上海”OR JB.CITY=“北京”TO SCREEN; SN ―― S1 S4 ――

(12)取出供应商与工程所在城市相同的供应商提供的零件代号; SELECT DISTINCT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=JB.CITY TO SCREEN; PN ―――― P1 P2 P3 P4 P5 P6

―――――

(13)取出上海的供应商提供给上海的任一工程的零件的代号; SELECT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=“上海” AND JB.CITY=“上海” TO SCREEN; PN ―――― P1 P6 ――――

(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号; SELECT DISTINCT SPJB.JN FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN;

JN ―――― J1 J2 J3 J4 J5 J6 J7 ――――

(15)取出上海供应商不提供任何零件的工程的代号 SELECT DISTINCT JN FROM SPJB WHERE JN NOT IN

(SELECT DISTINCT SPJB.JN FROM SB,SPJB WHERE SB.SN=SPJB.SN AND SB.CITY=“上海”)TO SCREEN; JN ―――― J2 J5 J6 ――――

(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;

SELECT DISTINCT SPJB.SN FROM PB,SPJB WHERE SPJB.PN IN

(SELECT SPJB.PN FROM SPJB,SB,PB

WHERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND PB.COLOR=“红” TO

SCREEN; SN ―――― S1 S2 S3 S4 S5 ――――

(17)取出由供应商S1提供零件的工程的代号:

SELECT DISTINCT SPJB.JN FROM SB,PB,SPJB WHIERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND SB.SN=“S1” TO SCREEN; JN ————

J1 J4 ————

(18)取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件;

SELECT DISTINCT SB.CITY,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN; CITY_A CITY_B -----------------------------------

北京 广州 北京 南京 北京 上海 北京 武汉 南京 广州 南京 南京 南京 上海 上海 南京 上海 上海

-----------------------------------

(19)取出所有这样的三元组,使得第1个城市的供应商为第2个城市的工程提供指定的零件;

SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN; CITY_A PN CITY_B -------------------------------------- 北京 P3 广州 北京 P3 南京

北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P1 南京 南京 P2 广州 南京 P2 南京 南京 P3 南京 南京 P4 南京 南京 P5 南京 南京 P5 上海 南京 P6 广州 南京 P6 南京 上海 P1 南京 上海 P1 上海 上海 P6 南京 上海 P6 上海 --------------------------------------

(20)重复(19)题,但不检索两个CITY值相同的三元组。

SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN;

CITY_A PN CITY_B -------------------------------------------- 北京 P3 广州 北京 P3 南京 北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P2 广州 南京 P5 上海 南京 P6 广州 上海 P1 南京 上海 P6 南京 ---------------------------------------------

12.有样本表student、teacher、course 和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。

Student score

------------------------------------------------------- ------------------------------ NO NAME SEX BIRTHDAY CLASS NO CNO DEGREE 108 曾华 男 09/01/77 95033 103 3-245 86

105 匡明 男 10/02/75 95031 105 3-245 75 107 王丽 女 01/23/76 95033 109 3-245 68 101 李军 男 02/20/76 95033 103 3-105 92 109 王芳 女 02/10/75 95031 105 3-105 88 103 陆军 男 06/03/74 95031 109 3-105 76 101 3-105 101 3-105 91 101 3-105 78 101 6-166 85 101 6-166 79 101 6-166 81 teacher course

------------------------------------------------------------------- ------------------------------- NO NAME SEX BRITHDAY PROF DEPART CNO CNAME TNO 804 李诚 男 12/02/58 副教授 计算机 3-103 计算机导论 825 856 张旭 男 03/12/69 讲师 电子 3-245 操作系统 825 825 王萍 女 05/05/72 助教 计算机 6-166 数字电路 825 831 刘冰 女 08/14/77 助教 电子 9-888 高等数学 825

⑪ 上列出至少有2名男生的班号。

SELECT class FROM student WHERE sex=“男”

GROUP BY class HAVING COUNT(*)>=2 TO SCREEN; CLASS ------------- 95031 95033 -------------

⑫ 屏幕显示student表中不姓“王”的同学记录。

SELECT * FROM studen WHERE name not like “王%” TO SCREEN; NO NAME SEX BIRTHDAY CLASS

------------------------------------------------------------------------ 108 曾华 男 09/01/76 95033 105 匡明 男 10/02/75 95031 101 李军 男 02/20/76 95033 103 陆君 男 06/03/74 95031

------------------------------------------------------------------------

⑬ 屏幕显示student表示每个学生的姓名和年龄。 SELECT name as “姓名”,year(date())-year(birthday)as“年龄” FROM student TO SCREEN; 姓名 年龄 ----------------------- 曾华 23

匡明 24 王丽 23 李军 23 王芳 24 陆君 25 -----------------------

⑭ 屏幕显示student表中最大和最小的birthday日期值。 SELECT name,max(birthday),min(birthday) FROM student TO SCREEN; NAME MAX_BIRTHDAY MIN_BIRTHDAY ----------------------------------------------------------------------- 陆君 77.09.01 74.06.03

-----------------------------------------------------------------------

⑮ 以班号和年龄从大到小的顺序在屏幕上显示student表中的全部记录。 SELECT class,name,birthday FROM student DRDER BY class,birthday TO SCREEN; CLASS NAME BIRTHDAY ----------------------------------------------------- 95031 陆君 74.06.03 95031 王芳 75.02.10 95031 匡明 75.10.02 95033 王丽 76.01.23 95033 李军 76.02.20 95033 曾华 77.09.01 -----------------------------------------------------

⑯ 屏幕显示“男”教师及其所上的课程。

SELECT x.name,y.cname FROM teacher x,course y WHERE x.no=y.tno AND x.sex=“男” TO SCREEN; NAME CNAME ----------------------------------- 李诚 操作系统 张旭 数字电路 -----------------------------------

⑰ 在屏幕上列出最高分同学的no、cno和degree列。 SELECT no,cno,degree FROM score

WHERE degree=(SELECT max(degree) FROM score)TO SCREEN; NO CNO DEGREE ------------------------------------------ 103 3_105 92

------------------------------------------

⑱ 在屏幕上列出和“李军”同性别的所有同学的name。 SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name=“李军”)TO SCREEN; NAME ------------------ 曾华 匡明 李军 陆君 ------------------

⑲ 在屏幕上列出和“李军”同性别并同班的同学name。 SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name =“李军”) AND class=(SELECT class FROM student WHERE name =“李军”)TO SCREEN; NAME ----------- 曾华 李军 ------------

⑳ 在屏幕上列出所有选修“计算机导论”课程的“男”同学的成绩表。 SELECT no,cno,degree FROM score

WHERE no IN(SELECT no FROM student WHERE sex =‘男’)

AND cno=(SELECT cno FROM course WHERE cname=“计算机导论”)TO SCREEN; NO CNO DEGREE

----------------------------------------------- 103 3_105 92 105 3_105 88 101 3_105 108 3_105 78

----------------------------------------------- 基本题4

一、单项选择题 1.关系规范化中的删除操作异常是指▁▁▁▁▁▁,插入操作异常是指▁▁▁▁▁▁。 A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入 A D

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

3.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中

的关系必须需足:其每一数据项(属性值)都是▁▁▁▁▁▁。

A.互不相关的 B.不可分解的 C.长度可变的 D.互相关联的 B

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

C.减少数据操作的复杂性 D.保证数据的安全性和完整性 A

5.规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及▁▁▁▁▁▁的缺陷。

A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 C

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

7.关系模型中的关系模式至少是▁▁▁▁▁▁。

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

8.在关系DB中,任何二元关系模式的最高范式必定是▁▁▁▁▁。 A.1NF B.2NF C.3NF D.BCNF D

9.在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是▁▁▁▁▁。

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

10.当B属性函数依赖于A属性时,属性A与B的联系是▁▁▁▁▁▁。 A.1对多 B.多对1 C.多对多 D.以上都不是 B

11.在关系模式中,如果属性A和B存在1对1的联系,则说▁▁▁▁▁▁。 A.A→B B.B→A C.A←→B D.以上都不是 C

12.候选关键字中的属性称为▁▁▁▁▁▁。

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

13.关系模式中的各级模式之间的关系为▁▁▁▁▁▁。 A.3NF2NF1NF B.3NF1NF2NF C.1NF2NF3NF D.2NF1NF3NF A

14.关系模式中,满足2NF的模式▁▁▁▁▁▁。

A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF B

15.关系模式R中的属性全部是主属性,则R的最高范式必定是▁▁▁▁▁▁。 A.2NF B.3NF C.BCNF D.4NF B

16.消除了部分函数依赖的1NF的关系模式,必定是▁▁▁▁▁▁。 A.1NF B.2NF C.3NF D.4NF B

17.关系模式的候选关键字可以有▁▁▁▁▁▁,主关键字有▁▁▁▁▁▁。 A.0个 B.1个 C.1个或多个 D.多个 C B

18.候选关键字中的属性可以有▁▁▁▁▁▁。

A.0个 B.1个 C.1个或多个 D.多个 C

19.关系模式的分解是▁▁▁▁▁▁。 A.惟一 B.不惟一 B

20.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?

部门(部门号,部门名,部门成员,部门总经理)

A.部门总经理 B.部门成员 C.部门名 D.部门号 B

21.图中给定关系R▁▁▁▁▁▁。

零件号 单价 25 P1 8 P2 25 P3 9 P4 A.不是3NF B.是3NF但不是2NF C.是3NF但不是BCNF D.是BCNF D

二、填空题

1.关系规范化的目的是____________________________________________。 控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性

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

外来键(外码)

3.对于非规范化的模式,结过______________________转变为1NF,将1NF经过___________________________转变为2NF,将2NF经过___________________________转变为3NF。

使属性域变为简单域

消除非主属性对主关键字的部分依赖 消除非主属性对主关键字的传递依赖

4.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于__________。 1NF

5.1NF,2NF,3NF之间,相互是一种__________________关系。 3NF2NF1NF

6.若关系为1NF,且它的每一非主属性都____________________候选关键字,则该关系为2NF。

不部分函数依赖于

7.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和__________________。

无损连接 习题4

1.分析关系模式:STUDENT(学号,姓名,出生日期,系名,宿舍区),指出其候选关键字,最小依赖集和存在的传递函数依赖。

参考解:经分析有:

候选关键字:学号(每个学生只有惟一的学号) 最小依赖集:{学号→姓名,学号→出生日期,学号→班号,系名→宿舍区,班号→系名}

存在传递函数依赖:

学号→系名→宿舍区,∴有学号→宿舍区; 班号→系名→宿舍区,∴有班号→宿舍区; 学号→班号→系名,∴有学号→系名;

2.指出下列关系模式是第几范式?并说明理由。 ⑪ R(X,Y,Z)

F={XY→Z}

⑫ R(X,Y,Z) F={Y→Z,XZ→Y} ⑬ R(X,Y,Z)

F={Y→Z,Y→X,X→YZ} ⑭ R(X,Y,Z) F={X→Y,X→Z} ⑮ R(X,Y,Z) F={XY→Z}

⑯ R(W,X,Y,Z) F={X→Z,WX→Y} 解:

⑪ R是BCNF。R候选关键字为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选关键字XY。

⑫ R是3NF。R候选关键字为XY和XZ,R中所有属性都是主属性,不存在非主属性对的候选关键字的传递依赖。

⑬ R是BCNF。R候选关键字为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部包含了任一候选关键字,∴R是BCNF。

⑭ R是BCNF。R的候选关键字为X,而且F中每一函数依赖的左部都包含了候选关键字X。

⑮ R是BCNF。R的候选关键字为XY,而且F中函数依赖的左部包含了候选关键字XY。

⑯ R是1NF。R的候选关键字为WX,则Y,Z为非主属性,又由于X→Z,因此F中存非主属性对候选关键字的部分函数依赖。

3.设有关系模式R(U,F),其中: U={A,B,C,D,E,P},F={A→B,E→A,CE→D} 求出R的所有候选关键字。

解:根据候选关键字的定义:如果函数依赖X→U在R上成立,且不存在任何X’X,使得X’→U也成立,则称X是R的一个候选关键字。由此可知,候选关键字只可能由A,C,E组成立,但有E→A,所以组成候选关键字的属性可能是CE。

计算可知:(CE)+=ABCDEP,即CE→U 而:C+=CP,E+=ABE

∴R只有一个候选关键字CE。

4.设有关系模式R(C,T,S,N,G),其上的函数依赖集: F={C→T,CS→G,S→N} 求出R的所有关键字。 解:根据候选关键字的定义,R的候选关键字只可能由F中各个函数依赖的右边属性组成,即C,S,所以组成候选关键字的属性可能是CS。

计算可知:(CS)+=CGNST。即CS→U 而:C+=CT,S+=NS

∴R只有一个候选关键字CS。

5.设有关系模式R(A,B,C,D,E),其上的函数依赖集: F={A→BC,CD→E,B→D,E→A} ⑪ 计算B+。

⑫ 求出R的所有候选关键字。 解:

⑪ 令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。 ⑫ 根据候选关键字定义,R的候选关键字只可能由F中各个函数依赖的右边属性组成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故:

·可除去A,B,C,D,∴组成候选关键字的属性可能是E。 计算可知:E+=ABCDE,即E→U,∴E是一个候选关键字。 ·可除去A,B,E,∴组成候选关键字的属性可能是CD。 计算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,∴CD是一个候选关键

字。

·可除去B,C,D,E,∴组成候选关键字的属性可能是A。 计算可知:A+=ABCDE,即A→U,∴A是一个候选关键字。 ·可除去A,D,E,∴组成候选关健字的属性可能是BC。 计算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,∴BC是一个候选关

键字。

R的所有候选关键字是A,BC,CD,E。

6.设有关系模式R(U,F),其中: U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,DC→A} ⑪ 求出R的候选关键字。

⑫ 判断p={AB,AE,CE,BCD,AC}是否为无损连接分解? 解:

⑪(CE)+=ABCDE,则CE→U,而C+=C,E+=DE=BDE,根据候选关键字定义,CE是R的候选关键字。

⑫ p的无损连接性判断表如下图所示,由此判断不具有无损连接性。

Ri AB AE CE AC A a1 a1 a1 B a2 a2 C a3 a3 a3 D a4 E a5 a5 BCD

7.设有关系框架R(A,B,C,D,E)及其上的函数相关性集合F={A→C,B→D,C→D,DE→C,CE→A},

试问分解p={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)}是否为R的无损连接分解?

解:p的无损连接性判断结果表如下图所示,由此判断不具有无损连接性。

Ri AD AB A a1 a1 B a2 C D a4 E BE AE a1 a2 a3 a4 a5 a5 a5 CDE

8.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},计算属性集D关于F的闭包D+。

解:令X={D},X(0)=D。

在F中找出左边是D子集的函数依赖,其结果是:D→HG,∴X(1)=X(0)HG=DGH,显然有X(1)≠X(0)。

在F中找出左边是DGH子集的函数依赖,未找到,则X(2)=DGH。由于X(2)=X(1),则D+=DGH

9.已知关系模式R的全部属性集U={A,B,C,D,E,G}及函数依赖集; F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG} 求属性集闭包(BD)+。 解:令X={BD},X(0)=BD,X(1)=BDEG,X(2)=BCDEG,X(3)=ABCDEG,故(BD)+=ABCDEG。

10.设有函数依赖集F={D→G,C→A,CD→E,A→B}计算闭包D+,C+,A+,(CD)+,(AD)+,(AC)+,(ACD)+。

解:

令X={D},X(0)=D,X(1)=DG,X(2)=DG,故D+ =DG。

令X={C},X(0)=C,X(1)=AC,X(2)=ABC,X(3)=ABC,故C+=ABC 令X={A},X(0)=A,X(1)=AB,X(2)=AB,故A+ =AB。

令X={CD},X(0)=CD,X(1)=CDG,X(2)=ACDG,X(3)=ACDEG,X(4)=ABCDEG,故(CD)+=ABCDEG。

令X={AD},X(0)=AD,X(1)=ABD,X(2)=ABDG,X(3)=ABDG,故(AD)+ =ABDG。

令X={AC},X(0)=AC,X(1)=ABC,X(2)=ABC,故(AC)+=ABC。

令X={ACD},X(0)=ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+=ABCDEG。

11.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},求与F等价的最小函数依赖集。

解:⑪ 将F中依赖右部属性单一化:

F1={AB→C,HB→P,AB→E,D→H,A→C,D→G,GP→B,ABC→P,EP→A,ABC→G,CDE→P}

⑫ 对于AB→C,由于有A→C,则为多余的,得到:

F2={HB→P,AB→E,D→H,A→C,D→G,GP→B,ABC→P,EP→A,ABC→G,CDE→P}

⑬ 通过分析没有多余的依赖,则与F等价的最小函数依赖集为:

F3={HB→P,AB→E,D→H,A→C,D→G,GP→B,ABC→P,EP→A,ABC→G,CDE→P}

12.设有关系模式R(U,F),其中:

U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E,求F的最小依赖集。 解:⑪ 将F中依赖左部属性单一化:

F1={E→G,G→E,F→E,F→G,H→E,H→G,FH→E} ⑫ 对于FH→E,由于有F→E,则为多余的,则: F2={E→G,G→E,F→E,F→G,H→E,H→G}

⑬ 在F2中的F→E和F→G以及H→E和H→G之一是多余的,则: F3={E→G,G→E,F→G,H→G} 或F3={E→G,G→E,F→G,H→E} 或F3={E→G,G→E,F→E,H→E} 或F3={E→G,G→E,F→E,H→G}

13.设有关系模式R(U,F),其中:

U={A,B,C,D},F={A→B,B→C,D→B},把R分解成BCNF模式集: ⑪ 如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。 ⑫ ACD和BD是BCNF吗?如果不是,请进一步分解。 解:⑪ ΠACD(F)={A→C,D→C} ΠBD(F)={D→B}

⑫ BD已是BCNF。ACD不是BCNF。模式ACD的候选关键字是AD。考虑A→C,这个函数依赖不满足BCNF条件(∵A不是模式ACD的候选关键字),将ACD分解为AC和AD,此时AC和AD均为BCNF。

14.设有关系模式R(A,B,C,D),其上的函数依赖集: F={A→C,C→A,B→AC,D→AC} ⑪ 计算(AD)+

⑫ 求F的最小等价依赖集Fm。 ⑬ 求R的关键字

⑭ 将R分解使其满足BCNF且无损连接性。

⑮ 将R分解成满足3NF并具有无损连接性与保持依赖性。 解:

⑪ 令x={AD},x(0)=AD,x(1)=ACD,x(2)=ACD,故(AD)+= ACD 。 ⑫ 将F中的依赖右部属性单一化:

F1={A→C,C→A,B→A,B→C,D→A,D→C}

在F1中去掉多余的函数依赖:∵B→A,A→C ∴B→C是多余的,又∵D→A,A→C,∴D→C是多余的。

F2={A→C,C→A,B→A,D→A}

函数依赖集的最小集不是唯一的,本题中还可以有其他答案。

∵F2中所有依赖的左部都是单属性,∴不存在依赖左部有多余的属性,所以: Fm={ A→C,C→A,B→A,D→A}

⑬ ∵BD在F中所有函数依赖的右部均未出现,∴候选关键字中一定包含BD,而(BD)+=ABCD,因此,BD是R唯一的候选关键字。

⑭ 考虑A→C,(∵A不包含候选关键字BD),将ABCD分解为AC和ABD,AC已是BCNF。进一步分解ABD,选择B→A,把ABD分解为AB和BD。此时AB和AD均为BCNF。∴p={AC,AB,BD}。

⑮ 由⑫可求出满足3NF的具有依赖保持性的分解为ρ={AC,BA,DA}。判断其无损连接性如下图所示的表,由此可知ρ不具有无损连接性。令ρ=ρ∪{BD},BD是R的候选关键字,∴ρ={AC,BA,DA,BD}。 Ri AC BA DA A a1 a1 a1 B a2 C a3 a3 a3 D a4

15.已知关系模式R(CITY,ST,ZIP)和函数依赖集:F={CITY,ST→ZIP,ZIP→CITY},试找出R的两个候选关键字。

解:设U=(CITY,ST,ZIP),F中函数依赖的左边是CITY,ST,ZIPA: 由于ZIP→CITY,除掉CITY,故(ST,ZIP)可能是候选关键字。 (ST,ZIP)+=ST,ZIP,CITY,∴(ST,ZIP)→U。

又ST+=ST,ZIP+=ZIP,CITY,故(ST,ZIP)是一个候选关键字。 由于CITY,ST→ZIP,除掉ZIP,故(CITY,ST)可能是候选关键字。 (CITY,ST)+=CITY,ST,ZIP,∴(CITY,ST)→U。

又CITY+=CITY,ST+=ST,故(CITY,ST)是一个候选关键字。 因此,R的两个候选关键字是(ST,ZIP)和(CITY,ST)。

16.设有关系模式R(A,B,C,D,E),R的函数依赖集: F={A→D,E→D,D→B,BC→D,CD→A} ⑪求R的候选关键字。 ⑫将R分解为3NF。 解:

⑪ 设U=(A,B,C,D,E),由于(CE)+=ABCDE,C+=C,E+=BDE ∴R的候选关键字是CE。

⑫ 求出最小依赖集Fm={A→D,E→D,D→B,BC→D,CD→A} 将R分解的3NF:ρ={AD,DE,BD,BCD,ACD}。

17.设有关系模式R(U,V,W,X,Y,Z),其函数依赖集: F={U→V,W→Z,Y→U,WY→X},现有下列分解: ⑪ ρ1={WZ,VY,WXY,UV} ⑫ ρ2={UVY,WXYZ}

判断上述分解是否具有无损连接性。

解:⑪ ρ1的无损连接性判断表如下图所示,由此判断不具有无损连接性。

Ri WZ VY XY Ua1 a2 a3 a4 a5 6 a a2 a5 U V W a3 X Y 6 Z aV ⑫ ρ2的无损连接性判断表如下图所示,由此判断具有无损连接性。 Ri UVY WXYZ U a1 a1 V a2 a2 W a3 X a4 Y a5 a5 Z a6

18.已知R(A1,A2,A3,A4,A5)为关系模式,其上函数依赖集: F={A1→A3,A3→A4,A2→A3,A4A5→A3,A3A5→A1} ρ={R1(A1,A4),R2(A1,A2),R3(A2,A3),R4(A3,A4,A5),R5(AA,A5)},判断ρ是否具有无损连接性。

解:ρ的无损连接性判断表如下图所示,由此判断不具有无损连接性。

Ri A1A4 A1A2 A2A3 A3A4A5 A1A5 A1 a1 a1 a1 a1 A2 a2 a2 A3 a3 a3 a3 a3 a3 A4 a4 a4 a4 a4 a4 A5 a5 a5

19.设有关系模式R{B,O,I,S,Q,D},其上函数依赖集:F={S→D,I→B,IS→Q,B→O}。如果用SD,IB,ISQ,BO代替R,这样的分解是具有无损连接吗?

解:ρ的无连接性判断表如下图4所示,由此判断具有无损连接性。 Ri SD IB ISQ BO B a1 a1 a1 O a2 a2 I a3 a3 S a4 a4 Q a5 a5 D a6 a6

20.设有关系模式R(A,B,C,D),其上函数依赖集: F={A→C,D→C,BD→A}

试证明ρ={AB,ACD,BCD}相对于F是有损连接。

证明:ρ的无损连接性判断表如下图所示,其中没有一行为a1,a2,a3,由此证明不具有连接无损性,即是有损连接。 Ri AB ACD BCD A a1 a1 B a2 a2 C a3 a3 a3 D a4 a4

21.设有关系模式R(F,G,H,I,J),R的函数依赖集:

22.设有关系模式R(A,B,C,D,E),其上的函数依赖集:F={A→C,C→D,B→C,DE→C,CE→A}。

⑪ 求R的所有候选关键字。

⑫ 判断ρ={AD,AB,BC,CDE,AE}是否为无损连接分解?

⑬ 将R分解为BCNF,并具有无损连接性。 解:

⑪ 从F中看,候选关键字至少包含BE(因为它们不依赖于谁),而(BE)+=ABCDE,∴BE是R的惟一候选关键字。

⑫ ρ的无损连接性判断结果如下图所示,由此判定ρ不具有无损连接性。 ⑬ 考虑A→C,(∵A不包含候选关键字BE),将ABCDE分解为AC和ABDE,AC已是BCNF。进一步分解ABDE,选择B→D,把ABDE分解为BD和ABE,此时BD和ABE均为BCNF。∴ρ={AC,BD,ABE} Ri AD AB BC CDE AE a1 a3 a4 a5

23.现有一个关系模式R(A,B,C),其上的函数依赖集F={A→B,C→B},判断分解ρ1={AB,AC},ρ2={AB,BC}是否具有无损连接性和依赖保持性。

解:对于分解ρ1={AB,AC},设R1=AB,R2=AC,∴R1∩R2=A,R1- R2=B,∵F中有A→B,∴(R1∩R2)→(R1- R2),因此,ρ1具有无损连接性。

又∵ПR1(F)={A→B},ПR2(F)=Ф,∴ПR1(F)∪ПR2(F)={A→B},它不等价于F,因此ρ1没有依赖保持性。

对于分解ρ2={AB,BC},设R1=AB,R2=BC,∴R1∩R2=B,R1- R2=A,R2- R1=C,∵(R1∩R2)→(R1- R2)和(R1∩R2)→ R2- R1)都不成立,因此ρ2不具有无损连接性。

又∵ПR1(F)={A→B},ПR2(F)={C→B},∴ПR1(F)∪ПR2(F)={A→B,C→B},它于F等价,因此ρ2具有依赖保持性。

24.设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:

·学号和课程号分别与其代表的学生和课程——对应;

·一个学生所修的每门课程至多只能修一次,且都有一个成绩; ·每门课程只有一位任课教师,但每位教师可以有多门课程; ·教师中没有重名,每个教师只属于一个系。 (1)试根据上述语义确定函数依赖集。

(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。

(3)分解为具有依赖保持和无损连接的3NF。 解:(1)F={(S#,C#)→G,C#→TN,TN→D}

(2)关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),则非主属性有G、TN和D。

又∵F中有C#→TN,∴存在非主属性TN对候选关键字(S#,C#)的部分依赖,即:(S#,C#)p→TN。

若新增设一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不能进行插入操

A a1 a1 a1 B a2 a2 C a3 a3 a3 a3 D a4 a4 a4 a4 E a5 作。若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除。

(3)∵F=Fm={(S#,C#)→G ,C#→TN,TN→D }

∴ρ={R1,R2,R3} 其中:R1=(S#,C#,G)

R2=(C#,TN) R3=(TN,D)

25.设ρ={R1,R2}是R的一个分解,F是R上的函数依赖集,ρ具有无损连接性的充要条件是:R1∩R2→(R1-R2)∈F+或R1∩R2→(R2-R1)∈F+,请证明。

证明:(1)充分性:设R1∩R2→(R1-R2),则可构造出如下图所示的表。该表中省略了a和b的下标,这无关紧要。

Ri R1 R2 R1∩R2 aa…a aa…a R1-R2 aa…a bb…b R2-R1 bb…b aa…a 如果R1∩R2→(R1-R2)在F中,则可将表中第2行位于(R1-R2)中的所有符号都改为a,这样该表中第2行就全是a了,则ρ具有无损连接性。同理可证R1∩R2→(R2-R1)的情况。如果R1∩R2→(R1-R2)不在F中,但在F+中,即它可以用公理F推出来,从而也能推出R1∩R2→Ax,其中Ax(R1-R2),所以可以将Ax列的第2行改为全a,同样可以将R1-R2中的其他属性的第2行也改为a,这样第2行就变成a行,所以分解ρ={R1,R2}具有无损连接性。

同样可以证明R1∩R2→(R2-R1)的情况。

(2)必要性:设构造的表中有一行全为a,例如第1行全为a,则由函数依赖定义可知R1∩R2→(R2-R1);如果是第2行全为a,则R1∩R2→(R1-R2)。证毕。

26.证明在关系数据库中,任何的二元关系模式必定是BCNF。 证明:设R为一个二元关系R(x1,x2),则属性x1和x2之间可能存在以下几种依赖关系:

x1→x2,但x2→x1不成立,则关系R的候选关键字为x1,函数依赖的左部包含候选关键字x1,∴R为BCNF。

x1→x2,且x2→x1,则关系R的候选关键字为x1和x2,这两个函数依赖的左部都包含了R的任一候选关键,∴R为BCNF。

x1→x2和x2→x1都不成立,则关系R的候选关键字为(x1,x2),R上没有函数依赖,∴R为BCNF。 证毕。

27.下图给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?

工程号 P1 P1 P1 P2 P2 材料号 11 12 13 11 14 数量 4 6 15 6 18 开工日期 9805 9805 9805 9811 9811 完工日期 9902 9902 9902 9912 9912 价格 250 300 180 250 350 解:它为1NF。因为该关系的候选关键字为(工程号,材料号),而非主属性开工日期

和完工日期部分函数依赖于候选关键字的子集工程号,即:

(工程号,材料号)p→开工日期 (工程号,材料号)p→完工日期 ∴它不是2NF。

它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少关键字的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。

将其中的部分函数依赖分解为一个的关系,则产生如下图所示的两个2NF关系子模式:

R1 R2 工程号 材料号 P1 P1 P1 P2 P2 11 12 13 11 14 数量 4 6 15 6 18 价格 250 300 180 250 350 工程号 P1 P2 开工日期 9805 9811 完工日期 9902 9912 分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系R2中插入。某工程数据删除时,仅对关系R2操作,也不会丢失材料方面的信息。

28.如下图给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则改造成为尽可能好的并能作为关系数据库中关系的形式,同时说明进行这种改造的理由。

系名 计算机系 机械系 造船系 自控系 课程名 DB CAD CAM CTY 教师名 李军,刘强 金山,宋海 王华 张红,曾键 解:因为关系模式至少是1NF关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为1NF的关系如下图所示。

系名 计算机系 计算机系 机械系 机械系 造船系 自控系 自控系 课程名 DB DB CAD CAD CAM CTY CTY 教师名 李军 刘强 金山 宋海 王华 张红 曾键

29.设有如下图所示的关系R。 课程名 C1 C2 C3 C4 教师名 马千里 于得水 余快 于得水 教师地址 D1 D1 D2 D1 ⑪ 它为第几范式?为什么?

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

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

解:⑪ 它是2NF。

∵R的候选关键字为课程名,而课程名→教师名,教师名→课程名不成立,教师名→

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

又∵不存在非主属性对候选关键字的部分函数依赖,∴R是2NF。 ⑫ 存在。当删除某门课程时会删除不该删除的教师的有关信息。 ⑬ 分解为高一级范式如下图所示。

R1 R2

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

************************************************************************** 基本题5

一、单项选择题

1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的▁▁▁▁阶段。

A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 B

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

3.在关系数据库设计中,设计关系模式是▁▁▁▁的任务。

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

4.数据物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是▁▁▁▁▁▁。

A.建立库结构 B.扩充功能 C.加载数据 D.系统调试 B

5.数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用▁▁▁▁▁表示。

A.矩形 B.四边形 C.菱形 D.椭圆形 D

6.在数据库的概念设计中,最常用的数据模型是▁▁▁▁▁。

A.形象模型 B物理模型 C.逻辑模型 D.实体联系模型 D

7.在数据库设计中,在概念设计阶段可用E-R方法,其设计出的图称为▁▁▁。 A.实物示意图 B.实用概念图 C.实体表示图 D.实体联系图 D

8.从E-R模型关系向关系转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是▁▁▁▁▁▁。

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

9.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是▁▁▁▁。

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

10.E-R图中的主要元素是▁▁▁▁▁、▁▁▁▁▁和属性。

A.记录型 B.结点 C.实体型 D.表 E.文件 F.联系 G.有向边 C F

11.数据库逻辑设计的主要任务是▁▁▁▁▁。

A.建立E-R图和说明书 B.创建数据库说明 C.建立数据流图 D.把数据送入数据库 B

12.E-R图中的联系可以与▁▁▁▁▁实体有关。

A.0个 B.1个 C.1个或多个 D.多个 C

13.概念模型于▁▁▁▁▁▁。

A.E-R模型 B.硬件设备和DBMS C.操作系统和DBMS D.DBMS B

14.如果两个实体之间的联系是m:n,则▁▁▁▁引入第三个交叉关系。 A.需要 B.不需要 C.可有可无 D.合并两个实体 A

15.数据流程图(DFD)是用于描述结构化方法中▁▁▁▁阶段的工具。 A.可行性分析 B.详细设计 C.需求分析 D.程序编码 C

16.E-R图是表示概念模型的有效工具之一,如下图所示的局部E-R图中的菱形框“表示”的是▁▁▁▁▁。

n m 材料 产品 使用 用量 材料号 价格 价格 产品号

A.联系 B.实体 C.实体的属性 D.联系的属性 A

17.图5.3所示的E-R图转换成关系模型,可以转换为▁▁▁▁关系模式。

借阅日期 位置 借书人 借阅 图书 价格

n m

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

二、填空题

1.E-R数据模型一般在数据库设计的▁▁▁▁▁阶段使用。 概念设计

2.数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是▁▁▁▁▁模型。

概念数据

3.数据库设计的几个步骤是▁▁▁▁▁。

需求分析,概念设计,逻辑设计,物理设计,编码和调试 4.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的▁▁▁▁▁设计阶段。

物理

5.在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为▁▁▁▁▁▁。

数据字典

6.数据库应用系统设计应该具有对于数据进行收集、存储、加工、抽取和传播等功能,即包括数据设计和处理设计,而▁▁▁▁▁是系统设计的基础和核心。

数据设计

7.数据库实施阶段包括两项重要的工作,一项是数据的▁▁▁▁▁,另一项是应用程序的编码的调试。

载入

8.在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有▁▁▁▁▁、▁▁▁▁▁和▁▁▁▁▁三类。

属性冲突 命名冲突 结构冲突

9.E-R图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的▁▁▁▁▁▁。

属性和码

10.在数据库领域里,统称使用数据库的各类系统为▁▁▁▁▁▁系统。 数据库应用

11.数据库逻辑设计中进行模型转换时,首先将概念模型转换为▁▁▁▁▁,然后将▁▁▁▁▁转换为▁▁▁▁▁。

与特定的DBMS无关的,但为一般的关系模型、网状模型或层次模型所表示的一般模型; 一般模型; 特定DBMS支持的逻辑模型

习题5

1.某大学实行学分制,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每门课程可由多位教师讲授;每位教师可讲授多门课程。其不完整的E-R图如下图所示。

⑪ 指出学生与课程的联系类型,完善E-R图。 ⑫ 指出课程与教师的联系类型,完善E-R图。

⑬ 若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系? ⑭ 在原E—R图上补画教师与学生的联系,并完善E-R图。

课程 学生

教师

⑪ 学生与课程的联系类型是多对多联系。 ⑫ 课程与教师的联系类型是多对多联系。 ⑬ 学生与教师和联系类型是一对多联系。 ⑭ 完善本题E-R图的结果如下图所示。

学生 m n 课程 选修

p

讲授

k n l 教师 指导

2.将如下图所示的E-R图转换为关系模式,棱形框中的属性自己确定。

1 n 职工 单 位 D-E

姓名 单位号 职工号 单位号 地址电话 本题的E-R图转换为如下关系模式: 单位(单位号,地址,电话)

职工(职工号,姓名,性别,年龄,职务,单位号)

3.假定一个部门的数据库包括以下的信息:

·职工的信息:职工号、姓名、住址的所有部门。

职务 年龄 性别 ·部门的信息:部门所有职工、经理和销售的产品。

·产品的信息:产品名、制造商、价格、型号及产品内部编号。 ·制造商的信息:制造商名称、地址、生产的产品名和价格。 试画出这个数据库的E-R图。

本题对应的E-R图如下图所示。

4.设有商业销售记账数据库。一个顾客(顾客姓名,单位,电话号码)可以买多种商品,一种商品(商品名称,型号,单价)供应多个顾客。试画出对应的E-R图。

本题对应的E-R图如下图所示。

5.某医院病房计算机管理中需要如下信息: 科室:科名,科地址,科电话,医生姓名 病房:病房号,床位号,所属科室名

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

其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

完成如下设计:

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

⑬ 指出转换结果中每个关系模式的候选码。 解:

⑪ 本题的E-R图如下图所示。 ⑫ 对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名)

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

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

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

6.设有如下实体:

学生:学号、单位、姓名、性别、年龄、选修课程号 课程:编号、课程号、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下联系:

⑪ 一个学生可选修多门课程,一门课程可为多个学生选修; ⑫ 一个教师可讲授多门课程,一门课程可为多个教师讲授; ⑬ 一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作:

⑪ 分别设计学生选课和教师任课两个局部信息的结构E-R图。 ⑫ 将上述设计完成的E-R图合并成一个全局E—R图。

⑬ 将该全局E-R转换为等价的关系模型表示的数据库逻辑结构。 解:

⑪ 学生选课局部E-R图如图所示,教师任课局部E-R图如图所示。 ⑫ 合并的全局E-R图如图所示。

为避免图形复杂,下面给出各实体属性; 单位:单位名、电话

学生:学号、姓名、性别、年龄 教师:教师号、姓名、性别、职称 课程:编号、课程名

⑬ 该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下: 单位(单位名,电话)

教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名)

学生(学号,姓名,性别,年龄,单位名) 选修(学号,课程编号)

7.图给出(a)、(b)和(c)三个不同的局部模型,将其合并成一个全局信息结构,并设置联系实体中的属性(允许增加认为必要的属性,也可将有关基本实体的属性选作联系实体的属性)。

各实体构成如下:

部门:部门号,部门名,电话,地址

职员:职员号,职员名,职务(干部/工人),年龄,性别

设备处:单位号,电话,地址

工人:工人编号,姓名,年龄,性别 设备:设备号,名称,位置,价格

零件:零件号,名称,规格,价格 厂商:单位号,名称,电话,地址

解:汇总后的E-R图如图所示。 各类实体的属性为:

部门:部门号,部门名,电话,地址

职工:职工号,职工名,职务,年龄,性别 设备:设备号,名称,规格,价格 零件:零件号,名称,规格,价格

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

⑪ 可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。

⑫ 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。

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

根据以上情况和假设,试作如下设计: ⑪ 构造满足需求的E-R图。 ⑫ 转换为等价的关系模型结构。 解:

⑪ 满足上述需求的E-R图如图所示。 ⑫ 转换为等价的关系模型结构如下: 借书人(借书证号,姓名,单位)

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

9.工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息:

·一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 ·一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 ·一个车间生产多种产品,产品有产品号和价格。

·一个车间生产多种零件,一个零件出可能为多个车间制造。零件有零件号、重量和价格。

·一个产品由多种零件组成,一种零件出可装配出多种产品。 ·产品与零件均存入仓库中。

·厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 试:

⑪ 画出该系统的实体-联系模型E-R图。 ⑫ 给出相应的关系数据模型。 ⑬ 画出该系统的层次模型图。 解:

⑪ 该系统的E-R图如图5.16所示。 ⑫ 相应的关系数据模型如下: 工厂(厂名,厂长姓名)

车间(车间号,主任姓名,地址,电话,厂名) 工人(职工号,姓名,年龄,性别,工种,车间号) 仓库(仓库号,主任姓名,电话,厂名) 产品(产品号,价格,车间号,仓库号) 零件(零件号,重量,价格,仓库号) 制造(车间号,零件号) 装配(产品号,零件号)

************************************************************************** 基本题6

一、单项选择题

1.下面哪个不是数据库系统必须提供的数据控制功能▁▁▁▁▁。

A.安全性 B.可移值性 C.完整性 D.并发控制 B

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

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

3.数据库的▁▁▁▁▁是指数据的正确性和兼容性。

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

4.在资料系统中,对存取权限的定义称为▁▁▁▁▁。

A.命令 B.授权 C.定义 D.审计 B

5.数据库管理系统通常提供授权功能来控制不同用户访问资料的权限,这主要是为了实现数据库的▁▁▁▁▁。

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

6.授权编译系统和合法性检查机制一起组成了▁▁▁▁▁子系统。 A.安全性 B.完整性 C.并发控制 D.恢复 A

7.▁▁▁▁▁是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务 D.文件 C

8.事务的原子性是指▁▁▁▁▁。

A.事物中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的资料对并发的并发的其它事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 A

9.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务招待失败,则已做过的更新被恢复原状,好象整个事务从未有过这些更新,这样保持了资料处于▁▁▁▁▁状态。

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

10.事务的一致性是指▁▁▁▁▁。

A.事务中包括的所有操作要么都做,要么都有不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的资料对并发的并发的其它事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 D

11.事务的隔离性是指▁▁▁▁。

A.事物中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的资料对并发的并发的其它事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

C

12.事务的持续性是指▁▁▁▁▁。

A.事物中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的资料对并发的并发的其它事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 B

13.多用户的数据库系统的目标之一是使它的每个用户好象面对着一个单用户的数据库一样使用它,为此数据库系统必须进行▁▁▁▁▁。

A.安全性控制 B.完整性控制 C.并发控制 D.可靠性控制 C

14.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是▁▁▁▁▁。 A.该操作不存在问题 B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”资料 B

----------------------------------------------------

T1 T2

----------------------------------------------------

读A=10

读A=10

A=A—5写回

A=A—8写回 -----------------------------------------------------

15.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是▁▁▁▁▁。 A.该操作不存在问题 B.该操作丢失

C.修改该操作不能重复读 D.该操作读“脏”资料 C

-------------------------------------------------------

T1 T2

--------------------------------------------------------

读A=10,B=5 求和15

读A=10 A=A*2 读A=20,B=5 求和25,验证错

-------------------------------------------------------

16.设有两个事务T1、T2,其并发操作如下图所示,下列评价正确的是▁▁▁▁▁。 A.该操作不存在问题 B.该操作丢失操作 C.该操作不能重复读 D.该操作读“脏”资料 D

-----------------------------------------------------

T1 T2

------------------------------------------------------

读A=100 A=A*2写回

读A=200

ROLLBACK 恢复A=100

------------------------------------------------------

17.设有两事务T1和T2,它们的并发操作如下图所示。

----------------------------------------------------------------

T1 T2

-----------------------------------------------------------------

读X=48

读X=48 X ← X+10写回X

X ← X—2写回X

----------------------------------------------------------------- 对于这个并发操作,下面评价正确的是▁▁▁▁。

A.该操作丢失了修改 B.该操作不存在问题 C.该操作读“脏”资料 D.该操作不能重复读 A

18.设T1和T2为两个事务,它们对资料A的并发操作如下图所示。 ------------------------------------------------------- T1 T2

---------------------------------------------------------- ⑪ 请求

SLOCK A 读A=18

⑫ 请求

SLOCK A

读A=18

⑬ A=A+10

写回A=28 COMMIT

UNLOCK A

⑭ 写回A=18

COMMIT UNLOCK A

----------------------------------------------------------- 对这个并发操作,下面5个评价中的▁▁▁▁▁和▁▁▁▁▁两条评价是正确的。 A.该操作不能重复读 B.该操作丢失修改

C.该操作符合完整性要求

D.该操作的第⑪步中,事务T1应申请X锁

E.该操作的第⑫步中,事务T2不可能得到对A的锁 B D

19.解决并发操作带来的资料不一致性问题普遍采用▁▁▁▁▁。 A.封锁 B.恢复 C.存取控制 D.协商 A

20.若事务T对资料R已加锁,则其它对资料R▁▁▁▁▁。 A.可以加S锁不能加X锁 B.不能加S锁可以加X锁 C.可以加S锁也可以加X锁 D.不能加任何锁 D

21.不允许任何其它事务对这个锁定目标再加任何类型锁的锁是▁▁▁▁▁。 A.共享锁 B.排它锁 C.共享锁或排它锁 D.以上都不是 B

22.数据库中的封锁机制是▁▁▁▁▁的主要方法。

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

23.关于“死锁”,下列说法中正确的是▁▁▁▁▁。 A.死锁是操作系统中的问题,数据库操作中不存在

B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库 C.当两个用户竟争相同资源时不会发生死锁 D.只有出现并发操作时,才有可能出现死锁 D

24.对并发操作若不加以控制,可能会带来▁▁▁▁▁问题。 A.不安全 B.死锁 C.死机 D.不一致 D

25.数据库系统的并发控制的主要方法是采用▁▁▁▁▁机制。

A.拒绝 B.改为串行 C.封锁 D.不加任何控制 C

26.若数据库中只包含成功事务提交的结果,则此数据库就称为处于▁▁▁▁状态。 A.安全 B.一致 C.不安全 D.不一致 B

27.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的资料未受影响,这种情况称为▁▁▁▁▁。

A.事务故障 B.系统故障 C.介质故障 D.运行故障 B

28.若系统在运行过程中,由于某种硬件故障,使存储在外存上的资料部分损失或全部损失,这种情况称为▁▁▁▁▁▁。

A.事务故障 B.系统故障 C.介质故障 D.运行故障 C

29.▁▁▁▁▁用来记录对数据库中资料进行的每一次更新操作。

A.后援副本 B.日志文件 C.数据库 D.缓冲区 B

30.后援副本的用途是▁▁▁▁▁。

A.安全性保障 B.一致性保障 C.故障后的恢复 D.资料的转储 C

31.用于数据库恢复的重要文件是▁▁▁▁▁。

A.数据库文件 B.索引文件 C.日志文件 D.备注文件 C

32.日志文件是用于记录▁▁▁▁▁。

A.程序运行过程 B.资料操作 C.对资料的所有更新操作 D.程序执行的结果 C

33.并发操作会带来哪些资料不一致性▁▁▁▁▁。 A.丢失修改、不可重复读、脏读、死锁 B.不可重复读、脏读、死锁 C.丢失修改、脏读、死锁

D.丢失修改、不可重复读、脏读 D

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

D.资料字典、应用程序、数据库后备副本 C

35.在数据库的安全性控制中,为了保证用户只能存取他有权存取的资料。在授权的定义中,资料对象的▁▁▁▁▁▁,授权子系统就越灵活。

A.范围越小 B.范围越大 C.约束越细致 D.范围越适中 36.数据库恢复通常可采取如下方法: ⑪ 定期将数据库做成①▁▁▁▁▁▁。

⑫ 在进行事务处理过程中将数据库更新的全部内容写入②▁▁▁▁▁▁。

⑬ 在数据库系统运行正确的情况下,系统按一定时间隙设立③▁▁▁▁▁▁,新的建立后意味着旧的③▁▁▁▁▁▁去掉,即在内存缓冲区中的内容还没有写入到磁盘中去的有关状态③▁▁▁▁▁▁记录都写入到磁盘文件中去,这种文件称为③▁▁▁▁▁▁。

⑭ 发生故障时,用当时资料内容和④▁▁▁▁▁▁的更新前的映像,将文件恢复到最近的⑤▁▁▁▁▁▁状态。

⑮ 用⑭不能恢复资料时,可用最新的①和④的更新映像将文件恢复到最新的⑤状态。 A.副本文件 B.日志文件 C.检查点文件 D.死锁文件 E.两套文件 F.主文件 G.库文件 ①A ②B ③C ④B ⑤C

二、填空题

1.数据库保护包含资料的▁▁▁▁。 安全性、完整性、并发控制、恢复

2.保护资料安全性的一般方法是▁▁▁▁▁。 设置用户标识和存取权限控制

3.资料的安全性是指▁▁▁▁▁。

保护数据库,防止未经授权的,或不合法的使用造成的资料汇漏、更改或破坏

4.安全性控制的一般方法有①▁▁▁▁▁、②▁▁▁▁▁、③▁▁▁▁▁、④▁▁▁

▁▁和视图的保护五级安全措施。

①用户标识鉴定 ②存取控制 ③审计 ④资料加密

5.存取权限包括两方面的内容,一个是①▁▁▁▁▁,另一个是②▁▁▁▁▁。 ①要存取的资料对象 ②对此资料对象进行操作的类型 6.①▁▁▁▁▁和②▁▁▁▁▁一起组成了安全性子系统。 ①授权编译系统 ②合法权检查机制

7.▁▁▁▁▁是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 事务

8.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是▁▁▁▁机制。

封锁

9.有两种基本类型的锁,它们是①▁▁▁▁▁和②▁▁▁▁▁。 ①共享锁 ②排它锁

10.如果数据库中只包含成功事务提交的结果,就说数据库处于▁▁▁▁状态。 一致

11.对并发操作若不加以控制,可能带来的不一致性有①▁▁▁▁▁、②▁▁▁▁▁和③▁▁▁▁▁。

①丢失修改 ②不能重复读 ③读“脏”资料 12.并发控制是对用户的▁▁▁▁加以控制和协调。 并发操作

13.并发控制的主要方法是采用①▁▁▁▁▁机制,其类型有②▁▁▁▁▁和③▁▁▁▁▁两种。

①封锁 ②排它锁(或X锁) ③共享锁(或S锁)

14.若事务T对资料对象A加了S锁,则其它事务只能对资料A再加①▁▁▁▁▁,不能加②▁▁▁▁▁,直到事务T释放A上的锁。

①S锁 ②X锁

15.若事务在运行过程中,由于种种原因,使事务未运行到终止点之前就被撤消,这种情况就称为▁▁▁▁。

事务故障

16.数据库恢复是将数据库从①▁▁▁▁▁状态恢复到②▁▁▁▁▁的功能。 ①错误 ②某一已知的正确状态

17.系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的资料不受影响,这种情况称为▁▁▁▁。

系统故障

18.系统在运行过程中,由于某种硬件故障,使存储在外存上的资料部分损失或全部损失,这种情况称为▁▁▁▁▁。

介质故障

19.数据库系统在运行过程中, 可能会发生故障。故障主要有①▁▁▁▁▁、②▁▁▁▁▁、介质故障和③▁▁▁▁▁四类。

①事务故障 ②系统故障 ③计算机病毒

20.数据库系统在运行过程中,可能会发生各种故障,其故障对数据库的影响总结起来有两类:①▁▁▁▁▁和②▁▁▁▁▁。

①数据库本身被破坏 ②数据库处于不一致状

21.数据库系统是利用存储在外存上其它地方的①▁▁▁▁▁来重建被破坏的数据库。它主要有两种:②▁▁▁▁▁和③▁▁▁▁▁。

①冗余数据 ②后援副本 ③日志文件

22.制作后援副本的过程称为①▁▁▁▁▁。它又分为②▁▁▁▁▁和③▁▁▁▁▁。 ①转储 ②增量转储 ③海量转储

23.事务故障、系统故障的恢复是由①▁▁▁▁▁完成的,介质故障是由②▁▁▁▁▁完成的。

①系统自动 ②DBA执行恢复操作过程

24.资料的完整性是指数据的①▁▁▁▁▁和②▁▁▁▁▁。 ①正确性 ②兼容性

25.完整性约束是指①▁▁▁▁▁和②▁▁▁▁▁。 ①实体整体性 ②参照完整性

26.实体完整性是指在基本表中,▁▁▁▁。 主属性不能取空值

27.参照完整性是指在基本表中▁▁▁▁▁。 外码可以是空值或者另一个关系主码的有效值

28.为了保护数据库的实体完整性,当用户程序对主码进行更新使主码更新使主码值不唯一时,DBMS就▁▁▁▁。

拒绝此操作

29.在Visual FoxPro中完整性规则可分为①▁▁▁▁▁和②▁▁▁▁▁两大类。 ①域完整性规则 ②关系完整性规则

30.在数据库系统中对存取权限的定义称为▁▁▁▁。 授权

31.在SQL语言中,为了数据库的安全性,设置了对资料的存取进行控制的语句,对用户授权使用①▁▁▁▁▁语句,收回所授的权限使用②▁▁▁▁▁语句。

①GRANT ②REVOKE

习题6

1.叙述数据库实现完整性检查的方法?

答:要实现数据库完整性的检查,系统要提供定义完整性约束条件的机制,和提供检查是否违背完整性约束条件的方法。当DBMS发现用户的操作违背了完整性约束条件时,就采取一定的控制。具体的控制是随系统而定的。

2.什么是事务?

答:事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。它是一个不可分开的工作单位,其中包含的所有操作末么都执行,要么都不执行。

数据库是一个共享资源,它允许多个用户程序并发地存取数据库中的资料。介是,如果系统对并发执行的操作不加以控制,就会存取和存储不正确伯资料,破坏数据库的完整性。并发控制的主要方法就个采用封存锁机制。封锁就是一个事务在对某个资料对象进行操作前,先向系统发出请求,对其加锁。

3.事务中的提交和回滚是什么意思?

答:事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中中去,事务正常结束。

事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在

事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时状态。

4.在数据库中为什么要有并发控制?

答:数据库是一个共享资源,它允许多个用户同时并行地存取资料。若系统对并行操作不加控制,就会存取和存储不正确的资料,破坏数据库的完整性(或称为一致性)。并发控制的目的,就是要以正确的方式调度并发操作,避免造成各种不一致性,使一个事务的执行不受另一个事务的干扰。

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

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

6.叙述数据库中资料的一致性级别?

答:在数据库的并发控制中,资料一致性级别的概念有三个:丢失修改,不能重复读和读“脏”资料。

丢失修改是指T1和T2先后读取了同一个资料,T1把资料修改了并写回库中,T2也将读取的资料修改了并写回库中。这样,T2提交的结果导致T1对数据库的修改丢失了。

不能重复读是指T1读取A,B两个资料并进行了运算之后,T2读了其中的资料B,把它个性后写加数据库,最后当T1为了对读取值进行校对而再重读B时,读的是T2修改后的值而不是T1开始读的值。

读“脏”资料是指T1修改了某一资料,并将其写回库中,T2读了这修改后的资料,而事务T1由于某种原因撤消了,被它修改的资料恢复了原来的值,这时,T2读的资料就与库中的资料不一致了,即T2读了不正确的资料,也称为T2读了“脏”资料。

7.叙述封锁的概念?

答:封锁就是事务T在对某个资料对象操作之前,先向系统发出请求,对其加锁,这样事务T就对这个资料对象有了一定的控制,其它事务就不能更新此资料,直到事务T释放它的锁为止。

8.叙述数据库中死锁产生的原因和解决死锁的方法? 答:封锁产生的原因:

封锁可以引起死锁。比如事务T1封锁了资料A,事务T2封锁了资料B。T1又申请封锁资料B,但因B被T2封锁,所以T1只能等待。T2又申请封锁资料A,但A已被T1封锁,所以也处于等待状态。这样,T1和T2处于相互等待状态而均不能结束,这就形成于死锁。解决死锁的常用方法有如下三种:

⑪要求每个事务一次就要将它所需要的资料全部加锁

⑫预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁

⑬允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去。

9.基本的封锁类型有几种?试叙述它们的含义? 答:基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。

若事务T对资料A加上X锁,则只允许事务T读取和修改资料A,其它事务都不能再

对匣任何类型的锁,直到T释放A上的锁。

若事务T对资料A加上S锁,则其它事务只有再对A加S锁,而不能加X锁,直到T释放A上的锁。

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

答:由于硬件的故障、系统软件和应用软件的错误、操作的失误以及恶意的在破坏都是不可避免的,这些故障,轻则会造成运行事务非正常中断,影响数据库中资料的正确性,重则破坏资料,使数据库中的资料部分丢失或全部丢失。为了保证各种故障发生后,数据库中的资料都能从错误状态恢复到某种逻辑一致状态,DBMS中的恢复子系统是必不可少的。

恢复子系统的功能就是利用冗余数据,再根据故障的类型采取相应的恢复措施,把数据库恢复到故障前面 的某某一时刻的一致性状态。

11.什么是数据库的转储?转储的意义是什么?

答:对数据库制作后援副本的过程称为转储。转储是由DBA定期将数据库复制到另一个存盘用的内存上,转储的意义就在于,当数据库遭到破坏时,可将后援副本重新装入,从而把数据库恢复到某个一致性状态。

12.为什么要设立日志文件?

答:设立日志文件的目的,是为了记录对数据库中资料资料的每一次更新操作。从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。

13.怎样进行系统故障的恢复?

答:当系统故障发生时,造成数据库处于不一致状态的原因有两个,一个是一些未完成事务对数据库的部分更新已写入数据库中,另一个是一些已提交事务对数据库的更新还留在内存缓冲区,没来得及写加数据库。因此,基本的恢复分为以下两步:

⑪根据日志文件建立重做队列和撤消队列

从头扫描日志文件,找出故障前已提交的事务记录,将其事务标识放入重做队列;还要找出故障前尚未完成的事务,将该事务放入撤消队列。

⑫对重做队列中的事务进行重做处理,对撤消队列中的事务进行撤消处理 对于重做处理(REDO),正向扫描日志文件,再根据重做队列,将已完成的事务的所有操作重新执行;对撤消处理(UNDO),反向扫描日志文件,再根据撤消队列,将未完成的事务的更新操作执行逆操作。

14.怎样进行介质故障的恢复?

答:在发生介质故障时,磁盘上的物理数据库被破坏,这时的恢复操作分为以下几步: ⑪重装转储后援副本,使数据库恢复到转储时的一致状态;

⑫从故障开始,反向阅读日志文件,找出已提交事务标记作重做队列 ;

⑬从起始点开始正向阅读日志文件,根据重做队列的记录,重做所有已完成的事务,将数据库恢复到故障前某一时刻的一致状态。

15.数据库在运行过程中可能产生的故障有哪几类? 答:数据库在运行过程中可能产生的故障有如下几类: ⑪事务故障

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

⑫系统故障

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

⑬介质故障

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

⑭计算机病毒

计算机病毒是一种人为的故障和破坏,它是一种计算机程序。通过读写染有病毒的计算机系统中的程序和资料,这些病毒可以迅速繁殖和传播,危害计算机统和数据库。

16.叙述数据库的并发控制?

答:数据库是一个共享资源,它允许多个用户程序并行地存取数据库中的资料,但是,如果系统对并行执行的操作不加以控制就会存取和存储不正确的资料,破坏数据库的完整性。

并发控制的主要方法是采用封锁机制。封锁是事务T在对某个资料对象操作之前,先向系统发出请求对其加锁。基本的封锁类型有两种:排它锁(X锁)和共享锁(S锁)。所谓X锁,是事务T对资料A加上X锁时,只允许事务T读取和修改资料A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。所谓S锁,是事务T对资料A加上S锁时,其它事务只能再对资料A加S锁,而不能加X锁,直到T释放A上的S锁。

17.在数据库的保护中有资料的安全性、完整性、并发控制和数据库的恢复。其中的安全性和完整性有何区别?

答:资料的完整性是指为了防止资料中存在不合语义的资料,防止错误的输入和输出所造成的无效操作和错误结果;资料的安全性是指保护数据库不被恶意的破坏和非法的存取。

18.设有三个事务T1、T2、T3,所包含的动作为: T1:A=A+2 T2:a=a*2 T3:a=a**2

假定这三个事务允许并行操作,试讨论它们可能实施的调度。 解:它们有以下6种可能正确的调度:

编号 调度 A初值为1时,A最后结果 1 T1-T2-T3 36 2 T1-T3-T2 18 3 T2-T3-T1 6 4 T2-T1-T3 16 5 T3-T1-T2 6

6 T3-T2-T1 4

19.假设存款余额x=1000元,甲事务取走存款300元,乙事务取走存款200元,其执行时间如下:

------------------------ ----------- -------------------------- 甲事务 时间 乙事务

------------------------ ----------- -------------------------- 读x t1

t2 读x 更新x=x—300 t3

t4 更新x=x—200

------------------------- ----------- ------------------------- 如何实现这两个事务的并发控制?

解:如果直接按时间顺序执行甲乙两个事务,则最后的x为800,而不是正确的500。 为此,采用封锁的方法,将甲封锁的方法,将甲事务修改为: WHILE(x已建立排它锁) {

等待 }

对x建立排它锁 读x

更新x=x—3 释放排它锁

将乙事务修改为:

WHILE(x已建立排它锁) {

等待 }

对x建立排它锁 读x

更新x=x—200 释放排它锁

20.有如下两个事务及其执行时间如下:

----------------------- ----------- --------------------------- 事务A 时间 事务B

---------------------- ----------- --------------------------- 打开stud数据库 t1

读取最后一条记录 t2 打开stud数据库 添加一条新记录 t3 读取最后一条记录 关闭stud数据库 t4 关闭stud数据库 ------------------------ ------------ -------------------------

如何实现这两个事务的并发控制?

解:采用封锁的方法,将事务A修改为: 建立一个共享锁 打开stud数据库 读取最后一条记录 释放共享锁

WHILE(stud数据库已建立排它锁) { 等待 }

建立排它锁 添加一条新记录 释放排它锁

关闭stud数据库

将事务B修改为:

建立一个共享锁 打开stud数据库 读取最后一条记录 释放共享锁

WHILE(stud数据库已建立排它锁) { 等待 }

建立排它锁 添加一条新记录 释放排它锁

关闭stud数据库

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务