1、数据库系统概论复习资料第1章: 一选择题: 1在数据管理技术的发展过程中, 经历了人工管理阶段、 文件系统阶段和数据库系统阶段。在这几个阶段中, 数据独立性最高的是 阶段。 A数据库系统 B文件系统 C人工管理 D数据项管理 答案: A2数据库的概念模型独立于 。 A具体的机器和DBMS BE-R图 C信息世界 D现实世界 答案: A3数据库的基本特点是 。 A(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余大, 易移植 (4)统一管理和控制 B(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制 C(1)数据能够共享(或数
2、据结构化) (2)数据互换性 (3)数据冗余小, 易扩充 (4)统一管理和控制D(1)数据非结构化 (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制 答案: B4. 是存储在计算机内有结构的数据的集合。 A数据库系统 B数据库 C数据库管理系统 D数据结构 答案: B5数据库中存储的是 。 A数据 B数据模型 C数据以及数据之间的联系 D信息 答案: C6. 数据库中, 数据的物理独立性是指 。 A数据库与数据库管理系统的相互独立 B用户程序与DBMS的相互独立C用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D应用程序与数据库中数据的逻辑结构相互独立 答案: C7.
3、 数据库的特点之一是数据的共享, 严格地讲, 这里的数据共享是指 。 A同一个应用中的多个程序共享一个数据集合 B多个用户、 同一种语言共享数据C多个用户共享一个数据文件 D多种应用、 多种语言、 多个用户相互覆盖地使用数据集合 答案: D8.数据库系统的核心是 。A数据库 B数据库管理系统 C数据模型 D软件工具 答案: B9. 下述关于数据库系统的正确叙述是 。A数据库系统减少了数据冗余 B数据库系统避免了一切冗余 C数据库系统中数据的一致性是指数据类型一致 D数据库系统比文件系统能管理更多的数据 答案: A10. 将数据库的结构划分成多个层次, 是为了提高数据库的 和 。 A数据独立性
4、B逻辑独立性 C管理规范性 D数据的共享 A数据独立性 B物理独立性 C逻辑独立性 D管理规范性 答案: B B11. 数据库(DB)、 数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 。ADBS包括DB和DBMS BDDMS包括DB和DBS CDB包括DBS和DBMS DDBS就是DB, 也就是DBMS 答案: A12. 在数据库中, 产生数据不一致的根本原因是 。 A数据存储量太大 B没有严格保护数据 C未对数据进行完整性控制 D数据冗余 答案: D13. 数据库管理系统(DBMS)是 。 A数学软件 B应用软件 C计算机辅助设计 D系统软件 答案: D14. 数据库管理
5、系统(DBMS)的主要功能是 。 A修改数据库 B定义数据库 C应用数据库 D保护数据库 答案: B15. 数据库系统的特点是 、 数据独立、 减少数据冗余、 避免数据不一致和加强了数据保护。 A数据共享 B数据存储 C数据应用 D数据保密 答案: A16数据库系统的最大特点是 。A数据的三级抽象和二级独立性 B数据共享性 C数据的结构化 D数据独立性 答案: A17. 数据库管理系统能实现对数据库中数据的查询、 插入、 修改和删除等操作, 这种功能称为 。 A数据定义功能 B数据管理功能 C数据操纵功能 D数据控制功能 答案: C18. 数据库管理系统是 。 A操作系统的一部分B在操作系统支
6、持下的系统软件C一种编译程序D一种操作系统 答案: B19. 数据库的三级模式结构中, 描述数据库中全体数据的全局逻辑结构和特征的是( ) A外模式 B内模式 C存储模式 D模式 答案: D20数据库系统的数据独立性是指 。A不会因为数据的变化而影响应用程序 B不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C不会因为存储策略的变化而影响存储结构 D不会因为某些存储结构的变化而影响其它的存储结构 答案: B21.信息世界中的术语, 与之对应的数据库术语为 。 A文件 B数据库 C字段 D记录 答案: D22层次型、 网状型和关系型数据库划分原则是 。 A记录长度 B文件的大小 C联系
7、的复杂程度 D数据之间的联系 答案: D23.传统的数据模型分类, 数据库系统能够分为三种类型 。A大型、 中型和小型 B西文、 中文和兼容 C层次、 网状和关系 D数据、 图形和多媒体 答案: C24. 层次模型不能直接表示 。A 1 : 1关系 B1 : m关系 C m : n关系 D1 : 1和1 : m关系 答案: C25. 数据库技术的奠基人之一E.FCodd从1970年起发表过多篇论文, 主要论述的是 。 A层次数据模型 B网状数据模型 C关系数据模型 D面向对象数据模型 答案: C二、 填空题1. 数据管理技术经历了 、 和 三个阶段。 答案: 人工管理 文件系统 数据库系统2.
8、 数据库是长期存储在计算机内、 有 的、 可 的数据集合。 答案: 组织 共享3DBMS是指 它是位于 和 之间的一层管理软件。 答案: 数据库管理系统 用户 操作系统4. 数据库管理系统的主要功能有 、 、 数据库的运行管理和数据库的建立以及维护等4个方面。答案: 数据定义功能 数据操纵功能5. 数据独立性又可分为 和 。 答案: 逻辑数据独立性 物理数据独立性6. 当数据的物理存储改变了, 应用程序不变, 而由DBMS处理这种改变, 这是指数据的 。 答案: 物理独立性7. 数据模型是由 、 和 三部分组成的。 答案: 数据结构 数据操作 完整性约束8. 是对数据系统的静态特性的描述, 是
9、对数据库系统的动态特性的描述。 答案: 数据结构 数据操作9. 数据库体系结构按照 、 和 三级结构进行组织。 答案: 模式 外模式 内模式10. 实体之间的联系可抽象为三类, 它们是 、 和 。 答案: 11 1m mn11数据冗余可能导致的问题有 和 。 答案: 浪费存储空间及修改麻烦 潜在的数据不一致性三: 简答题: 1. 什么是数据库?答: 数据库是长期存储在计算机内、 有组织的、 可共享的数据集合。数据库是按某种数据模型进行组织的、 存放在外存储器上, 且可被多个用户同时使用。因此, 数据库具有较小的冗余度, 较高的数据独立性和易扩展性。2. 什么是数据库的数据独立性? 答: 数据独
10、立性表示应用程序与数据库中存储的数据不存在依赖关系, 包括逻辑数据独立性和物理数据独立性。 逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、 数据之间联系的变更或增加新的数据类型等)时, 它不影响某些局部的逻辑结构的性质, 应用程序不必修改。 物理数据独立性是指数据的存储结构与存取方法(内视图)改变时, 对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性, 也就是说, 数据库数据的存储结构与存取方法独立。3. 什么是数据库管理系统? 答: 数据库管理系统(DBM
11、S)是操纵和管理数据库的一组软件, 它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS, 而不同的DBMS各支持一种数据库模型, 虽然它们的功能强弱不同, 但大多数DBMS的构成相同, 功能相似。 一般说来, DBMS具有定义、 建立、 维护和使用数据库的功能, 它一般由三部分构成: 数据描述语言及其翻译程序、 数据操纵语言及其处理程序和数据库管理的例行程序。第2章关系数据库一、 选择题1、 关系数据库管理系统应能实现的专门关系运算包括 。 A排序、 索引、 统计 B选择、 投影、 连接 C关联、 更新、 排序 D显示、 打印、 制表 答案: B2、 关系模型中, 一
12、个关键字是 。A可由多个任意属性组成 B至多由一个属性组成 C可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D以上都不是 答案: C3、 自然连接是构成新关系的有效方法。一般情况下, 当对关系R和S使用自然连接时, 要求R和S含有一个或多个共有的 。 A元组 B行 C记录 D属性 答案: D4、 关系运算中花费时间可能最长的运算是 。 A投影 B选择 C笛卡尔积 D除 答案: C5关系模式的任何属性 。 A不可再分 B可再分 C命名在该关系模式中能够不惟一 D以上都不是 答案: A6在关系代数运算中, 五种基本运算为 。A并、 差、 选择、 投影、 自然连接 B并、 差、 交、
13、选择、 投影 C并、 差、 选择、 投影、 笛卡儿积 D并、 差、 交、 选择、 乘积 答案: C7、 设有关系R, 按条件f对关系R进行选择, 正确的是 。ARR BR wv R C sf(R) DPf(R) F 答案: C8、 如图所示, 两个关系R1和R2, 它们进行 运算后得到R3。R1 R2ABCACD121XYyDEM125MNMIJKR3ABCDEACC112XYyMMNIIJA交 B并 C笛卡尔积 D连接 答案: D9、 数据库的 是指数据的正确性和相容性。A安全性B完整性C并发控制D恢复 答案: B10、 在数据库的表定义中, 限制成绩属性列的取值在0到100的范围内, 属于
14、数据的_约束。A、 实体完整性B、 参照完整性C、 用户自定义D、 用户操作 答案: C二、 填空题1、 一个关系模式的定义格式为 。 答案: 关系名(属性名1, 属性名2, , 属性名n)2、 一个关系模式的定义主要包括 、 、 、 和 。 答案: 关系名 属性名 属性类型 属性长度 关键字3、 关系代数运算中, 传统的集合运算有 、 、 和 。 答案: 笛卡尔积 并 交 差4、 关系代数运算中, 基本的运算是 、 、 、 和 。 答案: 并 差 笛卡尔积 投影 选择5、 关系代数运算中, 专门的关系运算有 、 和 。 答案: 选择 投影 连接6、 关系数据库中基于数学上两类运算是 和 。答
15、案: 关系代数 关系演算7、 已知系(系编号, 系名称, 系主任, 电话, 地点)和学生(学号, 姓名, 性别, 入学日期, 专业, 系编号)两个关系, 系关系的主关键字是 , 系关系的外关键字 , 学生关系的主关键字是 , 外关键字 答案: 系编号 无 学号 系编号8数据库的完整性是指数据的 . _和 。答案: 实体完整性 参照完整性 用户定义完整性 9、 实体完整性是指在基本表中, 。 答案: 主属性不能取空值10、 参照完整性是指在基本表中, 。 答案: 外码能够是空值或者另一个关系主码的有效值11、 为了保护数据库的实体完整性, 当用户程序对主码进行更新使主码值不惟一时, DBMS就
16、。答案: 拒绝此操作三、 应用题: 设有如下所示的关系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)检索选修
17、课程包含”程军”老师所授课程之一的学生学号(S#)。 (8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。 (10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。 解: 本题各个查询语句对应的关系代数表示式表示如下: (1). C#,CNAME(TEACHER=程军(C) (2). S#,SNAME(AGE21SEX=”男”(C) (3). SNAMEswv S#,C#( sc) C#(TEACHER=程军(C) (4). C#(C)- C#(SNAME=李
18、强(S) wv SC) (5). S#(1=425 (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). SNAMEswv S#,C#( sc) C#(C) (10). S#,C#( sc) C#(S#=2(SC)(11). S#,SNAMEswv S#(SCwv CNAME=C语言(C)关系R和S如下图所示, 试计算RS。 RABCDabcdabefabhkbdefbddlckcdckefRS答案: ABabck SCDcdef
19、第3章关系数据库标准语言SQL一、 选择题1、 SQL语言是 的语言, 易学习。 A过程化 B非过程化 C格式化 D导航式 答案: B2、 SQL语言是 语言。 A层次数据库 B网络数据库 C关系数据库 D非数据库 答案: C3、 SQL语言具有 的功能。 A关系规范化、 数据操纵、 数据控制 B数据定义、 数据操纵、 数据控制 C数据定义、 关系规范化、 数据控制 D数据定义、 关系规范化、 数据操纵 答案: B4、 SQL语言具有两种使用方式, 分别称为交互式SQL和 。 A提示式SQL B多用户SQL C嵌入式SQL D解释式SQL 答案: C5、 假定学生关系是S(S#, SNAME,
20、 SEX, AGE), 课程关系是C(C#, CNAME, TEACHER), 学生选课关系是SC(S#, C#, GRADE)。 要查找选修”COMPUTER”课程的”女”学生姓名, 将涉及到关系 。 AS BSC, C CS, SC DS, C, SC 答案: D6、 如下面的数据库的表中, 若职工表的主关键字是职工号, 部门表的主关键字是部门号, SQL操作 不能执行。 A从职工表中删除行(025, 王芳, 03, 720) B将行(005, , 乔兴, 04, 750)插入到职工表中 C将职工号为, 001的工资改为700 D将职工号为, 038的部门号改为03 答案: B 7、 若用
21、如下的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#, GR
22、ADE)其中: S#为学号, SN为姓名, SEX为性别, AGE为年龄, DEPT为系别, C#为课程号, CN为课程名, GRADE为成绩。8、 检索所有比”王华”年龄大的学生姓名、 年龄和性别。正确的SELECT语句是 。 ASELECT SN, AGE, SEX FROM S WHERE AGE(SELECT AGE FROM S WHERE SN=”王华”) BSELECT SN, AGE, SEX FROM S WHERE SN”王华” CSELECT SN, AGE, SEX FROM SWHERE AGE(SELECT AGE WHERE SN=”王华”) DSELECT SN
23、, AGE, SEX FROM S WHERE AGE王华AGE答案: A9、 检索选修课程”C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 。 ASELECT S# FORM SC WHERE C#=”C2” AND GRAD (SELECT GRADE FORM SC WHERE C#=”C2”) BSELECT S# FORM SC WHERE C#=”C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=”C2”) CSELECT S# FORM SC WHERE C#=”C2” AND GRADE NOT IN (SELECT
24、GRADE FORM SC WHERE C#=”C2”) DSELECT S# FORM SC WHERE C#=”C2” AND GRADEALL (SELECT GRADE FORM SC WHERE C#=”C2”) 答案: D10、 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 。 ASELECT SSN, SCC#, SCGRADE FROM S WHERE SS#=SCS# BSELECT SSN, SCC#, SCGRADE FROM SC WHERE SS#SCGRADE CSELECT SSN, SCC#, SCGRADE FROM S, SC WHER
25、E SS#=SCS# DSELECT SSN, SCC#, SCGRADE FROM SSC 答案: C11、 检索选修四门以上课程的学生总成绩(不统计不及格的课程), 并要求按总成绩的降序排列出来。正确的SELECT语句是 。 ASELECT S#, SUM(GRADE)FROM SC WHERE GRADE=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)4 BSELECT S# FORM SC WHERE C#=”C2” AND GRADE IN (SELECT GRADE FORM SC WHERE C#=”C2”) CSELECT S# F
26、ORM SC WHERE C#=”C2” AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=”C2”) DSELECT S# FORM SC WHERE C#=”C2” AND GRADEALL (SELECT GRADE FORM SC WHERE C#=”C2” 答案: A二、 填空题1、 SQL是 。 答案: 结构化查询语言2、 视图是一个虚表, 它是从 中导出的表。在数据库中, 只存放视图的 , 不存放视图的 。 答案: 一个或几个基本表 定义 视图对应的数据3、 设有如下关系表R: R(No, NAME, SEX, AGE, CLASS)
27、 主关键字是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) VA
28、LUES(30, ”郑和”, ”95031”) UPDATE R SET NAME=”王华”WHERE NO10 UPDATE R SET CLASS”95091”WHERE CLASS”95101” DELETE FROM R WHERE NO=20DELETE 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分别表示学号、 课程
29、号、 姓名、 年龄、 性别、 成绩和课程名。用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
30、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 SNAMEFROM SWHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S#
31、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分别表示学号、 姓名、 性别、 年龄、 所在系名
32、、 课程号、 课程名、 学分和成绩。试用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.SN
33、O = 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
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100