数据库系统概论
标签 : database
1. 绪论
1.1 选择题
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是 数据库系统 阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理
2.数据库的概念模型独立于 具体的机器和DBMS 。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界
3.数据库的基本特点是 数据可以共享(或数据结构化);数据独立性;数据冗余小,易扩充;统一管理和控制 。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制
B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制
C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制
D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制
4.数据库 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构
5.数据库中存储的是 数据以及数据之间的联系。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息
6.数据库中,数据的物理独立性是指 用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 。
A.数据库与数据库管理系统的相互独立
B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构相互独立
7.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 多种应用、多种语言、多个用户相互覆盖地使用数据集合 。
A.同一个应用中的多个程序共享一个数据集合
B.多个用户、同一种语言共享数据
C.多个用户共享一个数据文件
D.多种应用、多种语言、多个用户相互覆盖地使用数据集合
8.据库系统的核心是 数据库管理系统 。
A.数据库 B.数据库管理系统 C.数据模型 D.软件工具
9.下述关于数据库系统的正确叙述是 数据库系统减少了数据冗余 。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
10.数将数据库的结构划分成多个层次,是为了提高数据库的 逻辑独立性 和 物理独立性 。
①A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享
②A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性
11.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 DBS包括DB和DBMS 。
A.DBS包括DB和DBMS B.DDMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS
12.在数据库中,产生数据不一致的根本原因是 数据冗余 。
A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余
13.数据库管理系统(DBMS)是 系统软件 。
A.数学软件 B.应用软件 C.计算机辅助设计 D.系统软件
14.数据库管理系统(DBMS)的主要功能是 定义数据库 。
A.修改数据库 B.定义数据库 C.应用数据库 D.保护数据库
15.数据库系统的特点是 数据共享、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享 B.数据存储 C.数据应用 D.数据保密
16.据库系统的最大特点是数据的三级抽象和二级独立性 。
A.数据的三级抽象和二级独立性 B.数据共享性 C.数据的结构化 D.数据独立性
17.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为 数据操纵功能 。
A.数据定义功能 B.数据管理功能 C.数据操纵功能 D.数据控制功能
18.数据库管理系统是 在操作系统支持下的系统软件。
A.操作系统的一部分 B.在操作系统支持下的系统软件 C.一种编译程序 D.一种操作系统
19.据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是模式
A.外模式 B.内模式 C.存储模式 D.模式
20.据库系统的数据独立性是指不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
21.信息世界中的术语,与之对应的数据库术语为记录 。
A.文件 B.数据库 C.字段 D.记录
22.次型、网状型和关系型数据库划分原则是 数据之间的联系 。
A.记录长度 B.文件的大小 C.联系的复杂程度 D.数据之间的联系
23.传统的数据模型分类,数据库系统可以分为三种类型 层次、网状和关系 。
A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体
24.层次模型不能直接表示 m :n关系 。
A. 1 :1关系 B.1 :m关系 C. m :n关系 D.1 :1和1 :m关系
25.数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是 关系数据模型 。
A.层次数据模型 B.网状数据模型 C.关系数据模型 D.面向对象数据模型
1.2 填空题
1.数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。
2.数据库是长期存储在计算机内,有组织、可共享的数据集合。
3.DBMS是指数据库管理系统在用户和操作系统之间的一层管理软件。
4.数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立和维护功能。
5.数据的独立性可分为逻辑数据独立性和物理数据独立性。
6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的 物理独立性 。
7.数据模型是由数据结构、数据操作 和 完整性约束 三部分组成。
8.数据结构 是对数据系统的静态特性的描述,数据操作 是对数据库系统的动态特性的描述。
9.数据库体系结构按照 模式 、 外模式 和 内模式 三级结构进行组织。
10.实体之间的联系可抽象为三类,它们是1∶1 、 1∶m 和 m∶n 。
11.数据冗余可能导致的问题有浪费存储空间及修改麻烦 和潜在的数据不一致性。
1.3 简答题
1.什么是数据库?
答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
2.什么是数据库的数据独立性?
答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
3.什么是数据库管理系统?
答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。
一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。
4.什么是数据字典?数据字典包含哪些基本内容?
答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。
1.4 画图题
1.假设教学管理规定:
- 一个学生可选修多门课,一门课有若干学生选修;
- 一个教师可讲授多门课,一门课只有一个教师讲授;
- 一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;
2. 关系数据库
2.1 选择题
1.关系数据库管理系统应能实现的专门关系运算包括 选择、投影、连接 。
A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表
2.关系模型中,一个关键字是 可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成。
A.可由多个任意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成
D.以上都不是
3.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 属性 。
A.元组 B.行 C.记录 D.属性
4.关系运算中花费时间可能最长的运算是 C 。
A.投影 B.选择 C.笛卡尔积 D.除
5.关系模式的任何属性 A
A.不可再分 B.可再分 C.命名在该关系模式中可以不惟一 D.以上都不是
6.在关系代数运算中,五种基本运算为 C 。
A.并、差、选择、投影、自然连接
B.并、差、交、选择、投影
C.并、差、选择、投影、乘积(笛卡尔积)
D.并、差、交、选择、乘积
7.设有关系R,按条件f对关系R进行选择,正确的是 C
8.如图所示,两个关系R1和R2,它们进行 D 运算后得到R3。
A.交 B.并 C.笛卡尔积 D.连接
2.2 填空题
- 一个关系模式的定义格式为 关系名(属性名1,属性名2,…,属性名n)。
- 一个关系模式的定义主要包括关系名、属性名、属性类型、属性长度和关键字
- 关系代数运算中,传统的集合运算有笛卡尔积 、并、交和 差 。
- 关系代数运算中,基本的运算是 ① 、 ② 、③、④ 和⑤。
答案:①并 ②差 ③笛卡尔积 ④投影 ⑤选择 - 关系代数运算中,专门的关系运算有 选择、投影和连接。
- 关系数据库中基于数学上两类运算是关系代数 和关系演算 。
- 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字 无,学生关系的主关键字是 学号 ,外关键字 系编号。
3. 关系数据库标准语言SQL
3.1 选择题
1.SQL语言是 非过程化 的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式
2.SQL语言是 关系数据库 语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库
3.SQL语言具有 数据定义、数据操纵、数据控制 的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制
C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵
4.SQL语言具有两种使用方式,分别称为交互式SQL和 嵌入式SQL 。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL
5.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 D 。
A.S B.SC,C C.S,SC D.S,C,SC
6.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中 不能执行。
A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)
B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中
C.将职工号为,‘001’的工资改为700
D.将职工号为,’038’的部门号改为‘03’
7.若用如下的SQL语句创建一个student表:
CREATE TABLE student(NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2))
可以插入到student表中的是 (‘1031’,‘曾华’,NULL,NULL) 。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)
C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23)
第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 。
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
9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 D
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”)
10.检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 C
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
11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是 D 。
A.SELECT S#,SUM(GRADE)FROM SC
WHERE GRADE>=60
GROUP BY S#
ORDER BY 2 DESC
HAVING COUNT(*)>=4 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”)
3.2 填空题
- SQL是 结构化查询语言 。
- 视图是一个虚表,它是从 一个或者几个基本表 中导出的表。在数据库中,只存放视图的 定义 ,不存放视图的 视图对应的数据 。
- 设有如下关系表R:
R(No,NAME,SEX,AGE,CLASS)
,主关键字是NO
。
其中NO
为学号,NAME
为姓名,SEX
为性别,AGE
为年龄,CLASS
为班号。
写出实现下列功能的SQL语句。
- 插入一个记录(25,“李明”,“男”,21,“95031”);
INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)
- 插入“95031”班学号为30、姓名为“郑和”的学生记录;
INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”)
- 将学号为10的学生姓名改为“王华”;
UPDATE R SET NAME=“王华”WHERE NO=10
- 将所有“95101”班号改为“95091”;
UPDATE R SET CLASS=“95091”WHERE CLASS=“95101”
- 删除学号为20的学生记录;
DELETE FROM R WHERE NO=20
- 删除姓“王”的学生记录;
DELETE FROMR WHERE NAME LIKE“王%”