资源描述
数据库系统概论复习资料
第1章:
一选择题:
1.在数据管理技术的发展过程中, 经历了人工管理阶段、 文件系统阶段和数据库系统阶段。在这几个阶段中, 数据独立性最高的是 阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 答案: A
2.数据库的概念模型独立于 。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界 答案: A
3.数据库的基本特点是 。
A.(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余大, 易移植 (4)统一管理和控制
B.(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制
C.(1)数据能够共享(或数据结构化) (2)数据互换性 (3)数据冗余小, 易扩充 (4)统一管理和控制
D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制
答案: B
4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 答案: B
5.数据库中存储的是 。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 答案: C
6. 数据库中, 数据的物理独立性是指 。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构相互独立 答案: C
7. 数据库的特点之一是数据的共享, 严格地讲, 这里的数据共享是指 。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、 同一种语言共享数据
C.多个用户共享一个数据文件
D.多种应用、 多种语言、 多个用户相互覆盖地使用数据集合 答案: D
8.数据库系统的核心是 。
A.数据库 B.数据库管理系统
C.数据模型 D.软件工具 答案: B
9. 下述关于数据库系统的正确叙述是 。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据 答案: A
10. 将数据库的结构划分成多个层次, 是为了提高数据库的 ① 和 ② 。
①A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享
②A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性 答案: ①B ②B
11. 数据库(DB)、 数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 。
A.DBS包括DB和DBMS B.DDMS包括DB和DBS
C.DB包括DBS和DBMS D.DBS就是DB, 也就是DBMS 答案: A
12. 在数据库中, 产生数据不一致的根本原因是 。
A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 答案: D
13. 数据库管理系统(DBMS)是 。
A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件 答案: D
14. 数据库管理系统(DBMS)的主要功能是 。
A.修改数据库 B.定义数据库 C.应用数据库 D.保护数据库 答案: B
15. 数据库系统的特点是 、 数据独立、 减少数据冗余、 避免数据不一致和加强了数据保护。
A.数据共享 B.数据存储 C.数据应用 D.数据保密 答案: A
16数据库系统的最大特点是 。
A.数据的三级抽象和二级独立性 B.数据共享性
C.数据的结构化 D.数据独立性 答案: A
17. 数据库管理系统能实现对数据库中数据的查询、 插入、 修改和删除等操作, 这种功能称为 。
A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能 答案: C
18. 数据库管理系统是 。
A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译程序D.一种操作系统 答案: B
19. 数据库的三级模式结构中, 描述数据库中全体数据的全局逻辑结构和特征的是( )
A.外模式 B.内模式 C.存储模式 D.模式 答案: D
20数据库系统的数据独立性是指 。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其它的存储结构 答案: B
21.信息世界中的术语, 与之对应的数据库术语为 。
A.文件 B.数据库 C.字段 D.记录 答案: D
22层次型、 网状型和关系型数据库划分原则是 。
A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系 答案: D
23.传统的数据模型分类, 数据库系统能够分为三种类型 。
A.大型、 中型和小型 B.西文、 中文和兼容
C.层次、 网状和关系 D.数据、 图形和多媒体 答案: C
24. 层次模型不能直接表示 。
A. 1 : 1关系 B.1 : m关系 C. m : n关系 D.1 : 1和1 : m关系 答案: C
25. 数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文, 主要论述的是 。
A.层次数据模型 B.网状数据模型 C.关系数据模型 D.面向对象数据模型 答案: C
二、 填空题
1. 数据管理技术经历了 ① 、 ② 和 ③ 三个阶段。 答案: ①人工管理 ②文件系统 ②数据库系统
2. 数据库是长期存储在计算机内、 有 ① 的、 可 ② 的数据集合。 答案: ①组织 ②共享
3.DBMS是指 ① 它是位于 ② 和 ③ 之间的一层管理软件。 答案: ①数据库管理系统 ②用户 ③操作系统
4. 数据库管理系统的主要功能有 ① 、 ② 、 数据库的运行管理和数据库的建立以及维护等4个方面。
答案: ①数据定义功能 ②数据操纵功能
5. 数据独立性又可分为 ① 和 ② 。 答案: ①逻辑数据独立性 ②物理数据独立性
6. 当数据的物理存储改变了, 应用程序不变, 而由DBMS处理这种改变, 这是指数据的 。 答案: 物理独立性
7. 数据模型是由 ① 、 ② 和 ③ 三部分组成的。 答案: ①数据结构 ②数据操作 ③完整性约束
8. ① 是对数据系统的静态特性的描述, ② 是对数据库系统的动态特性的描述。 答案: ①数据结构 ②数据操作
9. 数据库体系结构按照 ① 、 ② 和 ③ 三级结构进行组织。 答案: ①模式 ②外模式 ③内模式
10. 实体之间的联系可抽象为三类, 它们是 ① 、 ② 和 ③ 。 答案: ①1∶1 ②1∶m ②m∶n
11.数据冗余可能导致的问题有 ① 和 ② 。 答案: ①浪费存储空间及修改麻烦 ②潜在的数据不一致性
三: 简答题:
1. 什么是数据库?
答: 数据库是长期存储在计算机内、 有组织的、 可共享的数据集合。数据库是按某种数据模型进行组织的、 存放在外存储器上, 且可被多个用户同时使用。因此, 数据库具有较小的冗余度, 较高的数据独立性和易扩展性。
2. 什么是数据库的数据独立性?
答: 数据独立性表示应用程序与数据库中存储的数据不存在依赖关系, 包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、 数据之间联系的变更或增加新的数据类型等)时, 它不影响某些局部的逻辑结构的性质, 应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时, 对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性, 也就是说, 数据库数据的存储结构与存取方法独立。
3. 什么是数据库管理系统?
答: 数据库管理系统(DBMS)是操纵和管理数据库的一组软件, 它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS, 而不同的DBMS各支持一种数据库模型, 虽然它们的功能强弱不同, 但大多数DBMS的构成相同, 功能相似。
一般说来, DBMS具有定义、 建立、 维护和使用数据库的功能, 它一般由三部分构成: 数据描述语言及其翻译程序、 数据操纵语言及其处理程序和数据库管理的例行程序。
第2章关系数据库
一、 选择题
1、 关系数据库管理系统应能实现的专门关系运算包括 。
A.排序、 索引、 统计 B.选择、 投影、 连接 C.关联、 更新、 排序 D.显示、 打印、 制表 答案: B
2、 关系模型中, 一个关键字是 。
A.可由多个任意属性组成 B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D.以上都不是 答案: C
3、 自然连接是构成新关系的有效方法。一般情况下, 当对关系R和S使用自然连接时, 要求R和S含有一个或多个共有的 。
A.元组 B.行 C.记录 D.属性 答案: D
4、 关系运算中花费时间可能最长的运算是 。
A.投影 B.选择 C.笛卡尔积 D.除 答案: C
5.关系模式的任何属性 。
A.不可再分 B.可再分 C.命名在该关系模式中能够不惟一 D.以上都不是 答案: A
6.在关系代数运算中, 五种基本运算为 。
A.并、 差、 选择、 投影、 自然连接 B.并、 差、 交、 选择、 投影
C.并、 差、 选择、 投影、 笛卡儿积 D.并、 差、 交、 选择、 乘积 答案: C
7、 设有关系R, 按条件f对关系R进行选择, 正确的是 。
A.R´R B.R wv R C. sf(R) D.Pf(R)
F 答案: C
8、 如图所示, 两个关系R1和R2, 它们进行 运算后得到R3。
R1 R2
A
B
C
A
C
D
1
2
1
X
Y
y
D
E
M
1
2
5
M
N
M
I
J
K
R3
A
B
C
D
E
A
C
C
1
1
2
X
Y
y
M
M
N
I
I
J
A.交 B.并 C.笛卡尔积 D.连接 答案: D
9、 数据库的 是指数据的正确性和相容性。
A.安全性 B.完整性 C.并发控制 D.恢复 答案: B
10、 在数据库的表定义中, 限制成绩属性列的取值在0到100的范围内, 属于数据的________约束。
A、 实体完整性B、 参照完整性C、 用户自定义D、 用户操作 答案: C
二、 填空题
1、 一个关系模式的定义格式为 。 答案: 关系名(属性名1, 属性名2, …, 属性名n)
2、 一个关系模式的定义主要包括 ① 、 ② 、 ③ 、
④ 和 ⑤ 。 答案: ①关系名 ②属性名 ③属性类型 ④属性长度 ⑤关键字
3、 .关系代数运算中, 传统的集合运算有 ① 、 ② 、 ③ 和 ④ 。 答案: ①笛卡尔积 ②并 ③交 ④差
4、 关系代数运算中, 基本的运算是 ① 、 ② 、 ③ 、
④ 和 ⑤ 。 答案: ①并 ②差 ③笛卡尔积 ④投影 ⑤选择
5、 关系代数运算中, 专门的关系运算有 ① 、 ② 和 ③ 。 答案: ①选择 ②投影 ③连接
6、 关系数据库中基于数学上两类运算是 ① 和 ② 。答案: ①关系代数 ②关系演算
7、 已知系(系编号, 系名称, 系主任, 电话, 地点)和学生(学号, 姓名, 性别, 入学日期, 专业, 系编号)两个关系, 系关系的主关键字是 ① , 系关系的外关键字 ② , 学生关系的主关键字是 ③ , 外关键字 ④ 答案: ①系编号 ②无 ③学号 ④系编号
8.数据库的完整性是指数据的 ① . ②__和 ③ 。答案: ①实体完整性 ②参照完整性 ③用户定义完整性
9、 实体完整性是指在基本表中, 。 答案: 主属性不能取空值
10、 参照完整性是指在基本表中, 。 答案: 外码能够是空值或者另一个关系主码的有效值
11、 为了保护数据库的实体完整性, 当用户程序对主码进行更新使主码值不惟一时, DBMS就 。答案: 拒绝此操作
三、 应用题:
设有如下所示的关系S(S#,SNAME,AGE,SEX)、 C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE), 试用关系代数表示式表示下列查询语句:
(1)检索”程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索”李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
解: 本题各个查询语句对应的关系代数表示式表示如下:
(1). ∏C#,CNAME(σTEACHER=‘程军’(C))
(2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C))
(3). ∏SNAME{swv [∏S#,C#( sc) ÷∏C#(σTEACHER=‘程军’(C))]}
(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) wv SC)
(5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))
(6). ∏C#,CNAME(Cwv (∏S#,C#(sc)÷∏S#(S)))
(7). ∏S#(SCwv ∏C#(σTEACHER=‘程军’(C)))
(8). ∏S#,C#( sc) ÷∏C#(σC#=’k1’∨ C#=’k5’(C))
(9). ∏SNAME{swv [∏S#,C#( sc) ÷∏C#(C)]}
(10). ∏S#,C#( sc) ÷∏C#(σS#=’2’(SC))
(11). ∏S#,SNAME{swv [∏S#(SCwv σCNAME=‘C语言’(C))]}
关系R和S如下图所示, 试计算R÷S。
R
A
B
C
D
a
b
c
d
a
b
e
f
a
b
h
k
b
d
e
f
b
d
d
l
c
k
c
d
c
k
e
f
R÷S答案:
A
B
a
b
c
k
S
C
D
c
d
e
f
第3章关系数据库标准语言SQL
一、 选择题
1、 SQL语言是 的语言, 易学习。
A.过程化 B.非过程化 C.格式化 D.导航式 答案: B
2、 SQL语言是 语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 答案: C
3、 SQL语言具有 的功能。
A.关系规范化、 数据操纵、 数据控制 B.数据定义、 数据操纵、 数据控制
C.数据定义、 关系规范化、 数据控制 D.数据定义、 关系规范化、 数据操纵 答案: B
4、 SQL语言具有两种使用方式, 分别称为交互式SQL和 。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案: C
5、 假定学生关系是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
6、 如下面的数据库的表中, 若职工表的主关键字是职工号, 部门表的主关键字是部门号, SQL操作 不能执行。
A.从职工表中删除行(‘025’, ‘王芳’, ‘03’, 720) B.将行(‘005, ’, ‘乔兴’, ‘04’, 750)插入到职工表中
C.将职工号为, ‘001’的工资改为700 D.将职工号为, ’038’的部门号改为‘03’ 答案: B
7、 若用如下的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
第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为课程名, GRADE为成绩。
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 GRAD>=
(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语句是 。
A.SELECT S.SN, SC.C#, SC.GRADE
FROM S
WHERE S.S#=SC.S#
B.SELECT S.SN, SC.C#, SC.GRADE
FROM SC
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
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”
答案: A
二、 填空题
1、 SQL是 。 答案: 结构化查询语言
2、 视图是一个虚表, 它是从 ① 中导出的表。在数据库中, 只存放视图的 ② , 不存放视图的 ③ 。 答案: ①一个或几个基本表 ②定义 ③视图对应的数据
3、 设有如下关系表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 FROMR WHERE NAME LIKE”王%”
第3章 补充
1、 设学生课程数据库中有三个关系:
学生关系S( S#, SNAME, AGE, SEX)
学习关系SC( S#, C#, GRADE)
课程关系C( C#, CNAME)
其中S#、 C#、 SNAME、 AGE、 SEX、 GRADE、 CNAME分别表示学号、 课程号、 姓名、 年龄、 性别、 成绩和课程名。
用SQL语句表示下列操作
( 1) 检索选修课程名称为”MATHS”的学生的学号与姓名
( 2) 检索至少学习了课程号为”C1”和”C2”的学生的学号
( 3) 检索年龄在18到20之间( 含18和20) 的女生的学号、 姓名和年龄
( 4) 检索平均成绩超过80分的学生学号和平均成绩
( 5) 检索选修了全部课程的学生姓名
( 6) 检索选修了三门课以上的学生的姓名
答案: ( 1) SELECT SNAME,AGE
FROM S,SC,C
WHERE S.S#=SC.S#
AND C.C#=SC.C#
AND CNAME=’ MATHS’
(2) SELECT S#
FROM SC
WHERE CNO=’C1’ AND S# IN( SELECT S#
FROM SC
WHERE CNO=’C2’)
(3)SELECT S#,SNAME,AGE
FROM S
WHERE AGE BETWEEN 18 AND 20
(4) SELECT S# ,AVG(GRADE) ‘平均成绩’
FROM SC
GROUP BY S#
HAVING AVG(GRADE)>80
(5) SELECT SNAME
FROM S
WHERE NOT EXISTS
(SELECT *
FROM C
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE S#=S.S# AND C#=C.C#
)
)
(6) SELECT SNAME
FROM S,SC
WHERE S.S#=SC.S#
GROUP BY SNAME
HAVING COUNT(*)>3
2、 设学生-课程数据库中包括三个表:
学生表: Student ( Sno, Sname, Sex, Sage, Sdept)
课程表: Course( Cno, Cname, Ccredit)
学生选课表: SC( Sno, Cno, Grade)
其中Sno、 Sname、 Sex、 Sage、 Sdept、 Cno、 Cname、 Ccredit 、 Grade分别表示学号、 姓名、 性别、 年龄、 所在系名、 课程号、 课程名、 学分和成绩。
试用SQL语言完成下列项操作:
( 1) 查询选修课程包括”1042”号学生所学的课程的学生学号
( 2) 创立一个计科系学生信息视图S_CS_VIEW, 包括Sno学号、 Sname姓名、 Sex性别;
( 3) 经过上面第2题创立的视图修改数据, 把王平的名字改为王慧平
( 4) 创立一选修数据库课程信息的视图, 视图名称为datascore_view, 包含学号、 姓名、 成绩。
答案: (1) SELECT DISTINCT SNO
FROM SC SCX
WHERE NOT EXISTS
(SELECT *
FROM SC SCY
WHERE SCY.SNO = ' 1042' AND
NOT EXISTS
(SELECT *
FROM SC SCZ
WHERE SCZ.SNO=SCX.SNO AND
SCZ.CNO=SCY.CNO));
(2) CREATE VIEW S_CS_VIEW
AS
SELECT SNO,SNAME,SEX
FROM STUDENT
WHERE Sdept=’CS’
(3)UPDATE S_CS_VIEW
SET SNAME=’ 王慧平’
WHERE SNAME=’ 王平’
(4) CREATE VIEW datascore_view
AS
SELECT SNO 学号、 SNAME 姓名、 GRADE 成绩
FROM STUDENT,SC,COURSE
展开阅读全文