1. 数据库处理技术经历了__人工管理阶段__、___文件管理阶段__、__数据库管理系统阶段__、以及分布式数据库管理等四个发展阶段。
2.在文件管理阶段,程序和数据在存储位置上是_分开__存放的。 3.在人工管理和文件管理阶段,程序设计_依赖于_数据表示。
4.数据库系统具有_数据结构化_、_数据共享__、__数据独立性_、数据粒度小、独立的数据操作界面、由DBMS统一管理等优点。
5.在文件管理阶段,文件之间是相互_独立的_,在数据库管理阶段,文件之间是相互___联系__的。 6.在___文件__系统中,不容易做到数据共享,在____数据库__系统中,容易做到数据共享。 7.使用数据库设计程序时,只需要告诉数据库管理系统__做什么__,不需要告诉它__怎么做_。
8.在文件系统中,存取数据的基本单位为___纪录____,在数据库系统中,存取数据的基本单位为___数据项_____。
9.在__文件___系统中,数据没有独立的操作界面,在___数据库__系统中,数据具有独立的操作界面。 10.在数据库系统中访问数据,既可以采用__程序__方式,也可以采用_视屏交互_方式。 11.DBMS具有_安全性_、_一致性__、_并发性_和__数据库恢复__等管理控制功能。 12.分布式数据库系统既支持客户的__局部__应用,又支持客户的__全局__应用。
13.分布式数据库系统除了具有一般数据库系统的优点之外,还具有_兼容性强__、__可靠性高__、__地域范围广_、__数据量大_等优点。
14.若一个联系涉及到两个实体则称为__二元__联系,若只涉及到一个实体则称为_一元__联系。 15.在实体中能作为码的属性称为__主属性__,否则称为__非主属性__。 16.域是实体中相应属性的__取值范围__,性别属性的域包含有_2_个值。 17.实体之间的联系类型有三种,分别为_1:1__、__1:n__和__m:n__。
18.若实体A和B是多对多的联系,实体B和C是1对1的联系,则实体A和C是_多_对__多__的联系。
19.若实体A和B是1对多的联系,实体B和C是1对多的联系,则实体A和C是_1_对__多_的联系。 20.若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是_多__对__多__的联系。
21.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是__一__对__多_的联系。
22.数据库的逻辑数据模型有__层次__、__网状_、___关系__和__面向对象__等四种。 23.在非关系模型中,每个结点代表着一个_纪录型__,每个父子联系代表着__1:n_联系。 24.任一种数据模型都有_型_和__值_的区别。
25.在非关系模型中操作记录的方式是_过程_式的,在关系模型中,操作记录的方式是__集合__式的。 26.层次模型是一棵_树__结构,关系模型是一个__二维表__结构。 27.关系中的每一行称为一个_元组_,每一列称为一个_属性_。
28.在一个关系中不允许出现重复的_元组_,也不允许出现具有相同名字的_属性_。
29.假定一个关系中有n个元组,则某个列的当前全部取值的个数最少为_1_个,最多为_n_个。
30.把保存_关系定义__的关系称为对应数据库的元关系,一个数据库的元关系由_DBMS__自动建立。 31. 关系数据库系统具有___数据结构___单一、采用__集合运算__、数据完全__独立___、___数学___理论支持等优点。
32.在对象数据模型中,每个对象不仅要包含描述实体的__状态__特征,而且要包含描述实体的__行为__特征。
33.在对象数据模型中,对象具有__封装__性、_继承_性和_多态_性。 34.在__对象__数据模型中,__对象_不但能够继承,而且能够嵌套。
35.数据库管理系统的下层支持软件是__OS__,上层软件是数据库应用__开发工具___。
36.数据库系统中的四类用户分别为__数据库管理员___、___数据库设计员___、__应用程序员__和_ 终端用户__。
1 / 36
37.数据库体系结构中包含的三级模式为__模式__、__外模式_和__内模式__三种。
38.在数据库体系结构的三级模式中,全局模式处于__中间_层,外模式处于_最上__层,内模式处于__最下__层。
39.在数据库体系结构中,两级数据映象分别是指__外模式和模式__之间的数据映象与___模式和内模式___之间的数据映象。
40.数据库系统的三级模式结构和两级数据映象确保了数据的__逻辑_独立性和_物理__独立性。 41.DBMS提供数据_定义_语句和数据__操作_语句供用户使用。 42.DBMS的主要功能之一是__建立__和__维护__数据字典。
43.在存取数据库的数据的过程中,使用了两个数据缓冲区,分别为__系统__缓冲区和__用户__缓冲区。
44.SQL具有数据__定义__、__查询__、__更新__和__控制__等四种主要功能。
第二章综合练习题
1.关系数据模型包括________________、__________________和____________三个方面。
2.设D1,D2和D3域的基数分别为2,3和4,则D1´D2´D3的元组数为________,每个元组有________个分量。
3.在一个关系中,不同的列可以对应同一个________,但必须具有不同的________。 4.关系中的每个属性只能取________,关系的结构不允许________。 5.顾客购物的订单和订单明细之间具有________对________的联系。
6.关系中的码可分为________、________、________、________和外码五种。 7.主码是一种________码,主码中的________个数没有限制。
8.学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则________为学生关系中的________。
9.若一个关系为R(学生号,姓名,性别,年龄),则________可以作为该关系的主码,姓名、性别和年龄为该关系的________属性。
10.在候选码中的每个属性被称为________属性,不在任何候选码中的每个属性被称为________属性。
11.关系完整性包括________完整性、________完整性和__________的完整性三个方面。
12.设一个关系R1中的属性A是外码,它对应关系R2中的主码为B,则称________为子关系,________为父关系。
13.在参照和被参照的关系中,每个外码值或者为________,或者等于另一个关系中的________值。
14.用户定义的________是对关系中一些属性的取值给定相应的约束条件,禁止非法数据进入________。
15.传统的集合运算包括____、____、____和__________四种。
16.设一个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A和B的并集中包含有______个元素,A和B的交集中包含有______个元素,A和B的差集中包含有______个元素。
17.设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性和b2个元组,则关系A´B具有________个属性和________个元组。
18. 专门的关系运算包括________、________、________和__________四种。
19.设一个关系模式为R(A,B,C),对应的关系内容为R={{1,10,50}, {2,10,60}, {3,20,72}, {4,30,60}},则δB>15(R)属于________运算,运算结果中包含有________个元组。
20.设一个关系模式为R(A,B,C),对应的关系内容为R={{1,10,50}, {2,10,60}, {3,20,72}, {4,30,60}},则ПB(δC<70(R))的运算结果中包含有________个元组,每个元组包含有________个分量。
21.设一个关系模式为R(A,B,C),对应的关系内容为R={{1,10,50}, {2,10,60}, {3,20,72}, {4,30,60}},则R> 22.设一个关系模式为R1(A,B,C),对应的关系内容为R1={{1,10,50}, {2,10,60}, {3,20,72}, {4,30,60}},另一个关系模式为R2(A,B,D),对应的关系内容为R2={{1,10,50}, {2,10,60}, {1,20,72}, {2,30,60}},则R1> 25.设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则选修了课程名为’程序设计’课程的全部学生信息所对应的运算表达式为S><(________(________ ><(____________ (C))))。 26.设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则姓名为变量K的值的学生所选修的全部课程信息所对应的运算表达式为______><Õ课程号(______><(δ姓名=K(______)))。 27.设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),则求出所有选修课程信息的运算表达式为___________与________的自然连接。 28.设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),求出所有选课的学生信息的运算表达式为___________与________的自然连接。 第三章综合练习题 1.在一个关系R中,若属性集X函数决定属性集Y,则记作为________,称X为________。 2.在一个关系R中,若属性集X函数决定属性集Y,同时Y函数决定X,则记作为________,它们之间互为________。 3.在一个关系R中,若X→Y且 X Y,则称X→Y为____________依赖,否则,若X→Y且X Y ,则称X→Y为____________依赖。 4.在一个关系R中,若X→Y,并且X的任何真子集都不能函数决定Y,则称X→Y为________函数依赖,否则,若X→Y,并且X的一个真子集也能够函数决定Y,则称X→Y为________函数依赖。 5.在一个关系R中,“职工号”函数决定“姓名”既是_______函数依赖,又是________函数依赖。 6. 已知“职工号→性别”成立,则“(职工号,性别)→性别”既是________函数依赖,又是________函数依赖。 7.在一个关系R中,若X,Y和Z为互不相同的单属性,并且存在X→Y和Y→Z,则必然存在_____到_____的传递函数依赖。 8.在一个关系R中,若存在“学号→系号,系号→系主任”,则隐含存在着________函数决定________。 9.在一个关系R中,若存在X→Y和X→Z,则存在____________,称此为函数依赖的________规则。 10. 在一个关系R中,若存在X→(Y,Z),则也隐含存在________和________,称此为函数依赖的________规则。 11.在一个关系R中,若X能够函数决定关系R中的每个属性,并且X的任何真子集都不能函数决定R中的每个属性,则称______为关系R的一个________。 12.一个关系的候选码能够函数决定每个属性,其中除了存在完全函数决定外,也允许存在______函数决定和______函数决定。 13.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C→D,(A,C)→E},则该关系的候选码为________,该候选码含有______属性。 3 / 36 14. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,B→C,D→E},则该关系的候选码为________,该候选码含有______属性。 15. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,B→C,B→D,D→E},则该关系的候选码为________,该候选码含有______属性。 16. 设一个关系为R(A,B,C,D,E,F),它的最小函数依赖集为FD={A→B,A→C,D→E,D→F},则该关系的候选码为________,该候选码含有______属性。 17. 设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,C→D,B→E,E→F},则该关系的候选码为________,该候选码含有______属性。 18. 设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},则该关系的候选码为________,候选码函数决定E是______性。 19.对关系进行规范化,通常只要求规范化到________范式,该规范化过程能够很好地保持数据的________性和________性。 20.关系数据库中的每个关系必须最低达到________范式,该范式中的每个属性都是__________的。 21. 把一个非规范化的关系变为第一范式时,可以在________上展开,也可以在________上展开,还可以把每个复合属性单独分解为________。 22.一个关系若存在部分函数依赖和传递函数依赖,则必然会造成数据________以及________、_______和________异常。 23.一个关系若存在部分函数依赖和传递函数依赖,则必然会造成__________和__________。 24.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},则该关系的候选码为________,该关系存在着_________函数依赖。 25.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,C→D,C→E},该关系只满足________范式,若要规范化为高一级的范式,则将得到________个关系。 26.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},该关系只满足________范式,若要规范化为第三范式,则将得到________个关系。 27.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},该关系只满足________范式,若要规范化为高一级的范式,则将得到________个关系。 28.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(A,D)→E},若要把它规范化为第三范式,则将得到的两个关系分别为__________和__________。 29.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,C→D,C→E},该关系满足________范式,若要规范化为高一级的范式,则将得到________个关系。 30.设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,A→D,D→E},该关系满足________范式,若要规范化为高一级的范式,则将得到________个关系。 31. 设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,A→C,C→D,C→E,A→F,F→G},该关系满足________范式,若要规范化为高一级的范式,则将得到________个关系。 32. 设一个关系为R(A,B,C,D,E,F,G),它的最小函数依赖集为FD={A→B,A→C,C→D,C→E,A→F,F→G},若要规范化为高一级的范式,则得到的每个关系中属性个数按从大到小排列依次为________、________和________。 33.若一个关系的任何非主属性都不部分依赖于任何候选码,则称该关系达到________范式。 34.若一个关系的任何非主属性都不存在部分依赖和传递依赖于任何候选码,则称该关系达到________范式。 35.若一个关系的任何属性都不存在部分依赖和传递依赖于任何候选码,则称该关系达到________范式。 36. 若一个关系中只有一个候选码,并且该关系达到了第三范式,则表明它同时也达到了________范式,该关系中所有属性的__________都是候选码。 第四章综合练习题 4 / 36 一、填空题 1.数据库系统的外模式在SQL中称为________,它由________产生出来。 2.在实际的数据库管理系统中,对数据库的操作方式有__________、__________和__________等三种。 3.SQL是高度__________和面向________操作的语言。 4.在SQL中建立和删除数据库模式的命令分别为_______________和_______________。 5.由create schema KUCUN authorization LIU命令建立的一个数据库为________,所有者为________。 6.在SQL中完整性约束分为________完整性约束和________完整性约束两个方面。 7.在SQL中,若一个完整性约束只涉及到一个列,则该完整性约束既可以作为________完整性约束定义,也可以作为________完整性约束定义,两者只选其一。 8.在SQL中,列级完整性约束分为____种情况,表级完整性约束分为____种情况。 9.在列级和表级完整性约束中同时存在的约束分别为________、________、________和________等四种约束。 10.在________完整性约束中,每个约束只能涉及到1个属性,在________完整性约束中,每个约束可以涉及到多个属性。 11.在SQL中,主码约束的关键字为____________,外码约束的关键字为____________。 12. 在SQL中,单值约束的关键字为__________,检查约束的关键字为__________。 13.在SQL中,create table、alter table和drop table命令分别为在数据库中________、________和________基本表结构的命令。 14.在SQL中,建立、修改和删除数据库中基本表结构的命令分别为________、________和________命令。 15.向基本表中插入数据有两种命令格式,一种称为________插入格式,另一种称为________插入格式。 16. 向基本表插入数据时,可以在命令中使用关键字__________引出记录值,或者在命令中__________子句得到一个结果表。 17.在SQL中,insert、update和delete分别为对基本表进行________、________和________记录操作的命令。 18.在SQL中,对基本表进行插入、修改和删除记录的命令分别为________、________和________。 19. 在SQL中,每个视图中的列可以来自不同的______,它是在原有表的基础上________的逻辑意义上的新关系。 20.基本表属于全局模式中的表,它是________,而视图则属于局部模式中的表,它是________。 21.当建立一个视图后,通常只对它做________和________这两种操作。 22.在SQL中,通过使用视图,能够使在关系规范化时被分解的关系________起来,能够增强数据库的________性。 23.在________中,通常不应包括由计算可以得到的属性,而在________中,为了用户查询数据的方便,则需要包含它们。 24.在SQL中,根据基本表建立一个视图时,包括建立了该视图的________和________两个方面。 25.当建立和删除一个视图时,对相应的基本表__________,当修改一个视图时,则对相应的基本表__________。 26.在SQL中,create view、update和drop view命令分别为________、________和________视图的命令。 27.在SQL中,建立视图、修改视图内容和删除视图的命令分别为__________、__________和__________。 28. 在SQL新版的查询语句中,________选项实现投影运算,________选项实现连接运算,________选项实现选择运算。 5 / 36 29. 在SQL新版的查询语句中,select选项实现________运算,from选项实现________运算,where选项实现________运算。 30. 在SQL的查询语句中,group by选项实现__________功能,order by选项实现对结果表的__________功能。 31.在SQL的查询语句中,__________选项实现分组统计功能,__________选项实现对结果表的排序功能。 32.在新版的SQL中,查询所涉及到的表及表之间的连接是在from选项中实现的,表之间的连接共有三种方式,分别称为__________、__________和__________。 33.在新版的SQL中,表之间的连接共有三种方式,对应的关键字分别为__________、__________和__________。 二、根据主教材第四章所给的商品库和教案库,按照下列所给的每条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 distinct 品牌 from 商品表2 4.select count(distinct 产地) as 产地数 from 商品表2 5.select x.商品代号,分类名,产地,品牌 from 商品表1 x,商品表2 y where x.商品代号=y.商品代号 and (品牌='熊猫' or 品牌='春兰') 6.select 学生.学生号,count(*) as 选课门数 from 学生,选课 where 学生.学生号=选课.学生号 group by 学生.学生号 7.select 课程.课程号,课程.课程名,count(*) as 选课人数 from 课程,选课 where 课程.课程号=选课.课程号 group by 课程.课程号,课程.课程名 8.select distinct x.* from 学生 x,选课 y,选课 z where y.学生号=z.学生号 and y.课程号<>z.课程号 and x.学生号=y.学生号 9.select * from 学生 where 学生号 in (select 学生号 6 / 36 from 选课 group by 学生号 having count(*)=1 ) 10.select x.学生号,y.学生号,y.课程号 from 选课 x,选课 y where x.学生号=@s1 and y.学生号=@s2 and x.课程号=y.课程号 注:一个由字母开头的标识符再加上@字符前缀,则表示为一个变量,假定已保存着一个相应值。 11.select x.* from 课程 x,选课 y where x.课程号=y.课程号 and y.学生号=@s1 and y.课程号 not in ( select 课程号 from 选课 where 选课.学生号=@s2 ) 12.select * from 课程 where not exists ( select * from 选课 where 课程.课程号=选课.课程号 ) 13.select * from 课程 where exists ( select * from 选课 where 课程.课程号=选课.课程号 ) 14.select * from 课程 where exists ( select 课程号 from 选课 where 课程.课程号=选课.课程号 group by 课程号 having count(*) between 2 and 4 ) 15.select * from 学生 where exists ( select * from 选课 where 学生.学生号=选课.学生号 group by 选课.学生号 having count(*)=3 ) 16.select * 7 / 36 from 学生 where 学生号 in ( select 学生号 from 选课 group by 学生号 having count(*)<=2 ) or not exists ( select * from 选课 where 学生.学生号=选课.学生号 ) 17.select 专业,count(*) as 专业人数 from 学生 group by 专业 order by 专业人数 desc 18.select 专业,性别,count(*) as 人数 from 学生 group by 专业,性别 order by 专业 19.select x.*,课程名,课程学分,成绩 from 学生 x,课程 y,选课 z where x.学生号=z.学生号 and y.课程号=z.课程号 order by x.学生号,z.成绩 20.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.课程号=选课.课程号 ) ) 三、根据教材第四章所给的商品库和教案库,按照下列所给的每种功能写出相应的查询语句。 在名称为商品库的数据库中包含有商品表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.从商品库中查询出每种商品的商品代号、单价、数量和产地。 2.从商品库中查询出数量大于10的商品种数。 3.从商品库中查询出数量在10和20之间的所有商品。 4.从商品库中查询出每类(即分类名相同)商品的最高单价。 8 / 36 5.从商品库中查询出每类(即分类名相同)商品的平均数量。 6.从商品库中查询出每类(即分类名相同)商品的总数量。 7.从商品库中查询出单价大于等于2000元、或者数量大于等于15的所有商品 8.从商品库中查询出比所有电视机的单价都高的每种商品。 9.从商品库中查询出比所有商品单价的平均值要高的全部商品。 10.从商品库中查询出数量最多的一种商品。 11.从商品库中查询出同一类商品多于一种的所有分类名。 12.从商品库中查询出同一产地的商品只有一种的所有商品。 13.从商品库中查询出每种商品的总价值,并按降序排列出来。 14.从教案库中查询出至少有两名学生所选修的全部课程。 15.从教案库中查询出至少选修了姓名为@m1学生所选课程中一门课的全部学生。 16.从教案库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。 第五章综合练习题 一、填空题 1.一个数据库应用系统的开发过程大致相继经过__________、__________、逻辑设计、物理设计、机器实现、运行维护等六个阶段。 2.一个数据库应用系统的开发过程大致相继经过需求分析、概念设计、__________、__________、机器实现、运行维护等六个阶段。 3.一个数据库应用系统的开发过程大致相继经过需求分析、概念设计、逻辑设计、物理设计、__________、__________等六个阶段。 4.需求分析阶段的主要目标是画出__________、建立__________和编写__________。 5.数据字典是对系统工作流程中________和________的描述。 6.需求说明书是系统总体设计方案,是________单位与________单位共同协商达成的文档。 7.概念设计阶段的主要任务是根据__________的结果找出所有数据实体,画出相应的________。 8.对于较复杂的系统,概念设计阶段的主要任务是:首先根据系统的各个局部应用画出各自对应的__________,然后再进行综合和整体设计,画出__________。 9.概念设计也要贯彻____________原则,即一个实体中的所有属性都是直接用来__________的。 10.在列举的购物活动中,存在着三个实体,分别称为__________、__________和__________。 11.在列举的购物活动中,商品实体同销售实体之间是______对______的联系。 12.在列举的购物活动中,商品实体同收款实体之间是______对______的联系。 13.设计数据库的逻辑结构模式时,首先要设计好__________,然后再设计好各个________。 14.关系数据库系统中的全局模式由若干个________所组成,表与表之间的联系是通过定义的________和________实现的。 15.由概念设计进入逻辑设计时,原来的实体被转换为对应的________或________。 16.由概念设计进入逻辑设计时,原来的________联系或________联系通常不需要被转换为对应的基本表。 17.由概念设计进入逻辑设计时,原来的________联系通常需要被转换为对应的________。 18. 若两个基本表是通过对应的主码建立联系的,则该联系只能是________对________的联系。 19. 以一个基本表中的允许有重复值的属性作为外码同另一个基本表中的主码建立联系,则这种联系为________对________的联系。 20. 对于概念设计图中的1对1或1对多联系,若联系本身带有属性,则在逻辑设计阶段, ________(应/不应)转化为相应的基本表。 21. 在概念设计图中,对于无本身属性的1对1或1对多联系,可以只表明联系________,不使用联系________。 9 / 36 22.机器实现阶段的任务是在计算机系统中建立____________,装入________,针对各种处理要求编写出相应的__________。 23.机器实现阶段的目标是在计算机系统中得到一个满足__________的、__________和__________的数据库应用系统。 24.在进行系统调试时,要有意地使用各种不同的________和进行各种不同的_________,去测试系统中的所有方面。 25.在旅店管理中,涉及到______个基本表和______个视图。 26.在旅店管理中,涉及到的基本表有四个,它们分别为________、________、旅客登记表和消费卡表。 27.在旅店管理中,涉及到的基本表有四个,它们分别为客房表、住宿表、________和________。 28.在旅店管理中,由消费卡表派生出的视图有四个,它们分别为________、________、娱乐费表和催补款表。 29.在旅店管理中,由消费卡表派生出的视图有四个,它们分别为住宿费表 伙食费表、________和________。 30.在旅店管理中,________只派生出一个视图,该视图被称为____________。 第六章综合练习题 一、单选题 1.Access数据库是( )。 A.层状数据库 B.网状数据库 C.关系型数据库 D.树状数据库 2.在Access数据库中,数据保存在( )对象中。 A.窗体 B.查询 C.报表 D.表 3.Access数据库文件的扩展名是( )。 A.dbf B.dbt C.mdf D.mdb 4.Access数据库中的“一对多”指的是( )。 A.一个字段可以有许多输入项 B.一条记录可以与不同表中的多条记录相关 C.一个表可以有多个记录 D.一个数据库可以有多个表 5.数据库文件中至少包含有( )对象。 A.表 B.查询 C.窗体 D.其余三种 6.在Access数据库系统中,不能建立索引的数据类型是( )。 A.文本型 B.备注型 C.数值型 D.日期/时间型 7.如果某一字段数据型为文本型,字段大小为8,该字段中最多可输入( )个汉字。 A.8 B.4 C.16 D.32 8.下列哪一个不是设置表间“关系”时的选项( )。 A.实施参照完整性 B.级联追加相关记录 C.级联更新相关字段 D.级联删除相关记录 9.如果字段内容为声音文件,可将此字段定义为( )类型。 A.文本 B.查询向导 C.OLE对象 D.备注 10.在表设计视图中,如果要限定数据的输入格式,应修改字段的( )属性。 A.格式 B.有效性规则 C.输入格式 D.字段大小 11.一般情况下,以下哪个字段可以作为主关键字( )。 A.基本工资 B.职称 C.姓名 D.身份证号码 12.文本型字段最多可以存放( )个字符。 10 / 36 A.250 B.252 C.254 D.255 13.下面有关主键的叙述正确的是( )。 A.不同的记录可以具有重复的主键值或空值 B.一个表中的主键可以是一个或多个字段 C.在一个表中的主键只可以是一个字段 D.表中的主键的数据类型必须定义为自动编号或文本 14.下面有关表的叙述中错误的是( )。 A.表是Access数据库中的要素之一 B.表设计的主要工作是设计表的结构 C.Access数据库的各表之间相互独立 D.可以将其他数据库的表导入到当前数据库中 15.创建表之间的关系时,正确的操作是( )。 A.关闭当前打开的表 B.打开要建立关系的表 C.关闭所有打开的表 D.关闭与之无关的表 16.创建交叉表查询必须对( )字段进行分组(Group By)操作。 A.标题 B.列表题 C.行标题和列标题 D.行标题、列标题和值 17.Access用户操作界面由( )部分组成。 A.4 B.5 C.3 D.6 18.Access是( )办公套件中的一个重要组成部分。 A.Office B.Word C.Excel D.Lotus 19. Access中包含有( )个数据库对象。 A.5 B.6 C.7 D.8 20.下列( )是主键的标志。 A. B. C. D. 21.下列( )图标是Access的标志。 A. B. C. D. 22.下列( )图标是Access中表对象的标志。 A. B. C. D. 23.下列( )图标是Access中查询对象的标志。 A. B. C. D. 24.在建交叉表查询的过程中,最多可以选择( )个行标题字段。 A.2 B.3 C.4 D.5 25.下列( )图标是Access中新建查询的标志。 A. B. C. D. 26.下列( )图标是Access中新建报表的标志。 A. B. C. D. 27.在设计Access数据表时,“索引”属性有( )取值。 A.1 B.2 C.3 D.4 28.Access中字段的“小数位”属性被用来指定( )型数据的小数部分的位数。 A.货币和数字 B.货币和备注 C.文本和数字 D.数字和备注 29.字段说明用于对字段作进一步的描述,该说明显示在( )上。 A.状态栏 B.工具栏 C.菜单栏 D.标题栏 30.Access中包含有( )种数据类型。 A.9 B.10 C.7 D.8 二、填空题 1.Access数据库包含有______ 、 ________ 、 _______ 、报表、页、宏、模块等7种数据库对 11 / 36 象。 2.Access用户操作界面中的“工作区”也称为 。 3.Access用户操作界面中的“状态栏”主要用于显示数据库管理系统的 。 4.Access的用户操作界面由 、 、 、工具栏、状态栏等五个部分组成。 5.Access是 办公套件中的一个重要组成部分。 6.在Access的用户界面中,工具栏中的功能可以通过执行 中的相应命令来实现。 7.Access中“货币”型数据最长为 个字节,“自动编号”型数据最长为 个字节。 8.Access中字段的“小数位”属性是指定数字型和 数据的小数部分的位数,它只影响数据的 ,并不影响所存储数值的 。货币型、显示方式、精度 9.Access中的表间关系有 、 和 三种。 10.一个Access数据库对应于操作系统中的_______个文件,其文件扩展名为________。 11.Access数据库系统中,定义表中的字段就是确定表的结构,即确定表中字段的 、 、属性和说明等。 12.Access“表”结构设计窗口分为两个部分,上半部分是 ,下半部分是 。 13.Access“表”结构设计窗口中上半部分的“表设计器”是由 、____________和 ________ 等三列组成。 14.在Access的表中修改字段的名字并不会影响该字段的 ,但是会影响其它基于该表所创建的 。 15.Access数据库系统中字段的“格式”属性是用来决定数据的 和在屏幕上的 。 16.Access数据库系统中字段的“有效性规则”属性是一个限定该字段 的表达式。 17.查询可以作为窗体、报表和数据访问页的 。 18.查询可以作为 、 和 的数据源。 19.在Access中,如果要对大批量的数据进行修改,为了提高效率,最好使用________查询。 20.在Access数据库中,文本型字段和备注型字段可以用于保存_______________,数值型字段则只允许保存 。 21.要在Access数据表中保存货币值,最好是使用 型字段。 22.Access中的窗体由 、 和 等三个部分组成。 23.在Access中创建带子窗体的窗体时,必须确定作为主窗体和子窗体的数据源之间存在着 的关系。 24.子窗体就是窗体中的窗体,主要用来在窗体中显示来自 表的数据。 25.报表窗口由______个部分组成,每个部分称为一个______。 26.在Access 2000中报表中有________和________视图,而没有________视图。 27.报表由 、 、 、页面页脚和报表页脚等5节组成。 28.在Access 2000中使用“自动创建报表”功能可以创建 和 两种报表。 七章综合练习题 一、单选题 1.在一个宏中要打开一个报表,应该使用的操作是( )。 A.OpenForm B.OpenReport C.OpenTable D.OpenQuery 2.若要退出Microsoft Access,则应使用的操作是( )。 A.Exit B.Return C.Quit D.Revoke 3.显示包含警告信息或其他信息的消息框,应该使用的操作是( )。 A.Echo B.Message C.Warn D.MsgBox 4.宏的英文名称是( )。 A.Macro B.View C.Form D.Page 5.可以通过Internet进行数据发布的对象是( )。 12 / 36 A.窗体 B.报表 C.查询 D.数据访问页 6.Access 2000中数据访问页有两种视图,它们是设计视图和( )视图。 A.浏览 B.页面 C.显示 D.预览 7.创建数据访问页,将生成一个单独的( )文件,此文件不包括在Access2000数据库中。 A.HTML B.MDB C.MDF D.MDT 8.下列( )图标是Access中新建宏的标志。 A. B. C. D. 9.下列( )图标是Access中模块对象的标志。 A. B. C. D. 10.模块窗口由( )个部分组成。 A.2 B.3 C.4 D.5 11.Access 2000中共有( )基本宏操作,这些基本操作还可以组合成很多其它的“宏组”操作。 A.50 B.51 C.52 D.53 二、填空题 1.数据访问页是一种特殊的______页,通过它可以查看、添加、编辑和操作存储在___________中的数据。 2.数据访问页是直接链接到________________的一种Web页,可以在Internet Explorer5.0或__________中调用数据访问页。 3. 数据访问页与其他数据库对象的区别是:在Access数据库中仅保存数据访问页的快捷方式,数据访问页本身则作为一个独立的 文件保存。 4. 宏是由一条或多条操作命令组成的集合,其中每条命令用来实现相应的功能。使用 ________________可以确定按条件执行宏。 5.宏和菜单的主要区别是它们对数据库施加作用的 和 不同。 6.在Access中模块分为 和 两种类型。 7.模块窗口由 ______ 、 ______ 和 ______ 三部分组成。 8.模块窗口中的代码编辑窗口由 ____ 、 ____ 和 ___ 等三部分组成。 9.标准模块包含 和 两个过程。 10.模块是用Access提供的 语言编写的程序段。 11.一个________是由一个或多个过程组成的,每个过程可以实现相应的功能。 12. Access为用户提供了多种数据库安全措施,如设置用户__________和__________。 13.在设置或撤消数据库密码的过程中,数据库必须以 方式打开。 14.在设置或撤消数据库密码的过程中,密码对于字母 是敏感的。 15.在Access中,数据导入是将其它格式文件中的数据和其它Access数据库中的对象导入到______________中,而数据导出是将Access数据库中的______________传送到另一个数据库或其它格式文件中。 第八、九章综合练习题 一、单选题 1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于( )。 13 / 36 A. Windows平台 B. UNIX平台 C. LINX平台 D. NetWare平台 2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会( )。 A. 为数据加上页级锁 B. 为数据加上行级锁 C. 需要用户的干涉和参与 D. 使用户独占数据库 3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个( )。 A. 信任连接 B. 邮件集成 C. 并发控制 D. 数据转换服务 4. 以下对SQL Server2000描述不正确的是( )。 A. 支持XML B. 支持用户自定义函数 C. 支持邮件集成 D. 支持网状数据模型 5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装( )。 A. 企业版 B. 标准版 C. 个人版 D. 开发版 6. 提高SQL Server2000性能的最佳方法之一是( )。 A. 增大硬盘空间 B. 增加内存 C. 减少数据量 D. 采用高分辨率显示器 7. SQL Server2000标准版不支持的操作系统是( )。 A. Windows 2000 Server B. Windows NT Server C. Windows98 D. Windows 2000 Advanced Server 8. 如果希望完全安装SQL Server2000,则应选择( )。 A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动( )。 A. SQL Server服务器 B. 查询分析器 C. 网络实用工具 D. 数据导入和导出程序 10. 用于配置客户端网络连接的工具是( )。 A. 企业管理器 B. 客户端网络实用工具 C. 查询分析器 D. 联机帮助文档 11. SQL Server2000的物理存储主要包括3类文件( )。 A. 主数据文件、次数据文件、事务日志文件 B. 主数据文件、次数据文件、文本文件 C. 表文件、索引文件、存储过程 D. 表文件、索引文件、图表文件 12. 当数据库损坏时,数据库管理员可通过何种方式恢复数据库( )。 A. 事务日志文件 B. 主数据文件 C. DELETE语句 D. 联机帮助文件 13. SQL Server2000系统中的所有系统级信息存储于哪个数据库( )。 A. master B. model C. tempdb D. msdb 14. 下面关于tempdb数据库描述不正确的是( )。 A. 是一个临时数据库 B. 属于全局资源 14 / 36 C. 没有权限限制 D. 是用户建立新数据库的模板 15. Transact-SQL对标准SQL的扩展主要表现为( )。 A. 加入了程序控制结构和变量 B. 加入了建库和建表语句 C. 提供了分组(Group By)查询功能 D. 提供了Min、Max等统计函数 16. 语句“USE master GO SELECT * FROM sysfiles GO”包括( )个批处理。 A. 1 B. 2 C. 3 D.4 17. SQL Server2000的字符型系统数据类型主要包括( )。 A. int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 18. 如果要在SQL Server2000中存储图形图像、Word文档文件,不可采用的数据类型是( )。 A. binary B. varbinary C. image D. text 19. 下面关于Timestamp数据类型描述正确的是:( )。 A. 是一种日期型数据类型 B. 是一种日期和时间组合型数据类型 C. 可以用来替代传统的数据库加锁技术 D. 是一种双字节数据类型 20. 使用“CREATE DATABASE AAA”命令所建立数据库文件的初始大小是( )字节。 A. 1M B. 2M C. 3M D. 4M 21. 下面关于索引的描述不正确的是( )。 A. 索引是一个指向表中数据的指针 B. 索引是在元组上建立的一种数据库对象 C. 索引的建立和撤消对表中的数据毫无影响 D. 表被撤消时将同时撤消在其上建立的索引 22. 以下哪种情况应尽量创建索引( )。 A. 在where子句中出现频率较高的列 B. 具有很多NULL值的列 C. 记录较少的基本表 D. 需要更新频繁的基本表 23. 下面关于聚集索引和非聚集索引说法正确的是( )。 A. 每个表只能建立一个非聚集索引 B. 非聚集索引需要较多的硬盘空间和内存 C. 一张表上不能同时建立聚集和非聚集索引 D. 一个复合索引只能是聚集索引 24. “Create Unique Index AAA On 学生表(学号)”将在学生表上创建名为AAA的( )。 A. 惟一索引 B. 聚集索引 C. 复合索引 D. 唯一聚集索引 25. SQL Server2000提供的单行注释语句是使用( )开始的一行内容。 15 / 36 A. “/*” B. “--” C. “{” D. “/” 26. 下列标识符可以作为局部变量使用( )。 A. [@Myvar] B. My var C. @Myvar D. @My var 27. Transact-SQL支持的程序结构语句中的一种为( )。 A. Begin…End B. If…Then…ELSE C. Do Case D. Do While 28. 不属于SQL Server2000系统全局变量的是( )。 A. @@Error B. @@Connections C. @@Fetch_Status D. @Records 29. 属于事务控制的语句是( )。 A. Begin Tran、Commit、RollBack B. Begin、Continue、End C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End 30. SQL Server2000触发器主要针对下列语句创建( )。 A. SELECT、INSERT、DELETE B. INSERT、UPDATE、DELETE C. SELECT、UPDATE、INSERT D. INSERT、UPDATE、CREATE 31. 下列SQL Server2000语句中出现语法错误的是( )。 A. DECLARE @Myvar INT B. SELECT * FROM [AAA] C. CREATE DATABASE AAA D. DELETE * FROM AAA 32. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的( )速度。 A. 插入 B. 修改 C. 删除 D. 查询 二、填空题 1. SQL Server2000采用 __________ 计算模型,通过中央服务器集中存储数据资源。 2. SQL Server2000数据库应用的处理过程分布在 ____ 和服务器上。 3. SQL Server2000服务器可以被多台客户机访问,数据库服务器仅返回客户端应用程序所需要的数据,这样做的好处是可以减少 ____ 。 4. SQL Server2000提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的 ______ 。 5.在网络环境下,当多个用户同时访问数据库时,就会产生并发问题,SQL Server2000是利用 ________ 完成并发控制的。 6. SQL Server2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的 ____ 。 7. SQL Server2000采用的结构化查询语言称为 ______ 。 8. 常见的SQL Server2000的版本一般包括 、 、 、开发版和评估版等。 9. 安装SQL Server2000时需要以本地 _______身份登录操作系 16 / 36 统。 10. 如果在Windows NT/2000上安装SQL Server2000,需要事先设置至少一个 ______ 。 11. 默认情况下,SQL Server2000服务器的名字为 。 12. SQL Server2000服务管理器程序的主要作用是启动、 __ 、 __ 服务器。 13. 在网络多用户环境下,在停止SQL Server2000服务之前,最好先执行 操作。 14. SQL Server2000将数据组织成用户可以看见的逻辑组件,而在磁盘上则作为 ____实现。 15. 常用的数据库对象主要包括缺省、约束、用户、图表、用户自定义数据类型、 ________ 、 __ 、 __ 、 __ 、 __ 等。 16. SQL Server2000主数据文件、次数据文件和事务日志文件默认的扩展名分别为 、 和 。 17. SQL Server2000的数据库分为____________和 ____ 两种类型。 18. 每个SQL Server2000数据库下都包括 、 、 和 四个系统数据库。 19. 系统数据库主要用来进行复制、作业调度和管理报警等活动。 20. SQL Server2000客户机传递到服务器上的一组完整的数据和SQL语句称为 __ 。 21. 一般可以使用 命令来标识Transact-SQL批处理的结束。 22. SQL Server2000中的数据类型通常是指字段列、存储过程参数和 ____ 的数据特征。 23. varchar数据类型可以自动去掉字段或变量尾部的 __ 以节省空间。 24. SQL Server2000的datetime和smalldatetime数据类型主要用来存储________和________的组合数据。 25. 在SQL Server2000中,通常使用________数据类型来表示逻辑数据。 26. 函数LEFT(‘abcdef’,2)的结果是 。 27. SQL Server2000规定了2种类型的标识符,即____________和____________。 28. SQL Server2000中的整数类型包括__________、__________、__________和__________四种。 29. SQL Server2000中的整数类型分别为bigint、int、smallint和tinyint,它们分别占用______、______、______和______个存储字节。 30. SQL Server2000中的数据类型主要包括________、________、________、二进制、位和双字节等类型。 31. SQL Server2000提供的最常用的管理工具是______________和______________。 32. 在SQL Server2000中主要是通过使用______________运行Transact-SQL语句。 33. 如果希望修改数据库的名字,可以使用的系统存储过程是 。 34. SQL Server2000主要通过查询分析器和____________这两种工具来完成数据 17 / 36 库的管理工作。 35. 数据库备份和恢复的Transact-SQL语句分别是____________________和__________________。 36. 在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许________值。 37. 对表中记录的维护工作主要有增加、________和________操作,它们均可通过企业管理器或Transact-SQL语句完成。 38. 在Transact-SQL语句中需要把日期时间型数据常量用__________括起来。 39. 找回被删除表的惟一方法是事先做好数据库的 工作。 40. 可以将视图理解为存储在SQL Server2000数据库中的一条经过预编译的 语句。 41. 是一种常用的改善数据库性能的技术。 42. SQL Server2000中引入索引主要是为了加速________速度,也可保证数据的惟一性。 43. 索引可以加速selcet语句中Order By和____________选项的执行速度。 44. 索引一经创建就完全由SQL Server2000系统 选择和维护。 45. 索引会影响对基本表的________、________和________等操作的速度。 46. 从是否改变基本表记录的物理位置角度可将索引分为__________和__________索引两类。 47. 聚集索引与非聚集索引相比,查询速度更 。 48. 注释是一些说明性的文字,而不是 语句,不参与程序的编译。 49. SQL Server2000支持两种形式的变量,即 和 。 50. 一个局部变量的使用范围局限于一个 内,即两个GO语句之间的那一部分。 51. SQL Server2000中为局部变量赋值的语句是 和 。 52. 触发器是一种特殊的 ,基于表而创建,主要用来保证数据的完整性。 53. 使用create database命令定义一个数据库,包括定义__________文件和__________文件两个部分。 54. 使用create database命令定义一个数据库,定义其数据文件以关键字________开始,定义日志文件以关键字________开始。 55. 修改数据库定义的命令关键字为________________,删除整个数据库的命令关键字为________________。 56. 在SQL Server2000中,打开一个数据库使之成为当前库,有________种方法,其中之一使用的命令关键字为_______。 57. 索引可以由系统根据约束条件自动建立,也可以由用户通过命令或菜单方式建立,但它的________和_______将根据需要由系统自动实现,无须用户过问。 58. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它将降低数据的________、________、_________速度。 59. 基本表中的记录数越______,每条记录占用的字节数越______时,使用索引就越有利。 60. 创建索引的命令关键字为________________,删除索引的命令关键字为________________。 61. 在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是 18 / 36 ________或________索引。 62. 在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的________或________排列。 63. 当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个________、________和________的索引。 64. 当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动________一个唯一值________。 65. 若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的________码,若只规定为唯一值约束,则__________空值重复出现。 66. 在SQL Server2000中,通常不需要用户建立索引,而是通过使用________约束和________约束,由系统自动建立索引。 68. 单行或行尾注释的开始标记为________,多行注释的开始标记为________,结束标记为________。 68. 局部变量的开始标记为______,全局变量的开始标记为________。 69. 每条________语句能够同时为多个变量赋值,每条________语句只能为一个变量赋值。 70. 定义局部变量的语句关键字为__________,被定义的各变量之间必须用________字符分开。 71. 在SQL Server2000中,每个程序块的开始标记为关键字__________,结束标记为关键字________。 72. 在SQL Server2000中,前后相邻的语句之间可以使用________、________或________字符分开。 73. 在SQL Server2000中,CASE结构是一个________,只能作为一个________使用在另一个语句中。 74. 在SQL Server2000中,CASE函数具有______种格式,每种格式中可以带有________个WHEN选项,可以带有______个ELSE选项。 75. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用________语句,也可以使用具有____________格式的语句块。 76. 在循环结构的语句中,当执行到关键字__________后将终止整个语句的执行,当执行到关键字__________后将结束一次循环体的执行。 77. 声明游标语句的关键字为________________,该语句必须带有__________子句。 78. 打开和关闭游标的语句关键字分别为________和________。 79. 判断使用FETCH语句读取数据是否成功的全局变量为________________。 80. 使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“WHERE __________ OF ____________。 81. 每次执行使用游标的取数、修改或________操作的语句时,能够对表中的________个记录进行操作。 82. 在SQL Server2000中,一个事务是一个__________的单位,它把必须同时执行或不执行的一组操作________在一起。 83. 在SQL Server2000中,一个事务处理控制语句以关键字________________开始,以关键字________________或________________结束。 84. 每个存储过程可以包含________条Transact-SQL语句,可以在过程体中的任何地方使用__________语句结束过程的执行,返回到调用语句后的位置。 84. 建立一个存储过程的语句关键字为________________,执行一个存储过程的语句关键字为____________。 86. 在一个存储过程定义的AS关键字前可以定义该过程的________,AS关键字 19 / 36 之后为该过程的__________。 87. 触发器是一种特殊的存储过程,它可以在对一个表上进行________、________和________操作中的任一种或几种操作时被自动调用执行。 88. 创建和删除一个触发器的语句关键字为________________和________________。 89. 在一个表中最多只能有一个关键字为_____________的约束,关键字为FOREIGN KEY的约束可以出现________次。 90. CHECK约束被称为________约束,UNIQUE约束被称为__________约束。 91. 使用一种约束时,可以使用关键字_____________和标识符____________的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。 92. 当一个表带有约束后,执行对表的各种________操作时,将自动________相应的约束,只有符合约束条件的合法操作才能被真正执行。 93. 在SQL Server2000中,数据库的安全机制分为4个等级,分别为客户端____________的安全、数据库的________安全、数据库使用安全和数据库对象的使用安全。 94. 数据库的安全管理问题归结为对________和________的管理问题。 95. 要访问SQL Server2000数据库服务器,用户必须提供正确的__________和__________。 96. 对用户授予和收回数据库操作的语句关键字分别为__________和__________。 97. 在授予用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。 98. 在收回用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。 99. 使用游标取数和释放游标的语句关键字分别为____________和____________。 三、写出下列每条语句或程序段的功能 假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1. SELECT * FROM Students WHERE DATEPART(year,入学日期) =DATEPART(year,GETDATE()) 2. DECLARE @MyNO CHAR(8) SET @MyNO='20030001' IF (SELECT 专业 FROM Students WHERE 学号=@MyNO)='计算机软件' BEGIN SELECT AVG(成绩) AS 平均成绩 FROM Score WHERE 学号=@MyNO END ELSE PRINT '学号为' +@MyNO+'的学生不存在或不属于软件专业' GO 3. declare @a numeric(5,2) set @a=(select avg(成绩) from score) select * from score 20 / 36 where 成绩>=@a 4. declare @a numeric(5,2),@b numeric(5,2) set @a=(select max(成绩) from score) set @b=(select min(成绩) from score) print @a-@b 5. declare @a char(6) set @a='刘亮' if(exists(select * from students where 姓名=@a)) print '姓名为'+@a+'的同学存在!' else print '姓名为'+@a+'的同学不存在!' 6. declare @a char(8) set @a='计算机' select 计算机专业人数=count(*) from students where left(专业,3)=@a 7. select year(入学日期) as 入学年份,count(*) as 人数 from students group by year(入学日期) 8. select month(入学日期) as 入学月份,count(*) as 人数 from students group by month(入学日期) 9. select day(入学日期) as 入学日号,count(*) as 人数 from students group by day(入学日期) 10. create procedure xxk1 as begin select * from students x,score y where x.学号=y.学号 end 11.create procedure xxk2 as begin select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号 group by x.学号,x.姓名,x.专业 end 12.create procedure xxk3 as begin select 学号,avg(成绩) as 平均成绩 from score group by 学号 21 / 36 end 13.create procedure xxk4 ( @a char(8),@b varchar(10),@c numeric(5,2) ) as begin update score set 成绩=@c where 学号=@a and 课程名=@b end 14.create procedure xxk5 ( @a char(8),@b varchar(10),@c numeric(5,2) ) as begin insert into score values(@a,@b,@c) end 15.create procedure xxk6 ( @a char(8),@b varchar(10) ) as begin delete from score where 学号=@a and 课程名=@b end 16.eclare @a char(8),@b varchar(10),@c numeric(5,2) declare @d int set @d=0 declare xxx cursor for select 学号,课程名,成绩 from score open xxx fetch xxx into @a,@b,@c while @@fetch_status=0 begin set @d=@d+1 fetch from xxx into @a,@b,@c end close xxx deallocate xxx print @d 17.declare @a char(8),@b varchar(10),@c numeric(5,2) declare xxx cursor 22 / 36 for select 学号,课程名,成绩 from score open xxx fetch xxx into @a,@b,@c while @@fetch_status=0 begin print @a+replicate(' ',3) +@b+str(@c)+replicate(' ',3) +(case when @c>=90 then '优秀' when @c>=70 then '良好' when @c>=60 then '及格' else '不及格' end ) fetch from xxx into @a,@b,@c end close xxx deallocate xxx 18.declare @c numeric(5,2) declare @c1 int, @c2 int, @c3 int, @c4 int set @c1=0。 set @c2=0。 set @c3=0。 set @c4=0 declare xxx cursor for select 成绩 from score open xxx fetch xxx into @c while @@fetch_status=0 begin if(@c>=90) set @c1=@c1+1。 else if(@c>=70) set @c2=@c2+1。 else if(@c>=60) set @c3=@c3+1。 else set @c4=@c4+1 fetch from xxx into @c end close xxx deallocate xxx print '优秀生人数:'+str(@c1,5)。 print '良好生人数:'+str(@c2,5)。 print '及格生人数:'+str(@c3,5)。 print '及格生人数:'+str(@c4,5) 19.declare @a char(8),@b varchar(10) declare @c numeric(5,2) declare @d int set @d=80 declare xxx cursor for select 学号,课程名,成绩 from score 23 / 36 open xxx fetch xxx into @a,@b,@c while @@fetch_status=0 begin if(@c>=@d) print @a+replicate(' ',3)+@b+str(@c,5) fetch from xxx into @a,@b,@c end close xxx deallocate xxx 20.declare @a char(8),@b varchar(10),@c numeric(5,2) declare @s char(8),@r varchar(10) set @s='20030001' set @r='数学' set @c=84 declare xxx cursor for select 学号,课程名 from score open xxx fetch xxx into @a,@b while @@fetch_status=0 begin if(@a=@s and @b=@r) update score set 成绩=@c where current of xxx fetch from xxx into @a,@b end close xxx deallocate xxx 21.declare @a char(8),@b varchar(10) declare @s char(8),@r varchar(10) set @s='20030001' set @r='数学' declare xxx cursor for select 学号,课程名 from score open xxx fetch xxx into @a,@b while @@fetch_status=0 begin if(@a=@s and @b=@r) begin delete from score where current of xxx break end fetch from xxx into @a,@b end close xxx 24 / 36 deallocate xxx 四、根据下面所给的AAA数据库,按照下列每种功能写出相应的Transact-SQL语句或程序段 假设使用名称为AAA的数据库,它包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1. 以“xxxx年xx月xx日”的格式显示某日期时间型数据,假设字段名为Mydate,存于Mytable表中。 2. 将字符串’I am a student’以大写字母显示。 3. 从名字为“My Table”的表中查询出所有记录。 4. 将字符串’SOFTWARE’中的’SOFT’提取出来,并以小写形式显示出来。 5. 显示出该Score表中的全部数据,并要求当成绩为空时显示数值-1。 6. 显示出当前日期中的年份和月份数据。 7. 显示出Students表中所有学生记录的学号列的前四个字符。 8. 显示出一个整数25和当前日期getdate()的值分别占用的字节数。 五、按照下列每种功能写出相应的Transact-SQL语句或程序段。 假设使用名称为AAA的数据库,它包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1. 创建AAA数据库,所有参数取默认值。 2. 创建Students表。 3. 将AAA数据库的初始大小更改为5MB,最大空间限定为10MB。 4. 假设Students表中已存在大量学生记录,求所有“计算机软件”专业学生的平均年龄,如果平均年龄大于19则显示“平均年龄超过19”,否则显示“平均年龄没有超过19”。 第十章综合练习题 一、单选题 1. 以下软件产品中,是数据库管理系统的是( )。 A. PowerBuilder B. DB2 C. Delphi D. Visual Basic 2. 生产出DB2数据库产品的公司是( )。 A. IBM B. ORACLE C. Borland D. Microsoft 3. Delphi是( )。 A. 数据库软件 B. 图形处理软件 C. 系统软件 D. 应用开发软件 4. PowerBuilder是( )。 A. IBM公司的产品 B. ORACLE公司的产品 C. SYBASE公司的产品 D. Microsoft公司的产品 5. 面向对象数据库用面向对象数据模型去映射客观世界,不仅存储数据,而且存储定义在数据上的( )。 A. 操作 B. 属性 C. 主键 D. 非主键 6. 面向对象技术中,封装性是一种( )。 A. 封装技术 B. 信息隐藏技术 C. 组合技术 D. 传递技术 25 / 36 7. 面向对象数据库中,“类”是( )。 A. 实体的集合 B. 数据类型的集合 C. 表的集合 D. 对象的集合 8. 在面向对象的数据模型中,下列叙述不正确的是( )。 A. 类相当于实体关系模型中的实体类型 B. 类本身也是一个对象 C. 类相当于实体关系模型中的实体集 D. 类的每个对象也称为类的实例 9. “类对象”是指( )。 A. 类中的一个实例 B. 类本身也当作一个对象 C. 类中的一个对象 D. 类中的一个变量 10. 在面向对象的数据库中,对象标识( )。 A. 与数据的描述方式有关 B. 与对象的物理存储位置有关 C. 与数据的值有关 D. 是指针一级的概念 二、填空题 1. Visual FoxPro的发展过程所经历的三个发展阶段(除本身之外)依次为__________、__________和__________阶段。 2. 从Visual FoxPro 6.0发布后,Microsoft公司就把它同____________、____________和______________等软件产品一起捆绑销售。 3. Visual FoxPro具有易于使用、______________、______________和______________等优点。 4. Visual FoxPro 6.0是运行与____________和____________平台的32位的关系数据库开发系统。 5. Visual FoxPro 6.0是运行于Windows 95和Windows NT平台的__________位的__________型数据库开发系统。 6. DB2是IBM公司的________型数据库管理系统,用户通过________语言能够创建、更新以及控制数据库。 7. DB2 UDB提供了一套具有统一的图形用户界面的管理工具,用于与任何服务器平台的数据库进行交互。这些管理工具最主要的二个是_________和_________。 8. 在DB2中创建数据库有两种方式,一种是通过_____________,根据向导提示的步骤一步一步创建,另一种是执行创建数据库的_________。 9. Oracle 8i是一个面向_________计算环境的数据库,它改变了信息管理和访问的方式。 10.Oracle 9i共有三种版本,分别为:个人版(Personal Edition)、标准版(Standard Edition)、以及__________________。 11. 在Oracle 9i内提供了一套具有图形用户界面的数据库管理工具__________________。 12. 在传统数据库系统中,结构与行为_____________。面向对象数据库技术是数据库技术与__________________技术的结合。 13. 与传统的关系数据库相比,面向对象数据库用面向对象数据模型去映射客观世界,不仅存储了数据,而且存储了定义在数据之上的操作,以及对象之间复杂的_________和_________关系。 14. 面向对象数据模型是由类构成的一个_________,类是对一类_________的抽象,类与类之间的_________关系构成类层次结构。 15. 类中每个对象称为_________。同一类的对象具有共同的_________和________,它们可以在类中统一说明,而不必在类的每个实例中重复。 16. 在第四代编程语言(4GL)中,RAD表示_________。 26 / 36 17. 在PB中有一个智能型、功能强大的对象被称为_________。利用它,软件人员无需编写专门的SQL语句,就可以完成对________数据库进行查询、修改、更新、插入、删除和打印等操作。 18. Delphi是国际著名的软件工具开发厂商_________公司的产品,Delphi实际上是_________语言的一种版本。 19. Visual Basic是_________公司推出的几乎是最早的可视化_________,从VB首次推出至今已经经历了多个版本,目前广泛使用的是VB 6.0。 第一章参考解答 1. 人工管理、文件管理、数据库管理 2. 分开 3. 依赖于 4. 数据结构化、数据共享、数据独立性 5. 独立、联系 6. 文件系统、数据库系统 7. 做什么、怎么做 8. 记录、数据项(属性、字段等) 9. 文件、数据库 10. 程序、视屏交互 11. 安全性、一致性、并发性、数据库恢复 12. 局部、全局 13. 兼容性强、可靠性高、地域范围广、数据量大、客户数多 14. 二元、一元 15. 主属性、非主属性 16. 取值范围、2 17. 1对1、1对多、多对多 18. 多、多 19. 1、多 20. 多、多 21. 1、多 22. 层次、网状、关系、对象 23. 记录型、1对多 24. 型、值 25. 过程、集合 26. 树、二维表格(表) 27. 元组、属性 28. 元组、属性 29. 1、n 30. 关系定义、DBMS 31. 数据结构、集合运算、独立、数学 32. 状态、行为 33. 封装、继承、多态 34. 对象、对象 35. 操作系统、开发工具 36. 数据库管理员、数据库设计员、应用程序员、终端用户 37. 全局模式、外模式、内模式 38. 中间、最上、最下 39. 外模式和模式、模式和内模式 40. 逻辑、物理 41. 定义(描述) 操纵 42. 建立、维护 43. 系统、用户 44. 定义、查询、更新、控制 第二章参考解答 1. 关系数据结构、关系完整性规则、关系运算 2. 24、3 3. 域 、列名(属性名) 4. 单值、嵌套 5. 1、多 6. 超码、候选码、主码、备用码 7. 候选、属性 8. 班级号、外码 9. 学生号、非主 10. 主、非主 11. 实体、参照、用户定义 12. R1、R2 13. 空值、主码 14. 完整性、数据库 27 / 36 15. 并、交、差、笛卡尔积 16. 7、3、2 17. a1+b1、a2´b2 18. 选择、投影、连接、除 19. 选择、2 20. 2、1 21. 4、3 22. 2、4 23. 4、5 24. S、Π学生号、X 25. Õ学生号 、X、δ课程名=’程序设计’ 26. C、X、S 27. Õ课程号(X)、C 28. Õ学生号(X)、S 第三章参考解答 1. X→Y、决定因素 2. X←→Y、决定因素 3. 非平凡、平凡 4. 完全、部分 5. 非平凡、完全 6. 平凡、部分 7. X、Z 8. 学号、系主任 9. X→(Y,Z)、合并性 10. X→Y、X→Z、分解性 11. X、候选码 12. 部分、传递 13. (A,C)、2 14. (A,D)、2 15. A、1 16. (A,D)、2 17. (A,C,G)、3 18. (A,D)、伪传递 19. 无损连接、函数依赖 20. 第一、不可再分 21. 属性、元组、关系 22. 冗余、插入、删除、修改 23. 数据冗余、操作异常(更新异常) 24. (A,D)、部分 25. 第一、3 26. 第一、3 27. 第一、2 28. (A,B,C)、(A,D,E) 29. 第二、2 30. 第二、2 31. 第二、3 32. 4、3、2 33. 第二 34. 第三 35. BC 36. BC、决定因素 第四章参考解答 一、填空题 1. 视图、基本表 2. 命令交互、程序执行、窗口界面 3. 非过程化、集合 4. create schema、drop schema 5. KUCUN、LIU 6. 列级、表级 7. 列级、表级 8. 6、4 9. 主码、单值、外码、检查 10. 列级、表级 11. primary key、foreign key 12. unique、check 13. 建立、修改、删除 14. create table、alter table、drop table 15. 单行(单值)、多行(多值) 16. values、select 17. 插入、修改、删除 18. insert、update、delete 19. 表、建立 20. 实表、虚表 21. 修改、查找 22. 连接、安全 23. 基本表、视图 24. 结构、内容 25. 没有影响、有影响 26. 建立、修改、(更新)、删除 27. create view、update、drop view 28. select、from、where 29.投影、连接、选择 30. 分组统计、排序 31. group by、order by 32. 中间连接、左连接、右连接 28 / 36 33. inner join、left join、right join 二、根据主教材第四章所给的商品库和教案库,按照下列所给的每条SQL查询语句写出相应的功能。 1. 从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。 2. 从商品库中查询出所有商品的不同产地。 3. 从商品库中查询出所有商品的不同品牌。 4. 从商品库中查询出所有商品的不同产地的总数。 5. 从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。 6. 从教案库中查询出每个学生选课的门数。 7. 从教案库中查询出每门课程被选修的学生数。 8. 从教案库中查询出至少选修了两门课程的全部学生。 9. 从教案库中查询出只选修了一门课程的全部学生。 10. 从教案库中查询出学生号为@s1的学生和学生号为@s2的学生所选修的共同课程的课程号。 11. 从教案库中查询出学生号为@s1的学生所选修、而学生号为@s2的学生没有选修的全部课程。 12. 从教案库中查询出所有未被学生选修的课程。 13. 从教案库中查询出所有已被学生选修的课程。 14. 从教案库中查询出被2至4名学生选修的所有课程。 15. 从教案库中查询出同时选修了3门课程的全部学生。 16. 从教案库中查询出最多选修了2门课程(含未选任何课程)的全部学生。 17. 从教案库中查询出每个专业的学生人数,并按人数多少降序排列。 18. 从教案库中查询出每个专业每种性别的学生人数,并按专业升序排列。 19. 从教案库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。 20. 从教案库中查询出选修了姓名为@a的学生的全部选课的所有学生。 三、根据教材第四章所给的商品库和教案库,按照下列所给的每种功能写出相应的查询语句。 1. select 商品表1.商品代号,单价,数量,产地 from 商品表1,商品表2 where 商品表1.商品代号=商品表2.商品代号 2. select count(*) from 商品表1 where 数量>10 3. select * from 商品表1 where 数量 between 10 and 20 (或where 数量>=10 and 数量<=20) 4. select 分类名,max(单价) as 最高单价 from 商品表1 group by 分类名 5. select 分类名,avg(数量) as 平均数量 from 商品表1 group by 分类名 6. select 分类名,sum(数量) as 总数量 from 商品表1 group by 分类名 7. select * from 商品表1 where 单价>=2000 or 数量>=15 8. select * from 商品表1 29 / 36 where 单价>all(select 单价 from 商品表1 where 分类名='电视机' ) 或: select * from 商品表1 where 单价>all(select max(单价) from 商品表1 where 分类名='电视机' ) 9. select * from 商品表1 where 单价>all(select avg(单价) from 商品表1 ) 10. select * from 商品表1 where 数量=some(select max(数量) from 商品表1 ) 11. select distinct 分类名 from 商品表1 group by 分类名 having count(*)>1 12. select 商品表1.*,产地 from 商品表1,商品表2 where 商品表1.商品代号=商品表2.商品代号 and 产地 in (select 产地 from 商品表1 x,商品表2 y where x.商品代号=y.商品代号 group by 产地 having count(*)=1 ) 13. select *,单价*数量 as 总价值 from 商品表1 order by 总价值 desc 14. select distinct x.* from 课程 x,选课 y,选课 z where y.课程号=z.课程号 and y.学生号<>z.学生号 and x.课程号=y.课程号 或: select * from 课程 where 课程号 in (select 课程号 from 选课 group by 课程号 having count(*)>=2 ) 15. select distinct 学生.* from 学生,选课 30 / 36 where 学生.学生号=选课.学生号 and 课程号=any(select 课程号 from 学生,选课 where 学生.学生号=选课.学生号 and 姓名=@m1 ) 16. select 课程.课程号,课程名,count(课程.课程号) as 人数 from 课程,选课 where 课程.课程号=选课.课程号 group by 课程.课程号,课程名 order by 人数 第五章参考解答 1. 需求分析、概念设计 2. 逻辑设计、物理设计 3. 机器实现、运行维护 4. 数据流图、数据字典、需求说明书 5. 数据、处理 6. 开发、用户 7. 需求分析、ER图 8. ER图、整体ER图 9. 概念单一化、描述码 10. 商品实体、销售实体、收款实体 11. 1、多 12. 1、多 13. 全局模式、外模式 14. 基本表、主码、外码 15. 基本表、视图 16. 1对1、1对多 17. 多对多、基本表 18. 1、1 19. 1、多 20. 应 21. 类型、名 22. 数据库模式、数据、应用程序 23. 设计要求、功能完善、操作方便 24. 数据、操作 25. 4、5 26. 客房表、住宿表 27. 旅客登记表、消费卡表 28. 住宿费表、伙食费表 29. 娱乐费表、催补款表 30. 客房表、 客房空闲表 第六章参考解答 一、单选题 1. C 2. D 3. D 4. B 5. A 6. B 7. B 8. B 9. C 10. A 11. D 12. D 13. B 14. C 15. B 16. C 17. B 18. A 19. C 20. D 21. B 22. C 23. B 24. B 25. D 26. D 27. C 28. A 29. A 30. B 二、填空题 1. 表、查询、窗体 2. 数据库窗口 3. 工作状态 4. 标题栏、菜单栏、工作区 5. Office 6. 下拉菜单 7. 8、4 9. 1对1、1对多、多对多 10. 1、mdb 11. 名称、类型 12. 表设计器、字段属性 13. 字段名称、数据类型、说明 31 / 36 14. 数据、数据库对象 15. 打印方式、显示方式 16. 取值范围 17. 数据源 18. 窗体、报表、数据访问页 19. 更新 20. 文本或数字、数字 21. 货币 22. 页眉、主体、页脚 23. 1对多 24. 多个 25. 五、节 26. 设计、预览、数据表 27. 报表页眉、页面页眉、主体 28. 纵栏式、表格式 第七章参考解答 一、单选题 1. B 2. C 3. D 4. A 5. D 6. B 7. A 8. D 9. B 10. B 11. D 二、填空题 1. Web、Access数据库 2. Access数据库、更高版本 3. HTML 4. 条件表达式 5. 时间、条件 6. 类模块、标准模块(次序无先后) 7. 工程资源管理器、模块属性窗口、代码编辑窗口 8. 对象列表框,代码编辑区域,过程事件列表框 9. 通用过程、常用过程 10. VBA 11. 模块 12. 密码、权限 13. 独占 14. 大小写 15. 当前数据库、数据库对象 第八、九章参考解答 一、单选题 1. A 2. B 3. A 4. D C 8. C 9. A 10. B 11. A 12. A A 16. B 17. B 18. D 19. C 20. A B 24. A 25. B 26. C 27. A 28. D 32 / 36 5. A 13. A 21. B 29. A 7. 14. D 15. 22. A 23. 30. B 31. 6. B D 32. D 二、填空题 1. 客户机/服务器(或C/S) 2. 客户机(或客户端) 3. 网络流量 4. 硬盘空间 5. 数据封锁机制 6. 注册账号(或登录账号) 7. Transact-SQL 8. 企业版、标准版、个人版 9. 系统管理员 10. 域用户账号 11. 本地计算机名 12. 暂停、停止 13. 暂停 14. 操作系统文件 15. 表、索引、视图、触发器、存储过程 16. mdf、ndf、ldf 17. 系统数据库、用户数据库 18. master、model、tempdb、msdb 19. msdb 20. 批处理 21. GO 22. 局部变量 23. 空格 24. 日期、时间 25. bit 26. ’ab’ 27. 常规标识符、分隔标识符 28. bigint int smallint tinyint 29. 8、4、2、1 30. 数值、字符、日期时间 31. 企业管理器 查询分析器 32. 查询分析器 33. sp_renamedb 34. 企业管理器 35. Backup Database、Restore Database 36. Null(空) 37. 删除、修改 38. 单引号 39. 备份 40. SELECT 41. 索引 42. 查询 43. Group By 44. 自动 45. 插入、删除、修改 46. 聚集、非聚集 47. 快 48. 可执行 49. 局部变量、全局(系统)变量 50. 批处理 51. SELECT、SET 52. 存储过程 53. 数据、日志 54. ON、LOG ON 55. ALTER DATABASE、 DROP DATABASE 56. 2、USE 57. 打开、重建 58. 插入、修改、删除 59. 多、多 60. CREATE INDEX、DROP INDEX 61. 聚集、非聚集 62. 升序、降序 63. 非空、唯一、聚集 64. 建立(创建)、 索引 65. 备用(侯选码)、不允许 66. 主码、唯一值 67. --、/*、*/ 68. @、@@ 69. SELECT、SET SELECT、SET 70. DECLARE、逗号 33 / 36 71. BEGIN、END 72. 空格、分号、换行 73. 函数、表达式 74. 2、多、一 75. 单条、BEGIN...END 76. BREAK、CONTINUE 77. DECLARE CURSOR、查询(或SELECT) 78. OPEN、CLOSE 79. @@FETCH_STATUS 80. CURRENT、<游标名> 81. 删除、单(一) 82. 并发控制、捆绑 83. BEGIN TRAN、COMMIT [TRAN]、ROLLBACK [TRAN] 84. 多、RETURN(返回) 85. CREATE PROC、EXEC 86. 参数、过程体 87. 插入(insert)、删除(delete)、更新(update,或修改) 88. CREATE TRIGGER、DROP TIRGGER 89. PRIMARY KEY、多 90. 检查、唯一值 91. CONSTRAINT、<约束名> 92. 更新、检查 93. 操作系统、登录 94. 琐、钥匙 95. 登录帐号、口令(密码) 96. GRANT、REVOKE 97. ON、TO 98. ON、FROM 99. FETCH、DEALLOCATE 三、写出下列每条语句或程序段的功能 1. 从Students表中查询出所有当年(系统时间)入学的学生记录。 2. 首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”。 3. 从score表中查询出大于等于平均成绩的所有记录。 4. 求出score表中最高成绩与最低成绩的分数之差。 5. 从students表中查询姓名为@a的值的同学是否存在,根据不同情况显示出相应信息。 6. 从students表中统计出专业名开头为@a的值(即“计算机”)的所有学生人数。 7. 从students表中分组统计出每个年份入学的学生人数。 8. 从students表中分组统计出每个月份入学的学生人数。 9. 从students表中分组统计出每个日号入学的学生人数。 10. 显示出AAA库中所有学生的记录信息及选课成绩 11. 显示出AAA库中每个学生的学号、姓名、专业等信息及选课门数 12. 显示出AAA库中每个学生的平均成绩 13. 修改score表中学号为@a的值、课程名为@b的值的学生的成绩为@c的值。 14. 向score表中插入学号为@a的值、课程名为@b的值、成绩为@c的值的学生成绩记录。 15. 从score表中删除学号为@a的值、课程名为@b的值的学生成绩记录。 16. 从score表中统计并显示出记录总数 17. 显示出score表中每个成绩记录,并在每条记录最后给出优秀、良好、及格、不及格等相应等级。 18. 从score表中按成绩统计并显示出优秀、良好、及格、不及格各多少人。 19. 显示出score表中成绩大于等于@d值的所有记录。 20. 修改score表中学号为@a的值、课程名为@b的值的学生的成绩为@c的值。 21. 从score表中删除学号为@a的值、课程名为@b的值的学生记录。 34 / 36 四、根据下面所给的AAA数据库,按照下列每种功能写出相应的Transact-SQL语句或程序段 1. SELECT DATEPART(year,Mydate) + ’年’ + DATEPART(month,Mydate) + ’月’ + DATEPART(day,MyDate) + ’日’ FROM Mytable 2. SELECT UPPER(‘I am a student’) 3. SELECT * FROM [My Table] 4. SELECT LOWER(LEFT(’SOFTWARE’,4)) 5. select 学号,课程名,isnull(成绩,-1) from Score 6. select year(getdate()),month(getdate()) 7. select left(学号,4) fron Students 8. select datalength(25),datalength(getdate()) 五、按照下列每种功能写出相应的Transact-SQL语句或程序段。 1. Create DataBase AAA 2. create table students ( 学号 char(8) primay key, 姓名 varchar(8), 年龄 int, 专业 varchar(20), 入学日期 datetime ) 3. ALTER DATABASE AAA MODIFY FILE ( NAME = AAA_data, SIZE = 5, MAXSIZE=10 ) 4. IF (Select Avg(年龄) From Students Where 专业=’计算机软件’)>19 SELECT ‘平均年龄超过19’ ELSE SELECT ‘平均年龄没有超过19’ 第十章参考解答 一、单选题 1. B 2. A 3. D 4. C 5. A 7. D 8. A 9. B 10. D 二、填空题 1. dBASE、FoxBASE、FoxPro 2. Visual C++、Visual J++、Visual Basic 3. 可视化开发、事件驱动、面向对象编程 4. Windows 95、Windows NT 5. 32、关系 6. 关系、SQL 35 / 36 6. B 7. 控制中心、命令中心 8. 图形用户界面、SQL语句(命令) 9. Internet 10. 企业版(Enterprise Edition) 11. Oracle Enterprise Manager(OEM) 12. 完全分离面向对象程序设计 13. 引用、约束 14. 层次结构、对象(Object)、继承(Inherientance) 15. 实例、属性、方法 16. 快速应用开发工具 17. 数据窗口(DataWindow) 、后台 18. Borland、Pascal 19. Microsoft、编程工具 36 / 36 因篇幅问题不能全部显示,请点此查看更多更全内容