1、数据库系统原理复习题 第章 一、 选择题 1. 数据库( DB) 、 数据库系统( DBS)和数据库管理系统( DBMS)之间的关系是( A )。 A. DBS 包括 DB 和 DBMS B. DBMS 包括 DB 和 DBS C. DB 包括 DBS 和 DBMS D. DBS 就是 DB,也就是 DBMS 2. 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D ) 。 A. 层次模型 B. 关系模型 C. 网状模型 D. 实体 -联系 模型 3. 目前,数据库管理系统最常用的逻辑数据模型 是 ( C)。 A 网状模型 B 层次模型 C 关系模型 D 面向对象模型 4. 下列
2、四项中,不属于数据库系统特点的是( C)。 A. 数据共享 B. 数据完整性 C. 数据冗余度高 D. 数据独立性高 5. 数据模型的三个要素分别是( B ) 。 A. 实体完整性、参照完整性、用户自定义完整性 B. 数据结构、 数据 操作、 数据 完整性约束 条件 C. 插入数据 、 修改数据 、 删除数据 D. 外模式、模式、内模式 6. 数据库三级结构从内到外的 3 个层次 依次 为( B) 。 A. 外模式、模式、内模式 B. 内模式、模式、外模式 C. 模式、外模式、内模式 D. 内模式、外模式、模式 7. 下列关于数据库系统的正确叙述是( A) : A. 数据库系统减少了数据冗余
3、B. 数据库系统避免了一切冗余 C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 8. 数据的逻辑独立性是指( B) 。 A外模式改变时保持应用程序不变 B模式改变时保持外模式不变 C内模式改变时保持模式不变 D 数据 改变时保持应用程序不变 9. 数据的 物理 独立性是指( C) 。 A外模式改变时保持应用程序不变 B模 式改变时保持外模式不变 C内模式改变时保持模式不变 D 数据 改变时保持应用程序不变 10. 公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是 ( D) 。 A. 多对多 B.
4、一对一 C. 多对一 D. 一对多 11. 储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是 ( C) 。 A. 一对一联系 B. 一对多联系 C. 多对多联系 D. 不确定联系 12. 描述数据库全体数据的全局逻辑结构和特性的是( A)。 A. 模式 B. 内模式 C. 外模式 D. 以上三级模式 二 、 填空 1. 数据库系统一般由( 数据库 )、( 数据库管理系统 )、( 应用程序 )和( 数据库管理员 )组成。 2. 数据库是长期存储在计算机中、有( 组织 )的、可( 共享 )的数据集合。 3. DBMS 表示 ( DataBase Management System),
5、它是位于( 用户 )和( 操作系统 )之间的一层数据管理软件。 4. 实体之间的联系可抽象为三类,它们是( 一对一 )、( 一对多 )和( 多对多 )。 5. 数据模型 的三要素包括 ( 数据 结构 )、( 数据操作 )和( 数据完整性约束条件 )三部分。 6. 根据数据模型的应用目的不同,数据模型分为( 概念模型 )、( 逻辑模型 )和( 物理模型 ) 等 。 7. 按照数据结构的类型命名,逻辑模型分为( 关系模型 )、( 层次模型 )和( 网状模型 )等 。 8. E-R 图中, ( 矩形 ) 表示实体, ( 椭圆 ) 表示属性, ( 菱形 ) 表示实体之间的联系 。 三、简述题 1. 数
6、据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。 2. 数据库管理系统的主要功能 包括: ( 1)数据定义功能 , ( 2)数据的组织、存储和管理, ( 3)数据操纵功能, ( 4)数据库事务的管理与运行管理, ( 5)数据的建立与维护, ( 6)其它功能。 3. 数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。 4. 数据库中数据操作包括插入、修改、删除和查询。 6. 实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。 8. 数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。 9. 数据库系统由数据库、数据库管理系统、应用系
7、统和数据库管理员等组成。 10. 数据库系统三级模式结构 是 指模式、内模式和外模式。 三、简述题 1 数据库的定义是什么? 2 数据库管理系统的主要功能有哪些? 3 数据模型的三要素是什么? 4 数据库中数据操作包括哪些? 5 实体型之间的联系包括哪三种? 6 数据库领域中常用的逻辑数据模型有哪些? 7 数据库系统由哪几部分组成? 8 数据库系统三级模式结构? 答案: 1. 数据库是长期存贮在计算机内的、有组织的、可共享的大量数据的集合。 2. 数据库管理系统的主要功能 包括: ( 1)数据定义功能 , ( 2)数据的组织、存储和管理, ( 3)数据操纵功能, ( 4)数据库事务的管理与 运
8、行管理, ( 5)数据的建立与维护, ( 6)其它功能。 3. 数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。 4. 数据库中数据操作包括插入、修改、删除和查询。 6. 实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。 8. 数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。 9. 数据库系统由数据库、数据库管理系统、应用系统和数据库管理员等组成。 10. 数据库系统三级模式结构 是指模式、内模式和外模式。 四、应用题 1. 设有商品和顾客 两个实体,商品实体包括商品编号、名称、单价等属性,顾客实体包括顾客编号、姓名、联系电话等属性,两
9、个实体存在如下的关系: 一个顾客可购买多种任意商品 每次可购买一定数量的商品(一天只限一次购物) 绘出 E-R 图,并标明属性和联系的类型 2. 为某百货公司设计一个 E-R 模型:百货公司管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。实体类型 “商店 ”的属性有:商店编号 、 商店 名称、 地址 、联系电话 。实体类型 “商品 ”的属性有:商品编号、商品名称 、单价、产地。实体类型 “职工 ”的属性有 :职工编号、职工 姓名 、性别、工资。在联系中应反映出职工参加某商店工作的工作时间,商店推销产品的销售量。 3. 试为一网上书店建立概念模型。 第
10、 2 章 一、 选择题 1.关于关系模型,下列说法中不正确的是 ( D) 。 B. 关系模型是建立在集合代数的基础上的 C. 数据的逻辑结构是一个二维表 D. 关系操作是面向集合的操作方式 E. 关系中的数据可以是任意的 2 关于关系,下列说法中不正确的是 ( D ) 。 B. 关系中每个属性值都是不可分解的 B. 关系中 不允许出现相同的元组 C. 关系中不考虑 元组间的顺序 D. 元 组中的属性是有序的 3 关系代数中,选择运算的运算符号是 ( C) A B C D 4 关系查询时 取出关系的某些列,并取消重复元组的关系运算为 ( B) 。 B. 选择运算 B. 投影运算 C. 连接运算
11、D.笛卡儿积 5 根据关系模式的实体完整性规则,一个关系的主码 属性 ( C) 。 A不能有两个 B不能成 为另一个关系的外码 C不允许为空 D可以取 任意 值 6 在关系 模式 R( R#, RN, S#)和 S( S#, SN, SD)中, R 的主键是 R#, S 的主键是S#,则 S#在 R 中称为( B)。 C. 主码 B. 外码 C. 候选码 D. 全码 7“成绩 在 0-100 之间 ”这种约束 属于哪种完整性约束 ( C )。 D. 主 键约束 B. 外键约束 C. 用户定义的完整性约束 D. 全不是 8 关系 R 如下图所示, a1 的象集是 ( B)。 A B C a1 b
12、1 c1 a1 b2 c3 a2 b1 c2 E. b1, b2 B. ( b1, c1),( b2, c3) C. c1, c3 D. ( b1, c1),( b2, c3) , ( b1, c2) 二、简述题 9 关系模型的三个组成部分是什么? 10 关系模型的完整性约束分为哪三类 ? 11 关系代数中提供了哪些关系的查询运算? 答案 1. 关系模型由关系数据结构 、 关系操作 和 关系的完整性约束条件三部分 组成。 2. 关系的完整性约束包括主键约束、外键约束和用户定义的完整 性约束三种 。 3.关系代数中的查询包括关系的并、交、差、笛卡儿积、选择、投影、连接和除法等 三、 用关系代数表
13、示查询 12 设有选课关系数据库模式如下: Student( Sno, Sname, Sage, Ssex) Course( Cno, Cname) SC( Sno, Cno, Grade) 请用关系代数表达式表示下列查询: (1) 查询选修了 2 号课程的学生的学号 (2) 查询学号为“ 03”的学生的学号和姓名 (3) 查询年龄大于 20 岁的男同学的学号和姓名 (4) 查询选修了课程的学生的学号和姓名 (5) 查询有选修学生的课程号和课程名 (6) 查询选修 了 5 号课程的学生的姓名和成绩 (7) 查询选修了“数据库原理”课程的学生的学号和姓名 答案: (1) Sno (Cno= 2
14、(SC) select sno from sc where cno=2 (2) Sno, Sname (Sno= 03 (Student) Select sno,sname from student where sno= 03 (3) Sno, Sname (Sage 20 Ssex= 男 (Student) Select sno,sname from student where sage20 and ssex= 男 (4) Sno, Sname (Student SC ) Select sc.sno,sanme from sc,student where student.sno=sc.sno
15、 (5) Cno, Cname (Course SC) Select o,cname from course,sc where o=o (6) Sn ame, Grade (Student (Cno= 5 (SC ) ) Select sname,grade from student,sc where student.sno=sc.sno and cno= 5 (7) Sno, Sname (Cname= 数据库原理 (Student SC Course) 或 Sno, Sname (Student Sno ( SC Cname= 数据库原理 (Course) ) Select sno,sna
16、me from student,sc,course where sc.sno=student.sno and o=o and cname=数据库原理 13 现有图书借阅关系数据库模式如下: 图书(图书号,书名,作者,单价,库存量) 读者(读者号,姓名,工作单位 ,地址) 借阅(图书号,读者号,借期,还期,备注) 其中,还期为 NULL 表示该书未还。 用关系代数表示如下查询: (1) 查询读者号为“ R016”的读者姓名、工作单位 (2) 查询图书号为“ B5”的读者姓名 (3) 查询读者“李林”所借阅图书的书名 (4) 查询读者“李林”所借阅图书中未还的书名 答案 (1) 姓名,工作单位 (
17、 读者号 = R016 (读者 )) (2) 姓名 ( 图书号 = B5 (读者 借阅 )) (3) 书名 ( 姓名 =李林 (读者 借阅 图书 )) (4) 姓名 ( 姓名 =李林 还期 = NULL(读者 借阅 图书) ) 或 姓名 ( ( 姓名 =李林 ( 读者) ( 还期 = NULL(借阅) 图书 ) 2、 Sname, Grade (Cno=5( Student SC) ) 3、 Sno, Sname (Student Sno (SC Cname=操作系统 (Course) 第 3 章 一、 选择题 1. SQL 语言称为 ( C)。 A结构化定义语言 B. 结构化操纵语言 C.
18、结构化查询语言 D. 结构化控制语言 2. 下列 SQL 语句中,修改表结构的是 ( D) A CREATE B UPDATE C INSERT D ALTER 3. 在 SELECT 语句中 , 用于实现数据分组统计的子句是 (C ) A FROM 子句 B WHERE 子句 C GROUP BY 子句 D ORDER BY 子句 4. 下列哪种运算不能引出子查询。 ( B ) A IN B LIKE C EXISTS D比较运算 5. 基于学生选课数据库中的 3 个关系: S(学号 , 姓名 , 性别 , 年龄 )、 C(课程号 , 课程名 , 任课教师 )、 SC(学号 , 课程号 ,
19、成绩 ),若要求查找选修 “数据库技术 ”这门课程的学生姓名和成绩,将使用关 系 ( D ) A S 和 SC B SC 和 C C S 和 C D S、 SC 和 C 6. 基于学生选课数据库中的 3 个关系: S(学号 , 姓名 , 性别 , 年龄 )、 C(课程号 , 课程名 , 任课教师 )、 SC(学号 , 课程号 , 成绩 ),若要求查找学生的平均成绩大于 80 分的学号和平均成绩,下面列出的 SQL 语句,正确的是( C )。 A SELECT 学号 , AVG(成绩 ) FROM SC WHERE AVG(成绩 )80 B SELECT 学号 , AVG(成绩 ) FROM S
20、C WHERE AVG(成 绩 )80 GROUP BY 学号 C SELECT 学号 , AVG(成绩 ) FROM SC GROUP BY 学号 HAVING AVG(成绩 )80 D SELECT 学号 , 成绩 FROM SC GROUP BY 学号 HAVING AVG(成绩 )80 7. 下列 SQL 语句中,正确的是( C)。 A SELECT S#, SNAME FROM SC GROUP BY S# B SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)3 C SELECT S# FROM SC GROUP BY S# WHERE CO
21、UNT(*)3 D SELECT S# FROM SC WHERE COUNT(*)3 GROUP BY S# 8. 在视图上不能完成的操作是( C)。 A更新视图 B查询视图 C在视图上定义新的基本表 D在视图上定义新视图 二、填空 1. 在 SQL 的查询语句中,使用( FROM)子句数据源,使用( WHERE)子句选择参与运算的数据行,使用( SELECT)子句指定目标列。可使用( GROUP BY)子句结 合聚集函数进行分组统计。若对查询结果排序可使用( ORDER BY)子句。 2. 在 SQL 中,( CREATE TBLE)语句创建表和声明完整性约束条件。如果要为一个基本表增加列
22、和完整性约束条件,应该使用( ALTER TABLE)语句。删除表的定义及表中的数据和索引,应该使用的语句是( DROP TABLE)。 3. 视图是定义在(基本表)之上的虚表,对视图也可以进行插入、修改、删除和查询操作。但视图不存储数据,对视图的一切操作最终要转换为对(基本表)的操作。 三、简述题 1.SQL 语言 的特点? 2.SQL 语言中 常用的语句有哪些? 3.SQL 中提供了 哪些常用的聚集函数 ?它们如何使用? 4.什么是连接查询?连接查询如何指定连接条件? 5.什么是子查询?用在 WHERE 子句中的子查询有几种调用方式? 答案: 1. SQL 语言集数据查询、数据操纵、数据定
23、义和数据控功能于一体,其主要的操作语句包括 CREATE、 ALTER、 DROP、 INSERT、 UPDATE、 DELETE、 SELECT、 GRANT、REVOKE 等。 2. SQL 中提供了一些聚集函数,用于统计数据库数据,包括 COUNT、 AVG、 SUM、MAX、 MIN 等,除 COUNT( *)用法外,统计时均忽略空值,使用 DISTINCT 选项可忽略对重复数据的统计。聚集行数只可用于 SELECT 子句和 HAVING 子句。 3. 若一个查询同时涉及到两个表,则称之为连接查询。连接查询的连接条件可在WHERE 子句中通过一个比较运算指定,或在 FROM 子句中在指
24、定连接方式的同时指定连接条件。 4. 子查询又称嵌套查询,是嵌套在 SELECT、 INSERT、 UPDATE、 DELETE 等语句中的 SELECT 查询语句。多用在 WHERE 子句中,使用子查询的结果作为搜索条件。在 Where子句中使用子查询有以下几种方式: 由 IN 引 出子查询、由比较运算符引出子查询、由EXISTS 引出子查询。 四、数据库操作 1. 仓库管理系统 在某仓库管理系统中,有两个表: KC 表和 CKMX 表, 其结构和部分数据如下: 表 1、 KC 表结构 和数据 材料代码 材料名称 单位 单价 库存数量 01 计算机 台 5000.00 10 02 电视机 台 2000.00 20