搜索
您的当前位置:首页正文

数据库原理与技术课程习题答案

来源:六九路网


数据库原理与技术课程习题答案

第1章

一、选择题

1. 下列关于用文件管理数据的说法,错误的是 D

A.用文件管理数据,难以提供应用程序对数据的独立性

B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序

C.用文件存储数据的方式难以实现数据访问的安全控制

D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率

2. 下列说法中,不属于数据库管理系统特征的是 C

A.提供了应用程序和数据的独立性

B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合

C.用户访问数据时,需要知道存储数据的文件的物理信息

D.能保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据

1

丢失

3. 数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于 A

A.系统软件 B.工具软件

C.应用软件 D.数据软件

4. 数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 B

A.数据库 B.操作系统

C.应用程序 D.数据库管理系统

5. 下列关于数据库技术的描述,错误的是 D

A.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系

B.数据库中的数据具有较小的数据冗余

C.数据库中数据存储结构的变化不会影响到应用程序

D.由于数据库是存储在磁盘上的,因此用户在访问数据库时需要知道其存储位置二、简答题

2

1. 试说明数据、数据库、数据库管理系统和数据库系统的概念。

答: 数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后保存在计算机中。

数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。

数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。

数据库系统一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。

2. 数据管理技术的发展主要经历了哪几个阶段?

答: 数据管理技术的发展因此也就经历了文件管理和数据库管理两个阶段。

最初对数据的管理是以文件方式进行的,也就是用户通过编写应用程序来实现对数据的存储和管理。后来产生了数据库技术,也就是用数据库来存储和管理数据。

3. 文件管理方式在管理数据方面有哪些缺陷?

答: 文件方式管理数据有如下缺点。(1)编写应用程序不方便。(2)数据冗余不可避免。(3)应用程序依赖性。(4)不支持对文件的并发访问。(5)数据间联系弱。(6)难以满足不同用户对数据的需求。(7)无安全控制功能。

4. 与文件管理相比,数据库管理有哪些优点?

3

答: 用数据库技术管理数据具有以下特点:(1)相互关联的数据集合。(2)较少的数据冗余。(3)程序与数据相互独立。(4)保证数据的安全和可靠。(5)最大限度地保证数据的正确性。(6)数据可以共享并能保证数据的一致性。

5. 在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?

答: 应用程序不关心数据的存储位置和存储结构。因为当数据的存储方式发生变化时, 这些变化都将由DBMS负责维护。应用程序并不知道也不需要知道数据存储方式或数据项已经发生了变化。

6. 数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?

答: 数据库系统是基于数据库的计算机应用系统,一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。数据库是数据的汇集场所,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指访问数据库数据的程序,数据库管理员负责整个数据库系统的正常运行。

第2章

一、选择题

1. 数据库三级模式结构的划分,有利于A

4

A. 数据的独立性 B. 管理数据库文件

C. 建立数据库 D. 操作系统管理数据库

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

A.内模式 B.模式 C. 外模式 3. 下列关于数据库中逻辑独立性的说法,正确的是C

A. 当内模式发生变化时,模式可以不变

B. 当内模式发生变化时,应用程序可以不变

C. 当模式发生变化时,应用程序可以不变

D. 当模式发生变化时,内模式可以不变

4. 下列模式中,用于描述单个用户数据视图的是 C

A.内模式 B.模式

C.外模式 D.存储模式

5. 数据库中的数据模型三要素是指 B

D. 其他

5

A.数据结构、数据对象和数据共享

B.数据结构、数据操作和数据完整性约束

C.数据结构、数据操作和数据的安全控制

D.数据结构、数据操作和数据的可靠性

6. 下列关于E-R模型中联系的说法,错误的是A

A.一个联系最多只能关联2个实体

B.联系可以是一对一的

C.一个联系可以关联2个或2个以上的实体

D.联系的种类是由客观世界业务决定的

7. 数据库中的三级模式以及模式间的映像提供了数据的独立性。下列关于两级映像的说法,正确的是

A

A.外模式到模式的映像是由应用程序实现的,模式到内模式的映像是由DBMS实现的

B.外模式到模式的映像是由DBMS实现的,模式到内模式的映像是由应用程序实现的

6

C.外模式到模式的映像以及模式到内模式的映像都是由DBMS实现的

D.外模式到模式的映像以及模式到内模式的映像都是由应用程序实现的

8. 下列关于概念层数据模型的说法,错误的是 C

A.概念层数据模型应该采用易于用户理解的表达方式

B.概念层数据模型应该比较易于转换成组织层数据模型

C.在进行概念层数据模型设计时,需要考虑具体的DBMS的特点

D.在进行概念层数据模型设计时,重点考虑的内容是用户的业务逻辑

二、简答题

1.解释数据模型的概念,为什么要将数据模型分成概念层数据模型和组织层数据模型?

答: 数据模型(data model)是对现实世界数据特征的抽象。

数据模型满足三个方面的要求:(1)能够真实地模拟现实世界。(2)容易被人们理解。(3)能够方便地在计算机上实现。用一种模型来同时很好地满足这三方面的要求在目前是比较困难的,因此在数据库领域中是针对不同的使用对象和应用目的,采用不同的数据模型来实现。

7

根据模型应用的不同目的,可以将模型分为两大类,它们分别属于两个不同的层次。第一类是概念层数据模型,也称为概念模型或信息模型,它从数据的应用语义视角来抽取现实世界中有价值的数据并按用户的观点来对数据进行建模。另一类是组织层数据模型,也称为组织模型,它从数据的组织方式来描述数据。

2.组织层数据模型都有哪些?目前最常用的是哪个?

答: 数据库发展到现在主要采用了如下几种组织方式(组织模型):层次模型(用树型结构组织数据)、网状模型(用图型结构组织数据)、关系模型(用简单二维表结构组织数据)以及对象-关系模型(用复杂的表格以及其他结构组织数据)。目前最常用的是关系模型。

3.实体之间的联系有几种?请为每一种联系举出一个例子。

答: 两个实体之间的联系通常有如下三类:

(1)一对一联系(1 : 1)。如部门和经理(假设一个部门只允许有一个经理,一个人只允许担任一个部门的经理)。

(2)一对多联系(1 : n)。比如,假设一个系有多名教师,而一个教师只允许在一个系工作,则系和教师之间也是一对多联系。

(3)多对多联系(m : n)。比如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。

4.说明实体-联系模型中的实体、属性和联系的概念。

8

答: 在实体-联系模型中主要涉及三方面内容:实体、属性和联系。

(1)实体。实体是具有公共性质、并可相互区分的现实世界对象的集合,或者说是具有相同结构的对象的集合。

(2)属性。每个实体都具有一定的特征或性质,这样我们才能根据实体的特征来区分一个个实例。

(3)联系。在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界反映为实体内部的联系和实体之间的联系。

5.指明下列实体间联系的种类:

(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。

(2)商店和顾客。

(3)国家和首都(假设国家的首都不会变化,一个国家只有一个首都)

(4)飞机和乘客。

答:(1)教研室和教师是一对多,(2)商店和顾客是多对多,(3)国家和首都是一对一,(4)飞机和乘客是多对多.

6.数据库包含哪三级模式?试分别说明每一级模式的作用?

9

答: 数据库的三级模式结构是指数据库的外模式、模式和内模式.

内模式:是最接近物理存储的,也就是数据的物理存储方式,包括数据存储位置、数据存储方式等。

外模式:是最接近用户的,也就是用户所看到的数据视图。

模式:是介于内模式和外模式之间的中间层,是数据的逻辑组织方式。

7.数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能?

答: 数据库管理系统在三个模式之间提供了以下两级映像:外模式/模式映像,模式/内模式映像。

正是这两级映像功能保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。

第3章

一、 选择题

1. 下列关于关系中主属性的描述,错误的是 D

A. 主键所包含的属性一定是主属性

B. 外键所引用的属性一定是主属性

10

C. 候选键所包含的属性都是主属性

D. 任何一个主属性都可以唯一地标识表中的一行数据

2. 设有关系模式:销售(顾客号,商品号,销售时间,销售数量),若一个顾客可在不同时间对同一产品购买多次,同一个顾客在同一时间可购买多种商品,则此关系模式的主键是 D

A.顾客号 B.产品号

C.(顾客号,商品号) D.(顾客号,商品号,销售时间)

3. 关系数据库用二维表来组织数据。下列关于关系表中记录的说法,正确的是 B

A.顺序很重要,不能交换 B.顺序不重要

C.按输入数据的顺序排列 D.一定是有序的

4. 下列不属于数据完整性约束的是 D

A.实体完整性 B.参照完整性

C.域完整性 D.数据操作完整性

5. 下列关于关系操作的说法,正确的是 D

11

A.关系操作是基于集合的操作

B.在进行关系操作时,用户需要知道数据的存储位置

C.在进行关系操作时,用户需要知道数据的存储结构

D.用户可以在关系上直接进行行定位操作

6. 下列关于关系的说法,错误的是 D

A.关系中的每个属性都是不可再分的基本属性

B.关系中不允许出现值完全相同的元组

C.关系中不需要考虑元组的先后顺序

D.关系中属性顺序的不同,关系所表达的语义也不同

7. 下列关于关系代数中选择运算的说法,正确的是 A

A.选择运算是从行的方向选择集合中的数据,选择运算后的行数有可能减少

B.选择运算是从行的方向选择集合中的数据,选择运算后的行数不变

C.选择运算是从列的方向选择集合中的若干列,选择运算后的列数有可能减少

12

D.选择运算是从列的方向选择集合中的若干列,选择运算后的列数不变

8. 下列用于表达关系代数中投影运算的运算符是 B

A.σ B.∏ C. D.+

9. 下列关于关系代数中差运算结果的说法,正确的是 D

A.差运算的结果包含了两个关系中的全部元组,因此有可能有重复的元组

B.差运算的结果包含了两个关系中的全部元组,但不会有重复的元组

C.差运算的结果只包含两个关系中相同的元组

D.“A-B”差运算的结果由属于A但不属于B的元组组成

10. 设有如下三个关系,学生(学号,姓名,性别),课程(课程号,课程名,学分)和选课(学号,课程号,成绩)。现要查询赵飞选的课程的课程名和学分,下列关系代数表达式正确的是 B

A.∏课程名,学分( σ姓名 =‘赵飞’(学生) ∞ 课程 ∞ 选课)

B.∏课程名,学分( σ姓名 =‘赵飞’(学生) ∞ 选课 ∞ 课程)

C.∏课程名,学分( σ姓名 =‘赵飞’(学生 ∞ 课程 ∞ 选课))

13

D.∏课程名,学分( σ姓名 =‘赵飞’(课程 ∞ 学生 ∞ 选课 ))

二、简答题

1. 试述关系模型的三个组成部分。

答:关系模型的三个组成部分是由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。

2. 解释下列术语的含义:

(1) 主键: 也称为主码或主关键字,是表中的属性或属性组,用于唯一地确定一个元组。

(2) 候选键: 如果一个属性或属性集的值能够唯一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。

(3) 关系: 关系就是二维表,二维表的名字就是关系的名字

(4) 关系模式: 是指二维表的结构,或者关系模式就是二维表的表框架或表头结构。

(5) 关系数据库: 对应于一个关系模型的所有关系的集合称为关系数据库。

3. 关系数据库的三个完整性约束是什么?各是什么含义?

答:关系数据库的数据完整性约束主要包括三大类:实体完整性、参照完整性和用户定

14

义的完整性。

实体完整性是保证关系中的每个元组都是可识别的和唯一的。是指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录。

参照完整性也称为引用完整性。现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。

用户定义的完整性也称为域完整性或语义完整性。用户定义的完整性就是针对某一具体应用领域定义的数据约束条件。它反映某一具体应用所涉及的数据必须满足应用语义的要求。

4. 利用表3-11至3-13所给的三个关系,写出实现如下查询的关系代数表达式。

(1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。

∏Sno,Sname,Cno,Grade(σSdept=‘信息管理系’(Student) SC Course)

(2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。

∏Sname,Sdept,Grade(σCname=‘VB’(Course) SC Student)

(3)查询考试成绩高于90分的学生的姓名、课程名和成绩。

∏Sname,Cno,Grade(σGrade>90(SC) Student)

(4)查询至少选修了0821103学生所选的全部课程的学生姓名和所在系。

15

∏Sname, Sdept(Student (∏SNO,CNO(SC) ÷ ∏cno(σSno=‘0821103’(SC)))) (5)查询至少选了“C001”和“C002”两门课程的学生姓名、所在系和所选的课程号。

∏Sname,Sdept,Cno(∏Sno(σCno =‘C001’ (SC)) Student SC) ∩

∏Sname,Sdept,Cno(∏Sno(σCno =‘C002’ (SC)) Student SC)

第4章

一、选择题

1. 下列关于SQL语言特点的叙述,错误的是 B

A.使用SQL语言访问数据库,用户只需提出做什么,而无需描述如何实现

B.SQL语言比较复杂,因此在使用上比较难

C.SQL语言可以在数据库管理系统提供的应用程序中执行,也可以在命令行方式下执行

D.使用SQL语言可以完成任何数据库操作

2. 下列所述功能中,不属于SQL语言功能的是 D

A.数据库和表的定义功能 B.数据查询功能

16

C.数据增、删、改功能 D.提供方便的用户操作界面功能

3. 设某职工表中有用于存放年龄(整数)的列,下列类型中最合适年龄列的是 C

A.int B.smallint

C.tinyint D.bit

4. 设某列的类型是char(10),存放“数据库”,占用空间的字节数是 A

A.10 B.20

C.3 D.6

5. 设某列的类型是nchar(10),存放“数据库”,占用空间的字节数是 B

A.10 B.20

C.3 D.6

6. 设某列的类型是varchar(10),存放“数据库”,占用空间的字节数是 D

A.10 B.20

C.3 D.6

17

7. 设某列的类型是nvarchar(10),存放“abc”,占用空间的字节数是 D

A.10 B.20

C.3 D.6

8. 下列约束中用于限制列的取值范围的约束是 A.PRIMARY KEY B.CHECK

C.DEFAULT D. UNIQUE

9. 下列约束中用于限制列取值不重的约束是 D A.PRIMARY KEY B.CHECK

C.DEFAULT D. UNIQUE

10. 下列关于DEFAULT约束的说法,正确的是 C

A.一个DEFAULT约束可用于一个表的多个列上

B.DEFAULT约束只能作为表级完整性约束

C.DEFAULT约束只能作为列级完整性约束

B

18

D.DEFAULT约束既可作为表级完整性约束也可作为列级完整性约束

二、简答题

1. SQL语言的特点是什么?具有哪些功能?

答:主要特点有:(1)一体化,(2)高度非过程化,(3)简洁,(4)可以多种方式使用。

SQL语言按其功能可分为4大部分:数据定义、数据查询、数据更改和数据控制。

2. tinyint类型定义的数据的取值范围是多少?

答:tinyint类型定义的数据的取值范围是从 0 到 255 之间的整数

3. SmallDatatime类型精确到哪个时间单位?

答:SmallDatatime类型的默认格式为:YYYY-MM-DD hh:mm:00。精确到分钟。

4. 定点小数类型numeric(p,q)中的p和q的含义分别是什么?

答:p为精度,指定可以存储的十进制数字的最大个数。q为小数位数,指定小数点右边可以存储的十进制数字的最大个数。

5. char(n)和nchar(n)中n的取值范围分别是多少?

19

答:char(n)中的n表示字符串的最大长度,取值范围为1~8000。

nchar(n)中的n表示字符串的最大长度,取值范围为1~4000。

6. 架构的作用是什么?

答:架构(schema,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。

7. 写出定义如下架构的SQL语句。

(1)定义一个名为“BOOK”的架构。

CREATE SCHEMA BOOK

(2)为用户“Teacher”定义一个架构,架构名同用户名。

CREATE SCHEMA AUTHORIZATION Teacher

第5章

一、选择题

1. 当关系R和S进行连接操作时,如果R中的元组不满足连接条件,在连接结果中也会将这些记录保留下来的操作是 A

20

A.左外连接 B.右外连接

C.内连接 D.自连接

2. 设在某SELECT语句的WHERE子句中,需要对Grade列的空值进行处理。下列关于空值的操作,错误的是

C

A.Grade IS NOT NULL B.Grade IS NULL

C.Grade = NULL D.NOT (Grade IS NULL)

3. 下列聚合函数中,不忽略空值的是 D

A.SUM(列名) B.MAX(列名)

C.AVG(列名) D.COUNT(*)

4. SELECT … INTO …FROM语句的功能是 A

A. 将查询结果插入到一个新表中

B. 将查询结果插入到一个已建好的表中

C. 合并查询的结果

D. 向已存在的表中添加数据

21

5. 下列查询查询语句中,错误的是 B

A. SELECT Sno, COUNT(*) FROM SC GROUP BY Sno

B. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3

C. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3

D. SELECT Sno FROM SC GROUP BY Sno

6. 现要利用Student表查询年龄最小的学生姓名和年龄。下列实现此功能的查询语句中,正确的是 D

A. SELECT Sname, MIN(Sage) FROM Student

B. SELECT Sname, Sage FROM Student WHERE Sage = MIN(Sage)

C. SELECT TOP 1 Sname, Sage FROM Student

D. SELECT TOP 1 Sname, Sage FROM Student ORDER BY Sage

7. 设SC表中记录成绩的列为:Grade,类型为int。若在查询成绩时,希望将成绩按‘优’、‘良’、‘中’、‘及格’和‘不及格’形式显示,正确的Case表达式是 C

A. Case Grade

22

When 90~100 THEN '优'

When 80~89 THEN '良'

When 70~79 THEN '中'

When 60~69 THEN '及格'

Else '不及格'

End

B. Case

When Grade between 90 and 100 THEN Grade = '优'

When Grade between 80 and 89 THEN Grade = '良'

When Grade between 70 and 79 THEN Grade = '中'

When Grade between 60 and 69 THEN Grade = '及格'

Else Grade = '不及格'

End

23

C. Case

When Grade between 90 and 100 THEN '优'

When Grade between 80 and 89 THEN '良'

When Grade between 70 and 79 THEN When Grade between 60 and 69 THEN Else '不及格'

End

D. Case Grade

When 90~100 THEN Grade = '优'

When 80~89 THEN Grade = '良'

When 70~79 THEN Grade = '中'

When 60~69 THEN Grade = '及格'

Else Grade = '不及格'

'中'

'及格'

24

End

8. 下列SQL语句中,用于更改表数据的语句是 C

A.ALTER B.SELECT

C.UPDATE D.INSERT

9. 设有Teachers表,该表的定义如下:

CREATE TABLE Teachers(

Tno CHAR(8) PRIMARY KEY,

Tname VARCHAR(10) NOT NULL,

Age TINYINT CHECK(Age BETWEEN 25 AND 65) )

下列插入语句中,不能正确执行的是 D

A.INSERT INTO Teachers VALUES('T100','张三',NULL)

B.INSERT INTO Teachers(Tno,Tname,Age) VALUES('T100','张三',30)

C.INSERT INTO Teachers(Tno,Tname) VALUES('T100','张三')

25

D.INSERT INTO TeachersVALUES('T100','张三')

10. 下列删除计算机系学生的修课记录的语句,正确的是 B

A.DELETE FROM SC JOIN Student b ON S.Sno = b.Sno

WHERE Sdept = '计算机系'

B.DELETE FROM SC FROM SC JOIN Student b ON SC.Sno = b.Sno

WHERE Sdept = '计算机系'

C.DELETE FROM Student WHERE Sdept = '计算机系'

D.DELETE FROM SC WHERE Sdept = '计算机系'

11. 下列条件子句中,能够筛选出Col列中以“a”开始的所有数据的是 A.Where Col = 'a%'

B.Where Col like 'a%'

C.Where Col = 'a_'

D.Where Col LIKE 'a_'

B

26

二、简答题

1. 在聚合函数中,哪个函数在统计时会忽略NULL?

答:SQL提供的统计函数包括:

COUNT(*):统计表中元组的个数。

COUNT([DISTINCT] <列名>):统计本列的列值个数,DISTINCT选项表示去掉列的重复值后再统计。

SUM(<列名>):计算列值的和值(必须是数值型列)。

AVG(<列名>):计算列值的平均值(必须是数值型列)。

MAX(<列名>):得到列值的最大值。

MIN(<列名>):得到列值的最小值。

上述函数中除COUNT(*)外,其他函数在计算过程中均忽略NULL值。

2. HAVING子句的作用是什么?

答:HAVING子句用于对分组后的统计结果再进行筛选。

3. “%”和“_”通配符的作用分别是什么?

27

答:_(下划线):匹配任意一个字符。%(百分号):匹配0到多个字符。

4. WHERE Age BETWEEN 20 AND 30子句,查找的Age范围是多少?

答:Age的范围是,大于等于20,小于等于30.

5. WHERE Sdept NOT IN ('CS', 'IS', 'MA'),查找的数据是什么?

答:既不是CS系、也不是IS系,还不是MA系的数据

6. 自连接与普通内连接的主要区别是什么?

答:自连接是一种特殊的内连接,它是指相互连接的表在物理上为同一张表,但在逻辑上将其看成是两张表。要让物理上的一张表在逻辑上成为两个表,必须通过为表取别名的方法。

7. 外连接与内连接的主要区别是什么?

答:在内连接操作中,只有满足连接条件的元组才能作为结果输出。而外连接也能输出那些不满足连接条件的元组的信息。

8. 相关子查询与嵌套子查询在执行上的主要区别是什么?

答:相关子查询的执行过程是从外到内,外层每扫描一个元组,内层的查询就执行一次。而嵌套子查询执行过程是从内到外,即,先执行内层查询一次,把结果集放到外层查询中,再执行外层查询一次。

28

9. “SELECT … INOT 表名 FROM …”语句的作用是什么?

答:这个语句将查询的结果保存到该数据库的一个新表中。

10. 对统计结果的筛选应该使用哪个子句完成?

答:对统计结果的筛选应该使用HAVING子句来完成。

11. TOP 子句的作用是什么?

答:只希望列出结果集中的前几行结果,而不是全部结果。需要使用TOP子句来限制产生的结果集行数。

第6章

一. 选择题

1.下列关于视图的说法,正确的是 B

A.视图与基本表一样,其数据也被保存到数据库中

B.对视图的操作最终都转换为对基本表的操作

C.视图的数据源只能是基本表

D.所有视图都可以实现对数据的增、删、改、查操作

29

2.下列关于在视图的定义语句中可以包含的语句的说法,正确的是 A

A.只能包含数据查询语句

B.可以包含数据增、删、改、查语句

C.可以包含创建表的语句

D.所有语句都可以

3.视图对应数据库三级模式中的 A

A. 外模式 B. 内模式 C. 模式 D. 其他

4.下列关于通过视图更改数据的说法,错误的是 D

A.如果视图的定义涉及到多张表,则对这种视图一般情况下允许进行更改操作

B.如果定义视图的查询语句中含有GROUP BY子句,则对这种视图不允许进行更改操作

C.如果定义视图的查询语句中含有聚合函数,则对这种视图不允许进行更改操作

D.如果视图数据来自单个基本表的行、列选择结果,则一般情况下允许进行更改操作

30

5.下列关于视图的说法,正确的是 B

A.通过视图可以提高数据查询效率

B.视图提供了数据的逻辑独立性

C.视图只能建立在基本表上

D.定义视图的语句可以包含数据更改语句

6.创建视图的主要作用是 D

A.提高数据查询效率

B.维护数据的完整性约束

C.维护数据的一致性

D.提供用户视角的数据

7.建立索引可以加快数据的查询效率。在数据库的三级模式结构中,索引属于A.内模式 B.模式

C.外模式 D.概念模式

A

31

8.设有学生表(学号,姓名,所在系)。下列建立统计每个系的学生人数的视图语句中,正确的是 D

A.CREATE VIEW v1 AS

SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系

B.CREATE VIEW v1 AS

SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系

C.CREATE VIEW v1(系名,人数) AS

SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系

D.CREATE VIEW v1(系名,人数) AS

SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系

9.下列关于索引的说法,正确的是 C

A.只要建立了索引就可以加快数据的查询效率

B.在一个表上可以创建多个聚集索引

C.在一个表上可以建立多个唯一的非聚集索引

32

D.索引会影响数据插入和更新的执行效率,但不会影响删除数据的执行效率

10. “CREATE UNIQUE INDEX IDX1 ON T(C1,C2) ”语句的作用是 D

A.在C1和C2列上分别建立一个唯一聚集索引

B.在C1和C2列上分别建立一个唯一非聚集索引

C.在C1和C2列的组合上建立一个唯一聚集索引

D.在C1和C2列的组合上建立一个唯一非聚集索引

二、简答题

1. 索引的作用是什么?

答:在数据库中建立索引是为了加快数据的查询速度。索引使对数据的查找不需要对整个表进行扫描,就可以在其中找到所需数据。

2. 索引分为哪几种类型?分别是什么?它们的主要区别是什么?

答:索引分为两大类,一类是聚集索引(Clustered Index,也称为聚簇索引),另一类是非聚集索引(Non-Clustered Index,也称为非聚簇索引)。聚集索引对数据按索引关键字值进行物理排序,非聚集索引不对数据按索引关键字值进行物理排序,而只将索引关键字按值进行排序。

33

3. 在一个表上可以创建几个聚集索引?可以创建多个非聚集索引吗?

答:在一个表中只能创建1个聚焦索引,可以创建多个非聚焦索引。

4. 聚集索引一定是唯一性索引,是否正确?反之呢?

答:聚焦索引是唯一性索引,但唯一性索引不一定是聚焦索引,也可以是非聚焦索引。

5. 在建立聚集索引时,数据库管理系统是真正将数据按聚集索引列进行物理排序。是否正确?

答:是

6. 在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。是否正确?

答:是

7. 不管对表进行什么类型的操作,在表上建立的索引越多越能提高数据操作效率。是否正确?

答:不是

8. 索引通常情况下可以提高哪个数据操作的效率?

答:可提高查询操作的效率

34

9.试说明使用视图的好处。

答:视图的好处有:(1)简化数据查询语句,(2)使用户能从多角度看待同一数据,(3)提高了数据的安全性,(4)提供了一定程度的逻辑独立性.

10.使用视图可以加快数据的查询速度,这句话对吗?为什么?

答:不对,因为视图并没有保存数据,对视图的查询要转换成为对基本表的查询,这个转换需要时间,它会降低查询效率。

第7章

二. 选择题

1.下列关于触发器的说法,正确的是 B

A.在一个表的一个操作上不能建立多个后触发型触发器

B.在一个表的一个操作上不能建立多个前触发型触发器

C.后触发型触发器只执行触发器,而不执行引发触发器执行的数据操作语句

D.后触发型触发器是在触发器执行完成后,再执行引发触发器的数据操作语句

2.设有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售单价),若要限制商品的销售价格必须大于商品的单价,下列做法正确的是 D

35

A.在商品表的单价列上建立一个插入操作的触发器

B.在商品表上建立一个插入和更新操作的触发器

C.在销售表的销售单价列上建立一个插入操作的触发器

D.在销售表上建立一个插入和更新操作的触发器

3.若要限制SC表中Grade列的取值范围在0-100之间,下列做法中最合适的是 A.在SC表上建立一个插入和更新操作的后触发型触发器

B.在SC表上建立一个插入和更新操作的前触发型触发器

C.在SC表上建立一个CHECK约束

D.在SC表的Grade列上建立一个CHECK约束

4.下列关于存储过程的说法,错误的是 C

A.利用存储过程机制可以提高数据的操作效率

B.存储过程支持输入和输出参数

C.在定义存储过程的语句中只能包含查询语句

B

36

D.存储过程可以只包含输入参数,不包含输出参数

5.下列定义存储过程头部的语句,正确的是 C

A.create proc p1 x,y int as …

B.create proc p1 @x,@y int as …

C.create proc p1 @x int,@y int as …

D.create proc p1 @x,@y int output as …

三. 简答题

1. 前触发型触发器和后触发型触发器的主要区别是什么?

答:使用FOR或AFTER选项定义的触发器为后触发型的触发器,即只有在引发触发器执行的语句中指定的操作都已成功执行,才执行触发器。

使用INSTEAD OF选项定义的触发器为前触发型触发器。在这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。

2. 触发器的主要作用是什么?

答:触发器是一段由对数据的更改操作引发的自动执行的代码,这些更改操作包括UPDATE、INSERT或DELETE。触发器通常用于保证业务规则和数据完整性,其主要优点

37

是用户可以用编程的方法实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。

3. 存储过程的作用是什么?

答:存储过程是 SQL 语句和控制流语句的预编译集合,它以一个名称存储并作为一个单元处理,应用程序可以通过调用的方法执行存储过程。存储过程使得对数据库的管理和操作更加容易,并且可以提高数据的操作效率。

4. 存储过程的好处有哪些?

答:好处有:(1)允许模块化程序设计,(2)改善性能,(3)减少网络流量,(4)可作为安全机制使用

5. 存储过程的参数有几种形式?

答:存储过程的参数有两种类型,一种是输入参数,另一种是输出参数。

38

因篇幅问题不能全部显示,请点此查看更多更全内容

Top