SQL Server数据库应用辅导八综合复习题.docx
《SQL Server数据库应用辅导八综合复习题.docx》由会员分享,可在线阅读,更多相关《SQL Server数据库应用辅导八综合复习题.docx(15页珍藏版)》请在冰豆网上搜索。
SQLServer数据库应用辅导八综合复习题
SQLServer数据库应用辅导八---综合复习题
一、单选题
1.以下对SQLServer描述不正确的是()。
A.支持XMLB.支持用户自定义函数
C.支持邮件集成D.支持网状数据模型
2.如果在SQLServer上运行一个非常大的数据库,为取得较好效果应选用安装()。
A.企业版 B.标准版 C.个人版 D.开发版
3.Transact-SQL对标准SQL的扩展主要表现为()。
A.加入了程序控制结构和变量
B.加入了建库和建表语句
C.提供了分组(GroupBy)查询功能
D.提供了Min、Max等统计函数
4.语句“USEmasterGOSELECT*FROMsysfilesGO”包括()个批处理。
A.1 B.2 C.3 D.4
5.SQLServer的字符型系统数据类型主要包括()。
A.Int、money、charB.char、varchar、text
C.datetime、binary、intD.char、varchar、int
6.如果要在SQLServer中存储图形图像、Word文档文件,不可采用的数据类型是()。
A.binaryB.varbinaryC.imageD.text
7.下面关于Timestamp数据类型描述正确的是:
()。
A.是一种日期型数据类型
B.是一种日期和时间组合型数据类型
C.可以用来替代传统的数据库加锁技术
D.是一种双字节数据类型
8.下列命令不能执行的是()。
A.SELECT*FROM[select]B.SELECT*FROM@MyTable
C.SELECT*FROM[MyTable]D.SELECT*FROMMyTable
9.下面关于索引的描述不正确的是()。
A.索引是一个指向表中数据的指针
B.索引是在列上建立的一种数据库对象
C.索引的建立和撤消对表中的数据毫无影响
D.表被撤消时将同时撤消在其上建立的索引
10.以下哪种情况应尽量创建索引()。
A.在Where子句中出现频率较高的列
B.具有很多NULL值的列
C.记录较少的基本表
D.需要更新频繁的基本表
11.下面关于聚集索引和非聚集索引说法正确的是()。
A.每个表只能建立一个非聚集索引
B.非聚集索引需要较多的硬盘空间和内存
C.一张表上不能同时建立聚集和非聚集索引
D.一个复合索引只能是聚集索引
12.“CreateUniqueIndexAAAOn学生表(学号)”将在学生表上创建名为AAA的()。
A.惟一索引B.聚集索引C.复合索引D.唯一聚集索引
13.SQLServer提供的单行注释语句是使用()开始的一行内容。
A.“/*”B.“--”C.“{”D.“/”
14.以下软件产品中,是数据库管理系统的是()。
A.PowerBuilderB.DB2
C.DelphiD.VisualBasic
15.生产出DB2数据库产品的公司是()。
A.IBMB.ORACLEC.BorlandD.Microsoft
16.Delphi是()。
A.数据库软件B.图形处理软件
C.系统软件D.应用开发软件
17.PowerBuilder是()。
A.IBM公司的产品B.ORACLE公司的产品
C.SYBASE公司的产品D.Microsoft公司的产品
18.面向对象数据库用面向对象数据模型去映射客观世界,不仅存储数据,而且存储定义在数据上的()。
二、填空题
1.SQLServer与Windows2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的____。
2.SQLServer采用的结构化查询语言称为______。
3.常见的SQLServer2000的版本一般包括、、、开发版和评估版等。
4.安装SQLServer时需要以本地_______身份登录操作系统。
5.如果在WindowsNT/2000上安装,需要事先设置至少一个______。
6.SQLServer主数据文件、次数据文件和事务日志文件默认的扩展名分别为、和。
7.SQLServer的数据库分为____________和____两种类型。
8.每个SQLServer数据库下都包括、、和四个系统数据库。
9.系统数据库主要用来进行复制、作业调度和管理报警等活动。
10.SQLServer客户机传递到服务器上的一组完整的数据和SQL语句称为__。
11.SQLServer中的数据类型主要包括________、________、________、二进制、位和双字节等类型。
12.SQLServer提供的最常用的管理工具是______________和______________。
13.MicrosoftSQLServer2000是运行在__________操作系统平台上的、逻辑模型为________型数据库管理系统。
14.在一个已存在数据的表中增加一列,一定要保证所增加的列允许________值。
15.对表中记录的维护工作主要有增加、________和________操作,均可通过企业管理器或Transact-SQL语句完成。
16.在Transact-SQL语句中需要把日期时间型数据常量用__________括起来。
17.找回被删除表的惟一方法是事先做好数据库的工作。
18.可以将视图理解为存储在SQLServer数据库中的一条经过预编译的语句。
19.是一种常用的改善数据库性能的技术。
20.SQLServer中为局部变量赋值的语句是和。
21.触发器是一种特殊的,基于表而创建,主要用来保证数据的完整性。
22.使用createdatabase命令定义一个数据库,包括定义__________文件和__________文件两个部分。
23.使用createdatabase命令定义一个数据库,定义其数据文件以关键字________开始,定义日志文件以关键字________开始。
24.修改数据库定义的命令关键字为________________,删除整个数据库的命令关键字为________________。
25.在SQLServer中,打开一个数据库使之成为当前库,有________种方法,其中之一使用的命令关键字为_______。
26.在SQLServer中,通常不需要用户建立索引,而是通过使用________约束和________约束,由系统自动建立索引。
27.单行或行尾注释的开始标记为________,多行注释的开始标记为________,结束标记为________。
28.局部变量的开始标记为______,全局变量的开始标记为________。
29.每条________语句能够同时为多个变量赋值,每条________语句只能为一个变量赋值。
30.定义局部变量的语句关键字为__________,被定义的各变量之间必须用________字符分开。
31.在SQLServer中,每个程序块的开始标记为关键字__________,结束标记为关键字________。
32.每次执行使用游标的取数、修改或________操作的语句时,能够对表中的________个记录进行操作。
33.在SQLServer中,一个事务是一个__________的单位,它把必须同时执行或不执行的一组操作________在一起。
34.在SQLServer中,一个事务处理控制语句以关键字________________开始,以关键字________________或________________结束。
35.每个存储过程可以包含________条Transact-SQL语句,可以在过程体中的任何地方使用__________语句结束过程的执行,返回到调用语句后的位置。
36.建立一个存储过程的语句关键字为________________,执行一个存储过程的语句关键字为____________。
37.要访问SQLServer数据库服务器,用户必须提供正确的__________和__________。
38.对用户授予和收回数据库操作的语句关键字分别为__________和__________。
39.在授予用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
40.在收回用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
41.VisualFoxPro的发展过程所经历的三个发展阶段(除本身之外)依次为__________、__________和__________阶段。
42.从VisualFoxPro6.0发布后,Microsoft公司就把它同____________、____________和______________等软件产品一起捆绑销售。
43.VisualFoxPro具有易于使用、______________、______________和______________等优点。
44.VisualFoxPro6.0是运行与____________和____________平台的32位的关系数据库开发系统。
45.VisualFoxPro6.0是运行于Windows95和WindowsNT平台的__________位的__________型数据库开发系统。
46.类中每个对象称为_________。
同一类的对象具有共同的_________和________,它们可以在类中统一说明,而不必在类的每个实例中重复。
47.在第四代编程语言(4GL)中,RAD表示_________。
48.在PB中有一个智能型、功能强大的对象被称为_________。
利用它,软件人员无需编写专门的SQL语句,就可以完成对________数据库进行查询、修改、更新、插入、删除和打印等操作。
49.Delphi是国际著名的软件工具开发厂商_________公司的产品,Delphi实际上是_________语言的一种版本。
50.VisualBasic是_________公司推出的几乎是最早的可视化_________,从VB首次推出至今已经经历了多个版本,目前广泛使用的是VB6.0。
三、根据主教材第四章所给的商品库和教学库,按照下列所给的每条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*
from学生
whereexists(select*
from选课
where学生.学生号=选课.学生号
groupby选课.学生号havingcount(*)=3
)
2.select*
from学生
where学生号in(select学生号
from选课
groupby学生号havingcount(*)<=2
)ornotexists(select*
from选课
where学生.学生号=选课.学生号
)
3.select专业,count(*)as专业人数
from学生
groupby专业
orderby专业人数desc
4.select专业,性别,count(*)as人数
from学生
groupby专业,性别
orderby专业
5.selectx.*,课程名,课程学分,成绩
from学生x,课程y,选课z
wherex.学生号=z.学生号andy.课程号=z.课程号
orderbyx.学生号,z.成绩
6.select*
from学生
wherenotexists(selecty.课程号
from学生xinnerjoin选课yonx.学生号=y.学生号
wherex.姓名=@aandnotexists(select*
from选课
where学生.学生号=选课.学生号andy.课程号=选课.课程号
)
)
四、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。
在名称为商品库的数据库中包含有商品表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.从商品库中查询出同一类商品多于一种的所有分类名。
3.从商品库中查询出同一产地的商品只有一种的所有商品。
4.从商品库中查询出每种商品的总价值,并按降序排列出来。
5.从教学库中查询出至少有两名学生所选修的全部课程。
五、根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能
假设存在名为AAA的数据库,包括Students(学号char(8),姓名varchar(8),年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程名varchar(10),成绩numeric(5,2))两张表。
1.createprocedurexxk3
as
begin
select学号,avg(成绩)as平均成绩
fromscore
groupby学号
end
2.createprocedurexxk4
(
@achar(8),@bvarchar(10),@cnumeric(5,2)
)
as
begin
updatescore
set成绩=@c
where学号=@aand课程名=@b
end
3.createprocedurexxk5
(
@achar(8),@bvarchar(10),@cnumeric(5,2)
)
as
begin
insertintoscore
values(@a,@b,@c)
end
4.createprocedurexxk6
(
@achar(8),@bvarchar(10)
)
as
begin
deletefromscore
where学号=@aand课程名=@b
end
六、根据下面所给的AAA数据库,按照下列每种功能写出相应的Transact-SQL语句或程序段
假设使用名称为AAA的数据库,它包括Students(学号char(8),姓名varchar(8),年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程名varchar(10),成绩numeric(5,2))两张表。
1.创建Students表。
2.将AAA数据库的初始大小更改为5MB,最大空间限定为10MB。
3.假设Students表中已存在大量学生记录,求所有“计算机软件”专业学生的平均年龄,如果平均年龄大于19则显示“平均年龄超过19”,否则显示“平均年龄没有超过19”。
参考答案
一、单选题
1.D2.A3.A4.B5.B6.D
7.C8.B9.B10.A11.B12.A
13.B14.B15.A16.D17.C18.A
二、填空题
1.注册账号(或登录账号)2.Transact-SQL
3.企业版、标准版、个人版(次序无先后)4.系统管理员
5.域用户账号6.mdf、ndf、ldf(次序无先后)
7系统数据库、用户数据库8.master、model、tempdb、msdb(次序无先后)
9.msdb10.批处理
11.数值、字符、日期时间(次序无先后)12.企业管理器、查询分析器
13windows、关系14.Null(空)
15.删除、修改(次序无先后)16.单引号
17.份18.SELECT
19.索引20.SELECT、SET
21.存储过程22.数据、日志
23.ON、LOGON24.ALTERDATABASE、DROPDATABASE
25.2、USE26.主码、唯一值
27.--、/*、*/28.@、@@
29.SELECT、SET30.DECLARE、逗号
31.BEGIN、END32.删除、单
(一)
33.并发控制、捆绑34.BEGINTRAN、COMMIT[TRAN]、ROLLBACK[TRAN]
35.多、RETURN(返回)36.CREATEPROC、EXEC
37.登录帐号、口令(密码)38.GRANT、REVOKE
39.ON、TO40.ON、FROM
41.dBASE、FoxBASE、FoxPro42.VisualC++、VisualJ++、VisualBasic
43.可视化开发、事件驱动、面向对象编程44.Windows95、WindowsNT
45.32、关系46.实例、属性、方法
47.快速应用开发工具48.数据窗口(DataWindow)、后台
49.Borland、Pascal50.Microsoft、编程工具
三、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。
1.从教学库中查询出同时选修了3门课程的全部学生。
2.从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生。
3.从教学库中查询出每个专业的学生人数,并按人数多少降序排列。
4.从教学库中查询出每个专业每种性别的学生人数,并按专业排列。
5.从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。
6.从教学库中查询出选修了姓名为@a的学生的全部选课的所有学生。
四、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。
1.select*
from商品表1
where数量=some(selectmax(数量)
from商品表1
)
2.selectdistinct分类名
from商品表1
groupby分类名havingcount(*)>1
3.select商品表1.*,产地
from商品表1,商品表2
where商品表1.商品代号=商品表2.商品代号and产地in(select产地
from商品表1x,商品表2y
wherex.商品代号=y.商品代号
groupby产地havingcount(*)=1
)
4.select*,单价*数量as总价值
from商品表1
orderby总价值desc
5.selectdistinctx.*
from课程x,选课y,选课z
wherey.课程号=z.课程号andy.学生号<>z.学生号
andx.课程号=y.课程号
五、根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能
1.显示出AAA库中每个学生的平均成绩。
2.修改score表中学号为@a的值、课程名为@b的值的学生的成绩为@c的值。
3.向score表中插入学号为@a的值、课程名为@b的值、成绩为@c的值的学生成绩记录。
4.从score表中删除学号为@a的值、课程名为@b的值的学生成绩记录。
六、根据下面所给的AAA数据库,按照下列每种功能写出相应的Transact-SQL语句或程序段
1.createtablestudents(
学号char(8)primaykey,
姓名varchar(8),
年龄int,
专业varchar(20),
入学日期datetime
)
2.ALTERDATABASEAAA
MODIFYFILE(
NAME=AAA_data,
SIZE=5,
MAXSIZE=10
)
3.IF(SelectAvg(年龄)FromStudentsWhere专业=’计算机软件’)>19
SELECT‘平均年龄超过19’
ELSE
SELECT‘平均年龄没有超过19’