第1章数据库系统概论
填空
1.
数据库处理技术经历了__________、__________、__________、以及分布式数据库管理等四个发展阶段。
2.
数据库系统具有__________、__________、__________、数据粒度小、独立的数据操作界面、由DBMS统一管理等优点。
3.
在文件系统中,存取数据的基本单位为________,在数据库系统中,存取数据的基本单位为________。
4.
在数据库系统中访问数据,既可以采用_____________方式,也可以采用______方式。
5.
DBMS具有_________、_________、__________和_________等管理控制功能。
6.
分布式数据库系统除了具有一般数据库系统的优点外,还具有____________、_______、___________、________、__________等优点。
7.
在实体中能作为码的属性称为________,否则称为_________。
8.
域是实体中相应属性的________,性别属性的域包含有________个值。
9.
实体之间的联系类型有三种,分别为________、________和________。
10.
若实体A和B是多对多的联系,实体B和C是1对1的联系,则实体A和C是________对________的联系。
11.
若实体A和B是1对多的联系,实体B和C是1对多的联系,则实体A和C是________对________的联系。
12.
若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是________对________的联系。
13.
数据库和逻辑模型有_________、__________、_________和________等四种。
14.
任一种数据模型都有________和________的区别。
15.
层次模型是一棵________结构,关系模型是一个________结构。
16.
关系中的每一行称为一个__________,每一列称为一个__________。
17.
关系数据库系统具有________单一、采用________、数据完全________、________理论支持等优点。
18.
在对象数据模型中,每个对象不仅要包含描述实体的________特征,而且要包含描述实体的________特征。
19.
在对象数据模型中,对象具有________性、________性和________性。
20.
数据库系统中的四类用户分别为____________、____________、____________和____________。
21.
数据库体系结构中饮食的三级模式为__________、__________和__________。
22.
在数据库体系结构中,两级数据映象分别是指_____________之间的数据映象与______________之间的数据映象。
23.
数据库籪三级模式结构和两级数据映象确保了数据的____________独立性和__________独立性。
24.
DBMS提供数据_________语句和数据_____________语句供用户使用。
25.
SQL具有数据________、________、________和________等四种主要功能。
第2章关系运算
填空
1.
关系数据模型包括___________、___________和_________三个方面。
2.
设D1,D2和D3域的基数分别为2,3和4,则D1´D2´D3的元组数为________,每个元组有________个分量。
3.
学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则________为学生关系中的________。
4.
若一个关系为R(学生号,姓名,性别,年龄),则________可以作为该关系的主码,姓名、性别和年龄为该关系的________属性。
5.
在候选码中的每个属性被称为__________属性,不在任何候选码中的每个属性被称为_____________。
6.
关系完整性包括______完整性、_______完整性和________完整性三个方面。
7.
设一个关系R1中的属性A是外码,它对应关系R2中的主码为B,则称________为子关系,________为父关系。
8.
在参照和被参照的关系中,每个外码值或者为_____________,或者等于另一个关系中的_________值。
9.
传统的集合运算包括____________、__________、________和________四种。
10.
设一个集合A={3,4,5,6,7},集合B-{1,3,5,7,9},则A和B的并集中包含有_______个元素,A和B的交集中包含有_______个元素。
11.
设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性2个元组,则关系A×B具有______个属性和________元组。
12.
专门的关系运算包括________、________、________和__________四种。
13.
设一个关系模式为R(A,B,C),对应的关系内容为R={{1,10,50}, {2,10,60}, {3,20,72},
{4,30,60}},则δB》15(R)属于________运算,运算结果中包含有________个元组。
14.
设一个关系模式为R(A,B,C),对应的关系内容为R={{1,10,50}, {2,10,60}, {3,20,72},
{4,30,60}},则ПB(δC<70(R))的运算结果中包含有________个元组,每个元组包含有________个分量。
15.
设一个关系模式为R1(A,B,C),对应的关系内容为R1={{1,10,50}, {2,10,60}, {3,20,72},
{4,30,60}},另个关系模式为R2(A,D,E),对应的关系内容为R2{{1,10,50}, {2,10,60},
{1,20,72},
{2,30,60}},则R1∞R2的运算结果中包含有________个元组,每个元组包含有________个分量。
第3章关系规范化基础
填空
1.
在一个关系R中,若属性集X函数决定属性集Y,则记作为____________,称X为_____________。
2.
在一个关系R中,若X→Y且X
/ÊY,则称X→Y为________依赖,否则,若X→Y且XÊY,则称X→Y为________依赖。
3.
在一个关系R中,若X→Y,并且X的任何真子集都不能函数决定Y,则称X→Y为________函数依赖,否则,若X→Y,并且X的一个真子集也能够函数决定Y,则称X→Y为________函数依赖。
4.
在一个关系R中,若存在“学号→系号,系号→系主任”,则隐含存在着________函数决定________。
5.
在一个关系R中,若存在X→Y,和Y→Z,则存在________,称此为函数依赖的___________规则。
6.
在一个关系R中,若存在X→(Y,Z),则也隐含存在________和________,称此为函数依赖的________规则。
7.
在一个关系R中,若X能够函数决定关系R中的每个属性,并且X的任何真子集都不能函数决定R中的每个属性,则称______为关系R的一个________。
8.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C→D,(A,C)→E},则该关系的候选码为________,该候选码含有______属性。
9.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,B→C,D→E},则该关系的候选码为________,该候选码含有______属性。
10.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},则该关系的候选码为___________,候选码函数决定E是__________性。
11.
对关系进行规范化,通常只要求规范化到__________范式。
12.
关系数据库中的每个关系必须最低达到________范式,该范式中的每个属性都是__________的。
13.
一个关系若存在部分函数依赖和传递函数依赖,则必然会造成__________、以及__________、___________和___________。
14.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},则该关系的候选码为________,该关系存在着_________函数依赖。
15.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},该关系只满足________范式,若要规范化第三范式,则将得到________个关系。
16.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},该关系只满足________范式,若要规范化为高一级式,则将得到________个关系。
17.
设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,C→D,C→E},该关系满足________范式,若要规范化为高一级的范式,则将得到________个关系。
18.
若一个关系的任何非主属性都不部分依赖于任何候选码,则称该关系达到________范式。
19.
若一个关系的任何非主属性都不部分依赖和传递依赖于任何候选码,则称该关系达到________范式。
20.
若一个关系中只有一个候选码,并且该关系达到了第三范式,则表明它同时也达到了________范式,该关系中所有属性的__________都是候选码。
第4章结构化查询语言-----SQL
一、填空
1.
数据库系统的外模式在SQL中称为________,它由________产生出来。
2.
在实际的数据库管理系统中,对数据库的操作方式有__________、__________和__________等三种。
3.
SQL是高度_____________和面向_____________操作的语言。
4.
由create schema KUCUN authorization LIU
命令建立一个数据库为_____,所有者为______________。
5.
在SQL中完整性约束分为_________完整性约束和__________完整性约束。
6.
在________完整性约束中,每个约束只能涉及到1个属性,在________完整性约束中,每个约束可以涉及到多个属性。
7.
在SQL中,主码约束的关键字为_________,外码约束的关键字为_________。
8.
在SQL中,单值约束的关键字为_________,检查约束的关键字为_________。
9.
在SQL中,create table、alter table和drop
table命令分别为在数据库中________、________和________基本表结构的命令。
10.
向基本表插入数据有两种命令格式,一种称为___________插入格式,另一种称为_________插入格式。
11.
在SQL中,对基本表进行插入、修改和删除记录的命令分别为____________、_________和______________。
12.
在SQL中,每个视图中的列可以来自不同的______,它是在原有表的基础上________的逻辑意义上的新关系。
13.
基本表属于全局模式中的表,它是________,而视图则属于局部模式中的表,它是________。
14.
在SQL中,通过使用视图,能够使在关系规范化时被分解的关系________连接起来,能够增强数据库的________性。
15.
在SQL中,根据基本表建立一个视图时,包括建立了该视图的________和________两个方面。
16.
当建立和删除一个视图时,对相应的基本表__________,当修改一个视图时,则对相应的基本表__________。
17.
在SQL中,建立 修改和删除视图的命令分别为__________、__________和__________。
18.
在SQL新版的查询语句中,________选项实现投影运算,________选项实现连接运算,________选项实现选择运算。
19.
在SQL的查询语句中,group by选项实现__________功能,order
by选项实现对结果表的__________功能。
20.
在新版的SQL中,查询所涉及到的表及表之间的连接是在from选项中实现的,表之间的连接共有三种方式,分别称为__________、__________和__________。
二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。
在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:
商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int)
商品表2(商品代号 char(8),产地 char(6),品牌 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.商品代号,分类名,数量,品牌
from 商品表1 x,商品表2 y
where x.商品代号=y.商品代号
2. select
distinct 产地
from 商品表2
3. select
count(distinct 产地) as 产地数
from 商品表2
4. select
x.商品代号,分类名,产地,品牌
from 商品表1 x,商品表2 y
where x.商品代号=y.商品代号 and (品牌='熊猫' or 品牌='春兰')
5. select
学生.学生号,count(*) as 选课门数
from 学生,选课
where 学生.学生号=选课.学生号
group by 学生.学生号
6. select
distinct x.*
from 学生 x,选课 y,选课 z
where y.学生号=z.学生号 and y.课程号<>z.课程号
and x.学生号=y.学生号
7.
select *
from 学生
where 学生号 in (select 学生号
from
选课
group by 学生号 having
count(*)=1
8. select
x.*
from 课程 x,选课 y
where
x.课程号=y.课程号 and
y.学生号=@s1b
and y.课程号 not in(
select 课程号
from 课程
where选课.学生号=@s2
)
9. select
*
from 课程
where
not exists (
select *
from 选课
where 课程.课程号=选课.课程号
)
10.
select *
from 课程
where exists (
select *
from 选课
where 课程.课程号=选课.课程号
)
11.
select *
from 学生
where
exists (
select *
from 选课
where学生.学生号=选课.学生号
group by 选课.学生号 having
count(*)=3
)
12.
select *
from 学生
where 学生号 in (
select 学生号
from 选课
group by 学生号 having
count(*)<=2
) or not exists (select *
from 选课
where 学生.学生号=选课.学生号
)
13.
select 专业,count(*) as 专业人数
from 学生
group by 专业
order by 专业人数 desc
14.
select x.*,课程名,课程学分,成绩
from 学生 x,课程 y,选课 z
where x.学生号=z.学生号 and y.课程号=z.课程号
order by x.学生号,z.成绩
15.
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.课程号=选课.课程号
)
【DOC】数据库基础与应用综合练习题