文档库

最新最全的文档下载
当前位置:文档库 > 数据库基础与应用期末考试重点复习题

数据库基础与应用期末考试重点复习题

数据库基础与应用期末重点复习题

第一章数据库系统概论

填空题

1.数据库处理技术经历了人工管理、文件管理、数据库管理以及分布式数据库管理四个发展阶段。(07年7月考)(09年1、7月考)

2. 在文件管理阶段,程序和数据在存储位置上是__分开___存放的。

3. 在人工管理和文件管理阶段,程序设计依赖于数据表示。(09年1月考判断)

4. 数据库系统具有数据结构化、数据共享、数据独立性、数据粒度小、独立的数据操作界面、由DBMS统一管理等优点。(08年1月、09.7考)

5. 在文件管理阶段、文件之间是相互独立的,在数据库管理阶段,文件之间是相互联系的。(07年7月考是非题)

6.在_文件__系统中,不容易做到数据共享,在_数据库__系统中,容易做到数据共享。(08年1月考判断)7.在文件系统中,存取数据的基本单位为__记录__,在数据库系统中,存取数据的基本单位为_数据项__。

8. 在文件系统中,数据没有独立的操作界面,在数据库系统中数据具有独立的操作界面。(08年1月考)

9. 在数据库系统中访问数据,既可以采用程序执行方式,也可以视屏交互采用方式。

10. DBMS 具有安全性、一致性、并发性和数据库恢复等管理控制功能。(08年1月考)11.分布式数据库系统既支持客户的_局部__应用,又支持客户的__全局__应用。(07年7月考是非题)

12. 分布式数据库系统除了具有一般数据库系统的优点之外,还具有兼容性好、可靠性高、地域范围广、数据量大、客户数多等优点。

13. 在实体中能作为码的属性称为主属性,否则称为非主属性。09.7考

14. 域是实体中相应属性的取值范围,性别属性的域包含2 个值。(08年1月考)

15. 实体之间的联系类型有三种,分别是1对1、1对多和多对多。(08、07年7月考)(09年1月考)16.若实体A和B是多对多的联系,实体B和C是1对1的联系,则实体A和C是__多__对__多__的联系。(09年1月考选择)

17.若实体A和B是1对多的联系,实体B和C是1对多的联系,则实体A和C是__1 对___多__的联系。18.若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是___ ___多_对___多_____的联系。

19. 任一种数据模型都有_ 型___和___值___的区别。(08年7月考)

20. 把保存_关系定义__的关系称为对应数据库的元关系,一个数据库的元关系由__DBMS_自动建立。(08年1月考)

21. 关系数据库系统具有数据结构单一、采用集合运算、数据完全独立、数学理论支持等优点。(08年7月考)(08年1月考)

22. 在对象数据模型中,对象不但能够继承,而且能够嵌套。(07、09年7月考是非题)

在非关系模型中操作记录的方式是过程式的,在关系模型中操作记录的方式是集合式的。23.关系中的每一行称为元组,每一列称为属性。

24. 在数据库体系结构中,两级数据映像分别是指外模式和模式之间的数据映像与模式和内模式之间的数据映像。(08年1月考)

25. 数据库系统的三级模式结构和两级数据映像确保了数据的物理独立性和逻辑独立性。(08年7月考)(07年7月考)

第二章关系运算

1. 关系数据模型包括关系数据结构、关系完整性规则和关系运算三个方面。(07年7月考)(09年1、7月考)

2.设D1,D2和D3域的基数分别为2,3和4,则D1?D2?D3的元组数为__24__,每个元组有__3__个分量。(07、

09年7月考)

3. 学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则__班级号_为学生关系中的_外码__。(07年7月考)

4. 若一个关系为R(学生号,姓名,性别,年龄),则学生号可以作为该关系的主码,姓名、性别和年龄为该关系的非主属性。(07年7月考)

5. 在候选码中的每个属性被称为主属性,不在任何候选码中的每个属性被称为非主属性。(09年1、7月考)

6. 关系完整性包括实体完整性、参照完整性和用户定义完整性三个方面。(08年1月考)

7. 在参照和被参照的关系中,每个外码值或者为空,或者等于另一个关系中的主码值。

8. 设一个集合A={3,4,5,6,7} ,集合B={1,3,5,7,9},则A和B的并集中包含有7个元素,A和B的交集中包含有 3 个元素,A和B的差集中包含有2 个元素。(07年7月考)

9. 设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性和b2个元组,则关系A×B具有a1+b1 个属性和a2 x b2 个元组。(08年7月考)

10. 专门的关系运算包括__选择___、_投影_、__连接__和__除__四种。

11. 设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则至少选修了课程号为‘001’和‘002’课程的全部学生信息所对应的运算表达式为S >< Π学生号(δ课(X ))

程号=‘001’∨课程号=‘002’

12. 设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则选修了课程名为‘程序设计’课程的全部学生信息所对应的运算表达式为S >< (Π学生号( X ><(δ课程号=’程序设计’(C ))))。

13. 设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则姓名为变量K的值的学生所选修的全部课程信息所对应的运算表达式为__C__ ∏课程号(_X__ (δ姓名

(_S___)))。(09年1月考判断)

=K

14. 设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),求出所有选课的学生信息的运算表达式为__ ∏课程号(_X_)_____与__C___的自然连接。(07、09年7月考是非题)第三章关系规范化基础

1.在一个关系R中,若属性集X函数决定属性集Y,则记作为_X→Y_,称X为决定因素。

2. 在一个关系R中,若X→Y且X ?Y,则称X→Y为非平凡依赖,否则,若X→Y且X ?Y,则称X→Y 为平凡依赖。(08年7月考)

3. 在一个关系R中,“职工号”函数决定“姓名”既是非平凡函数依赖,又是完全函数依赖。(07、09年7月考)

4. 已知“职工号→性别”成立,则“(职工号,性别)→性别”既是平凡函数依赖,又是部分函数依赖。(08年1月考)

5. 在一个关系R中,若存在“学号→系号,系号→系主任”,则隐含存在着__学号__函数决定__系主任___。(08年7月考)

6. 在一个关系R中,若存在X→Y和X→Z,则存在X→(Y,Z),称此为函数依赖的合并性规则。(08年1月考)

7. 在一个关系R中,若存在X→(Y,Z),则也隐含存在__X→Y__和_ X→Z_,称此为函数依赖的__分解性___规则。(08年7月考)(07、09年7月考)

8. 在一个关系R中,若X能够函数决定关系R中的每个属性,并且X的任何真子集都不能函数决定R中的每个属性,则称X 为关系R的一个候选码。(08年7月考)

9. 一个关系的候选码能够函数决定每个属性,其中除了存在完全函数决定外,也允许存在部分函数决定和传递函数决定。(08年1月考)

10. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C→D,(A,C)→E},则该关系的候选码为__(A,C)__,该候选码含有_2__属性。

11. 设一个关系为R(A,B,C,D,E,F ),它的最小函数依赖集为FD={A→B,A→C, D→E, D→F},则该关系的候选码为__(A,D)___,该候选码含有___2___属性。(08年1月、09.7考)

12. 设一个关系为R(A,B,C,D,E,F,G ),它的最小函数依赖集为FD={A→B,C→D, B→E, E→F},则该关系的候选码为_(A,C,G)__,该候选码含有_3__属性。(08年1月、07年7月考)

13. 对关系进行规范化,通常只要求规范化到第三范式,该规范化过程能够很好的保持数据的无损连接性和函数依赖性。(08年1月考)

14. 一个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据冗余以及插入、删除和修改异常。(08年7月考)

15. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},则该关系的候选码为_(A,D)__,该关系存在着_部分__函数依赖。(08年7月考)

16. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C→D,C→E},该关系只满足_ 第一__范式,若要规范化为高一级的范式,则将得到_3_个关系。(08年7月考)

17. 关系数据库中的每个关系必须最低达到__第一__范式,该范式中的每个属性都是__不可再分__的。

18. 一个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据冗余和操作异常。(09年7月考)

19. 设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,A→C,C→D,C→E,A→F,F→G},该关系满足第二_范式,若要规范化为高一级的范式,则将得到_3_个关系。(09年1月考)

20. 若一个关系的任何非主属性都不部分依赖和传递依赖于任何候选码,则称该关系达到__第三__范式。(09年1月考选择、判断)

第四章结构化查询语言-----SQL

一、填空题

1. 数据库系统的外模式在SQL中称为视图,它由基本表产生出来。

2. SQL是高度非过程化和面向集合操作的语言。(08、07年7月考)(09年1月考)

3. 由create schema KUCUN authorization LIU 命令建立的一个数据库名为KUCUN ,所有者为LIU 。(07年7月考)

4. 在SQL中建立和删除数据库模式的命令分别为_create database __和__drop database___。

5. 在SQL中完整性约束分为列级完整性约束和表级完整性约束两个方面。

6. 在列级完整性约束中,每个约束只能涉及到1个属性,在表级完整性约束中,每个约束可以涉及到多个属性。(08年7月考)

7. 在SQL中,列级完整性约束分为 6 种情况,表级完整性约束分为 4 种情况。

8. 在SQL中,主码约束的关键字为primary key ,外码约束的关键字为foreign key 。(08年7月考)(08年1月考)

9. 在SQL中,单值约束的关键字为unique ,检查约束的关键字为check 。(08年7月考)(07年7月考)(09年1月考)

10. 在SQL中,create table 、alter table 和drop table 命令分别为在数据库中建立、_修改__和删除基本表结构的命令。(08年1月考)(09年1月考选择)

11. 向基本表中插入数据有两种命令格式,一种称为单行插入格式,另一种称为多行插入格式。(08年7月考)

12. 在SQL中,对基本表进行插入、修改和删除记录命令分别为_insert _、___update__和_delete_命令。(08年1月考)

13. 在SQL中,每个视图中的列可以来自不同的表,它是在原有表的基础上建立的逻辑意义上的新关系。(09年1月考判断)

14. 在SQL查询语句中,group by 选项实现分组功能,order by 选项实现对结果表的排序功能。(07年7月考)

15. 在新版的SQL中,查询所涉及到的表及表之间的连接是在from选项中实现的,表之间的连接共有三种方式,分别称为_中间连接__、__左连接__和_右连接___。(08、09年7月考)

二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。

在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1(商品代号char(8),分类名char(8),单价float ,数量int )

商品表2(商品代号char(8),产地char(8),品牌char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生(学生号char(7),姓名char(6),性别char(2),出生日期datetime,专业char(10),年级int)

课程(课程号char(4),课程名char(10),课程学分int)

选课(学生号char(7),课程号char(4),成绩int)

1. select x..商品代号,分类名,数量,品牌(09年1月考)

from 商品表1 x ,商品表2 y

where x.商品代号= y.商品代号

从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息

2. select distinct 产地

from 商品表2

从商品库中查询出所有商品的不同产地

3. select distinct 品牌(07年7月考)

from 商品表2

从商品库中查询出所有商品的不同品牌

4. select count (distinct 产地) as 产地数(08年7月考)

from 商品表2

从商品库中查询出所有商品的不同产地的总数

5. select x..商品代号,分类名,数量,品牌

from 商品表1 x ,商品表2 y

where x.商品代号= y.商品代号and (品牌=‘熊猫’or 品牌=‘春兰’)

从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌

6. select 学生.学生号, count (* ) as 选课门数(08年1月考、09.7考)

from 学生,选课

where 学生.学生号=选课.学生号

group by 学生.学生号

从教学库中查询出每个学生选课的门数

7. select distinct x..*

from 学生x, 选课y, 选课z

where y.学生号=z.学生号and y.课程号<>z.课程号and x..学生号=y.学生号

从教学库中查询出至少选修了两门课程的全部学生

8. select * (09年1月考)

from 学生

where 学生号in (select 学生号

from 选课

group by 学生号having count(*)=1 )

从教学库中查询出只选修了一门课程的全部学生

9. select x.学生号, y.学生号, y.课程号(07年7月考)(09年1月考)

from 选课x, 选课y

where x..学生号=@s1 and y.学生号=@s2

and x.课程号=y.课程号

从教学库中查询出学生号为@ s1的学生和学生号为@ s2的学生选修的共同课程的课程号10. select x.*

from 课程x,选课y

where x .课程号= y .课程号and y .学生号=@ s1

and y .课程号not in (select 课程号from 选课where 选课.学生号= @ s2)

从教学库中查询出学生号为@ s1的学生所选修、而学生号为@ s2的学生没有选修的课程11. select *

from 课程

where not exists (select * from 选课where 课程.课程号=选课.课程号)

从教学库中查询出所有未被学生选修的课程

12. select * (08年7月考)

from 课程

where exists (select * from 选课where 课程.课程号=选课.课程号)

从教学库中查询出所有已被学生选修的课程

13. select * (08年1月考)

from 学生

where exists (select * from 选课

where 学生.学生号=选课.学生号

group by 选课.学生号having count(*)=3

)

从教学库中查询出同时选修了3门课程的全部学生

14. select *

from 学生

where 学生号in (select 学生号from 选课

group by 学生号having count(*)<=2

)

or not exists (select * from 选课

where 学生.学生号=选课.学生号

)

从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生

15. select 专业,count(*)as 专业人数(08年7月考)(07年7月考)

from 学生

group by 专业

order by 专业人数desc

从教学库中查询出每个专业的学生人数,并按人数多少降序排列

16. select 专业,性别,count(*)as 人数

from 学生

order by 专业

从教学库中查询出每个专业每种性别的学生人数,并按专业升序排列

17. select x.*,课程名,课程学分,成绩09.7考

from 学生x,课程y,选课z

where x..学生号= z.学生号and y.课程号= z.课程号

order by x .学生号,z .成绩

从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序

18. select *

from 学生

where not exists (select y.课程号

from 学生x inner join 选课y on x.学生号=y.学生号

where x.姓名=@a and not exists (select *

from 选课

where 学生.学生号=选课.学生号and y.课程号=选课.课程号)

)

从教学库中查询出选修了姓名为@ a 的学生的全部选课的所有学生

三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。

在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:

商品表1(商品代号char(8),分类名char(8),单价float ,数量int )

商品表2(商品代号char(8),产地char(8),品牌char(6))

在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:

学生(学生号char(7),姓名char(6),性别char(2),出生日期datetime,专业char(10),年级int)

课程(课程号char(4),课程名char(10),课程学分int)

选课(学生号char(7),课程号char(4),成绩int)

1. 从商品库中查询出每种商品的商品代号、单价、数量和产地。

select 商品表1..商品代号,单价,数量,产地

from 商品表1 ,商品表2

where 商品表1.商品代号= 商品表2.商品代号

2. 从商品库中查询出数量大于10的商品种数。(08、09年1月考)

select count(*)as 商品种数

from 商品表1

where 数量>10

3. 从商品库中查询出数量在10和20之间的所有商品。

select *

from 商品表1

where 数量〉=10 and 数量<=20

4. 从商品库中查询出每类(即分类名相同)商品的最高单价。(07年7月考)

select 分类名,max(单价)as 最高单价

from 商品表1

5. 从商品库中查询出每类(即分类名相同)商品的平均数量。(08年7月考)

select 分类名,avg(数量)as 平均数量

from 商品表1

group by 分类名

6. 从商品库中查询出每类(即分类名相同)商品的总数量。

select 分类名,sum(数量)as 总数量

from 商品表1

group by 分类名

7. 从商品库中查询出比所有电视机的单价都高的每种商品。

select * from 商品表1

where 单价> all (select 单价from 商品表1

where分类名= ”电视机” )

8. 从商品库中查询出比所有商品单价的平均值要高的全部商品。(09年1月考)

select * from 商品表1

where 单价> all (select avg (单价) from 商品表1 )

9. 从商品库中查询出数量最多的一种商品。(09年7月考)

select * from 商品表1

where 数量= some (select max (数量) from 商品表1 )

10. 从商品库中查询出同一类商品多于一种的所有分类名。(07年7月考)

select distinct 分类名

from 商品表1

group by 分类名having count(*)>1

11. 从商品库中查询出同一产地的商品只有一种的所有商品。

select 商品表1.* ,产地

from 商品表1 , 商品表2

where 商品表1.商品代号=商品表2.商品代号and 产地in (select 产地

from 商品表1 X , 商品表2 Y

where X..商品代号=y. 商品代号

group by 产地having count(*)=1 )

12. 从商品库中查询出每种商品的总价值,并按降序排列出来。

select *, 单价*数量as 总价值

from 商品表1

order by 总价值desc

13. 从教学库中查询出至少选修了姓名为@ m1学生所选课程中一门课的全部学生号。

select distinct 学生.*

from 学生, 选课

where 学生.学号=选课.学号and 课程号= any (select 课程号

from 学生,选课

where 学生.学生号=选课.学生号and 姓名=@m1 )

14. 从教学库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。

select 课程.课程号, 课程名, count(课程.课程号) as 人数

from 课程, 选课

where 课程.课程号=选课.课程号

group by 课程.课程号,课程名

order by 人数

15. 从商品库中查询出不同产地,并按产地所具有的品牌数多少升序排列。(08年7月考)select 产地,count (品牌) as 品牌数

from 商品表2

group by 产地

order by 品牌数

16. 从教学库中查询出至少有5名学生所选修的全部课程(提示:使用子查询)(08年1月考)select *

from 课程

where exists (select * from 选课

where 课程.课程号=选课.课程号

group by 选课.课程号having count(*)>=5

)