1、第一章:绪论一、选择题:1在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是 A 阶段。A数据库系统 B文件系统 C人工管理 D数据项管理 2数据库的概念模型独立于 A 。A具体的机器和 DBMS BE-R 图 C信息世界 D现实世界 3数据库的基本特点是 B 。A(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余
2、小,易扩充 (4)统一管理和控制D(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制 4.B 是存储在计算机内有结构的数据的集合。A数据库系统 B数据库 C数据库管理系统 D数据结构 5数据库中存储的是 C 。A数据 B数据模型 C数据以及数据之间的联系 D信息 6. 数据库中,数据的物理独立性是指 C 。A数据库与数据库管理系统的相互独立 B用户程序与 DBMS 的相互独立C用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D应用程序与数据库中数据的逻辑结构相互独立 7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 D 。A同一个应用中
3、的多个程序共享一个数据集合 B多个用户、同一种语言共享数据C多个用户共享一个数据文件 D多种应用、多种语言、多个用户相互覆盖地使用数据集合 8.数据库系统的核心是 B 。A数据库 B数据库管理系统 C数据模型 D软件工具 9. 下述关于数据库系统的正确叙述是 A 。A数据库系统减少了数据冗余 B数据库系统避免了一切冗余 C数据库系统中数据的一致性是指数据类型一致 D数据库系统比文件系统能管理更多的数据 10. 数将数据库的结构划分成多个层次,是为了提高数据库的 逻辑独立性 和 物理独立性 。 11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 DBS 包括
4、 DB 和 DBMS 。12. 在数据库中,产生数据不一致的根本原因是 D 。A数据存储量太大 B没有严格保护数据 C未对数据进行完整性控制 D数据冗余 答案:D13. 数据库管理系统(DBMS)是 系统软件 。14. 数据库管理系统(DBMS)的主要功能是 定义数据库 B 。A修改数据库 B C应用数据库 D保护数据库 15. 数据库系统的特点是 A 、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。A数据共享 B数据存储 C数据应用 D数据保密 16 数据库系统的最大特点是 A 。A数据的三级抽象和二级独立性 B数据共享性 C数据的结构化 D数据独立性 17. 数据库管理系统能实现
5、对数据库中数据的查询、插入、修改和删除等操作,这种功能称为 C 。A数据定义功能 B数据管理功能 C数据操纵功能 D数据控制功能 18. 数据库管理系统是 B 。A操作系统的一部分 B在操作系统支持下的系统软件 C一种编译程序 D一种操作系统 19.数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是(D)A外模式 B内模式 C存储模式 D模式 20、在数据库的概念设计中,最常用的数据模型是 D 。A形象模型 B物理模型 C逻辑模型 D实体联系模型 21.从 E-R 模型关系向关系模型转换时,一个 MN 联系转换为关系模型时,该关系模式的关键字是 C 。AM 端实体的关键字 B
6、N 端实体的关键字 CM 端实体关键字与 N 端实体关键字组合 D重新选取其他属性 22、在数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 B 段。A需求分析 B概念设计 C逻辑设计 D物理设计 23、在关系数据库设计中,设计关系模式是 C 的任务。A需求分析阶段 B概念设计阶段 C逻辑设计阶段 D物理设计阶段 24、下图所示的 E-R 图转换成关系模型,可以转换为 C 关系模式。A1 个 B2 个 C3 个 D4 个二、填空题1. 数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。 2. 数据库是长期存储在计算机内、有 组织的、可
7、共享的数据集合。 3DBMS 是指 数据库管理系统 ,它是位于 用户 和 操作系统 之间的一层管理软件。 4. 数据库管理系统的主要功能有数据定义功能 、数据操纵功能 、数据库的运行管理和数据库的建立以及维价格借阅日期借阅借书人 图书借书证号 姓名 单位 总编号 书名分类号作者位置m n护等 4 个方面。5. 数据独立性又可分为逻辑数据独立性 和 物理数据独立性。6. 当数据的物理存储改变了,应用程序不变,而由 DBMS 处理这种改变,这是指数据的 物理独立性 。 7. 数据模型是由数据结构 数据结构 、数据操作 和完整性约束 三部分组成的。 8. 数据结构 是对数据系统的静态特性的描述,数据
8、操作 是对数据库系统的动态特性的描述。 9. 数据库体系结构按照 模式 、 外模式 和 内模式 三级结构进行组织。 10. 实体之间的联系可抽象为三类,它们是 11 、 1m 和 mn 三、简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立.逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)
9、与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的 DBMS,而不同的 DBMS 各支持一种数据库模型,虽然它们的功能
10、强弱不同,但大多数DBMS 的构成相同,功能相似。一般说来,DBMS 具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。4. 数据库设计一般分为哪几个阶段,简述每个阶段的主要任务是什么?解:(1)数据库设计分为 6 个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。(2)各阶段任务如下:需求分析:准确了解与分析用户需求(包括数据与处理) 。概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。逻辑结构设计:将概念结构转换为某个 DBM
11、S 所支持的数据模型,并对其进行优化。数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 。数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。四、应用题假设教学管理规定:一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:
12、根据上述语义画出 ER 图,要求在图中画出实体的属性并注明联系的类型;将该 E-R 图转换为等价的关系模型表示的数据库逻辑结构。解答:该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构如下:学生(学号,姓名)课程(课程号,课程名,教师编号)选修(学号,课程号,成绩)教师(教师编号,姓名)成绩教师编号 教师姓名学生 选修m 课程教师讲授nn1学号姓名课程号 课程名第 2 章关系数据库理论一、选择题1、关系数据库管理系统应能实现的专门关系运算包括 B 。A排序、索引、统计 B选择、投影、连接 C关联、更新、排序 D显示、打印、制表 2、关系模型中,一个关键字是 C 。A可由多个任意属性组成
13、 B至多由一个属性组成 C可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D以上都不是 3、自然连接是构成新关系的有效方法。一般情况下,当对关系 R 和 S 使用自然连接时,要求 R 和 S 含有一个或多个共有的 D 。A元组 B行 C记录 D属性 4关系模式的任何属性 A 。A不可再分 B可再分 C命名在该关系模式中可以不惟一 D以上都不是 5、设有关系 R,按条件 f 对关系 R 进行选择,正确的是 C 。ARR BR R C f(R) Df(R)6、在数据库系统中,保证数据及语义正确和有效的功能是 ( D )A.并发控制 B.存取控制 C.安全控制 D.完整性控制 7、关于主
14、键约束以下说法错误的是( C )A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段组合设置为主键 8、数据库的_B_是指数据的正确性和相容性。A安全性 B完整性 C并发控制 D恢复 9、在数据库的表定义中,限制成绩属性列的取值在 0 到 100 的范围内,属于数据的_C 约束。A. 实体完整性 B、参照完整性 C、用户自定义 D、用户操作 10.关系规范化中的删除操作异常是指 A ,插入操作异常是指 D 。A不该删除的数据被删除 B不该插入的数据被插入 C应该删除的数据未被删除 D应该插入的数据未被插入1
15、1. 设计性能较优的关系模式称为规范化,规范化主要的理论依据是 A 。A关系规范化理论 B关系运算理论 C关系代数理论 D数理逻辑 12. 规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大的缺陷。 13.当关系模式 R(A,B)已属于 3NF,下列说法中 B 是正确的。A它一定消除了插入和删除异常 B仍存在一定的插入和删除异常 C一定属于 BCNF DA 和 C 都是 14.关系模型中的关系模式至少是 A 。 A1NF B2NF C3NF DBCNF 15.候选关键字中的属性称为 B 。A非主属性 B主属性 C复合属性 D关键属性 16.消除了部分函数依赖的 1NF 的关系
16、模式,必定是 B 。A1NF B2NF C3NF D4NF 17.关系模式的候选关键字可以有 C ,主关键字有 B 。A0 个 B1 个 C1 个或多个 D多个 二、填空题1、一个关系模式的定义格式为 关系名(属性名 1,属性名 2,属性名 n)2、一个关系模式的定义主要包括 关系名 、属性名、属性类型、属性长度 和关键字。 3、关系代数运算中,传统的集合运算有 笛卡尔积、并、交和差.4、关系代数运算中,专门的关系运算有 选择、投影 和 连接。 5、关系数据库中基于数学上两类运算是关系代数和关系演算。6已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号
17、)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字无 ,学生关系的主关键字是学号 ,外关键字 系编码。7数据库的完整性是指数据的 实体完整性、参照完整性 和用户定义完整性 8、实体完整性是指在基本表中,主属性不能取空值。 9、参照完整性是指在基本表中, 外码可以是空值或者另一个关系主码的有效值。10、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 就拒绝此操作 。11、在关系 A(S,SN,D)和 B(D,CN,NM)中,A 的主键是 S,B 的主键是 D,则 D 在 A 中称为 外部键 12、对于满足 1NF 的关系模式,经过 消除非主属性对主关键字的
18、部分依赖 转变为 2NF,将 2NF 经过 消除非主属性对主关键字的传递依赖转变为 3NF。三、名词解释:1、 平凡的函数依赖在关系模式 R(U)中,对于 U 的子集 X 和 Y,如果 XY,但 Y X,则称 XY 是非平凡的函数依赖2、 非平凡的函数依赖在关系模式 R(U)中,对于 U 的子集 X 和 Y,若 XY,但 Y X, 则称 XY 是平凡的函数依赖3. 2NF对于满足 1NF 的关系模式,消除非主属性对主关键字的部分依赖即为 2NF4.3NF对于满足 1NF 的关系模式,消除非主属性对主关键字的部分依赖和传递函数依赖即为 3NF四、应用题:1.设有如下所示的关系 S(S#,SNAM
19、E,AGE,SEX)、C(C#,CNAME,TEACHER)和 SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索年龄大于 21 的男学生学号(S#)和姓名(SNAME)。(3)检索”李强”同学不学课程的课程号(C#)。(4)检索选修课程号为 k1 和 k5 的学生学号(S#)。(5)检索选修课程名为“C 语言”的学生学号(S#)和姓名(SNAME)。解:本题各个查询语句对应的关系代数表达式表示如下:(1). C#,CNAME(TEACHER=程军(C)(2). S#,SNAME(AGE21SEX
20、=”男”(C)(3). C#(C)- C#(Sname=李强(S) SC)(4).S# (C#=k1 (SC)) S# (C#=k5 (SC)) (5). S#,SNAME( CNAME=C 语言(S SC C))2. 试问下列关系模式最高属第几范式,并解释其原因1)R(A,B,C,D) ,(A C, (C,D) B)2)R(A,B,C,D) ,(A C, D B)3)R(A,B,C) ,(A B, B A ,A C解:1) 候选码 (A,D)非主属性为 B 和 C, A C,(A,D) C) 所以存在非主属性对主码的部分函数依赖,因此不属于 2NF所以:R 1NF2) 非主属性为 B 和 C
21、, A C,(A,D) C) 所以存在非主属性对主码的部分函数依赖,因此不属于 2NF所以:R 1NF3) 第一步:确定候选码 A,B第二步:判断是否满足 BCNF(即判断决定因素是否含有码);所以:R BCNF第 4.5.6.7.8 章 关系数据库标准语言 SQL一、选择题1、SQL 语言是 B 的语言,易学习。A过程化 B非过程化 C格式化 D导航式 2、SQL 语言是 C 语言。A层次数据库 B网络数据库 C关系数据库 D非数据库 3、SQL 语言具有 B 的功能。A关系规范化、数据操纵、数据控制 B数据定义、数据操纵、数据控制C数据定义、关系规范化、数据控制 D数据定义、关系规范化、数
22、据操纵 4、假定学生关系是 S(S#,SNAME,SEX,AGE),课程关系是 C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 D 。AS BSC,C CS,SC DS,C,SC 5、若用如下的 SQL 语句创建一个 student 表:CREATE TABLE student(NO Char(4) NOT NULL,NAME Char(8) NOT NULL,SEX Char(2),AGE int)可以插入到 student 表中的是 B 。A(1031 , 曾华 ,男,23) B(103
23、1 , 曾华 ,NULL,NULL)C(NULL, 曾华 , 男 , 23) D(1031 ,NULL, 男 ,23) 第 6 到第 8 题基于这样的三个表即学生表 S、课程表 C 和学生选课表 SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程号,CN 为课程名,GRADE 为成绩。6、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的 SELECT 语句是 A ASELECT SN,AGE,SEX FROM SWHERE AGE(SEL
24、ECT AGE FROM SWHERE SN=王华)BSELECT SN,AGE,SEXFROM SWHERE SN 王华CSELECT SN,AGE,SEX FROM SWHERE AGE(SELECT AGEWHERE SN=王华 )DSELECT SN,AGE,SEX FROM SWHERE AGE王华AGE7、检索选修课程“C2”的学生中成绩最高的学生的学号。正确的 SELECT 语句是 D 。ASELECT S# FORM SC WHERE C#=“C2” AND GRAD(SELECT GRADE FORM SCWHERE C#=“C2”)BSELECT S# FORM SCWHE
25、RE C#=“C2” AND GRADE IN(SELECT GRADE FORM SCWHERE C#=“C2”)CSELECT S# FORM SCWHERE C#=“C2” AND GRADE NOT IN(SELECT GRADE FORM SCWHERE C#=“C2”)DSELECT S# FORM SCWHERE C#=“C2” AND GRADEALL(SELECT GRADE FORM SCWHERE C#=“C2”)8、检索学生姓名及其所选修课程的课程号和成绩。正确的 SELECT 语句是 C 。ASELECT S SN ,SC C# ,SCGRADEFROM SWHERE
26、 SS#=SCS#BSELECT SSN,SCC# ,SCGRADEFROM SCWHERE SS#SCGRADECSELECT SSN,SCC# ,SCGRADEFROM S,SCWHERE SS#=SCS#DSELECT S SN ,SCC# ,SCGRADEFROM SSC二、填空题1、SQL 是 结构化查询语言 。 2、视图是一个虚表,它是从 一个或几个基本表 中导出的表。在数据库中,只存放视图的 定义 ,不存放视图的 视图对应的数据.3、设有如下关系表 R:R(No,NAME,SEX,AGE,CLASS)主关键字是 NO其中 NO 为学号,NAME 为姓名,SEX 为性别,AGE 为
27、年龄,CLASS 为班号。写出实现下列功能的 SQL 语句。插入一个记录(25, 李明 , 男” ,21, 95031);insert into R VALUES(25, 李明 , 男 ,21, 95031) 插入95031”班,学号为 30、姓名为郑和的学生记录;update R SET NAME=王华WHERE NO10 将学号为 10 的学生姓名改为王华 ; insert into R(NO,NAME,CLASS) values S(30, 郑和 , 95031) 。将所有95101班号改为95091 ;update r set class“95091”where CLASS95101
28、。删除学号为 20 的学生记录;delete from r where no=20 。删除姓王的学生记录; delete from r where name like 王4、索引的类型分为:唯一、聚集和非聚集索引。三、应用题1、设学生课程数据库中有三个关系:学生关系 S(S#,SNAME,AGE ,SEX )学习关系 SC(S#,C# ,GRADE)课程关系 C( C#,CNAME)其中 S#、C#、SNAME 、AGE、SEX、GRADE 、CNAME 分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。用 SQL 语句表达下列操作(1)检索选修课程名称为“MATHS”的学生的学号与姓名(
29、2)检索至少学习了课程号为“C1”和“C2 ”的学生的学号(3)检索年龄在 18 到 20 之间(含 18 和 20)的女生的学号、姓名和年龄(4)检索平均成绩超过 80 分的学生学号和平均成绩(5)检索选修了三门课以上的学生的姓名答案:(1)select S.S#, SNAMEfrom S,SC,Cwhere S.S#=SC.S#AND C.C#=SC.C#AND CNAME= MATHS(2) SELECT S#FROM SCWhere CNO=C1 AND S# IN( SELECT S#FROM SCWHERE CNO=C2)(3)SELECT S#,SNAME,AGE FROM S
30、WHERE AGE BETWEEN 18 AND 20(4) select S# ,AVG(GRADE) 平均成绩FROM SCGroup by S#Having AVG(grade)80(5) select Sname FROM S,SCwhere S.S#=SC.S#Group by Sname Having COUNT(*)3 2、试用 SQL 语言完成下列项操作:(1)创建一个计科系学生信息视图 S_CS_VIEW,包括 Sno 学号、Sname 姓名、Ssex 性别;(2)通过上面第 2 题创建的视图修改数据,把王平的名字改为王慧平(3)创建一选修数据库课程信息的视图,视图名称为 datascore_view,包含学号、姓名、成绩。答案: (1) create view S_CS_VIEW asselect Sno,Sname,Ssexfrom studentwhere Sdept=CS(2)update S_CS_VIEWset Sname= 王慧平WHERE SNAME= 王平 (3) create VIEW datascore_viewasselect SNO 学号、SNAME 姓名、GRADE 成绩From student,SC,Coursewhere Student.SNO=SC.SNOand Course.CNO=SC.CNOand CNAME= 数据库