一、单选题(共10道试题,共50分。)V1.SQLServer中,保存着每个数据库对象的信息的系统表是(C)。A.sysdatabasesB.SyscolumnsC.SysobjectsD.Syslogs满分:5分2.在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。A.UpdateB.DeleteC.InsertD.Alter满分:5分3.在查询语句的Where子句中,如果出现了“ageBetween30and40”,这个表达式等同于(A)。A.age=30andage=40B.age=30orage=40C.age30andage40D.age30orage40满分:5分4.如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。A.PDRIMARYKEYB.FOREIGNKEYC.uniqueD.check满分:5分5.记录数据库事务操作信息的文件是(D)。A.数据文件B.索引文件C.辅助数据文件D.日志文件满分:5分6.要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。A.SELECT*FROMCPWHERE产品名称LIKE‘冰箱’B.SELECT*FROMXSHWHERE产品名称LIKE‘冰箱’C.SELECT*FROMCPWHERE产品名称LIKE‘%冰箱%’D.SELECT*FROMCPWHERE产品名称=‘冰箱’满分:5分7.储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。A.一对一的联系B.一对多的联系C.多对一的联系D.多对多的联系满分:5分8.SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。A.SELECTB.HAVINGC.GROUPBY…HAVINGD.WHERE满分:5分9.列值为空值(NULL),则说明这一列(C)。A.数值为0B.数值为空格C.数值是未知的D.不存在满分:5分10.数据库的数据一般存放在(D)中。A.内存B.CPUC.寄存器D.磁盘满分:5分二、判断题(共10道试题,共50分。)V1.如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。AA.错误B.正确满分:5分2.在sysdatabases中,还记录着存储过程中每个参数的信息。AA.错误B.正确满分:5分3.在SELECT语句中,当使用ORDERBY子句时,一定要使用GROUPBY子句。AA.错误B.正确满分:5分4.由于索引是独立的,删除表时,与该表相关的索引并不被删除。AA.错误B.正确满分:5分5.日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldfBA.错误B.正确满分:5分6.使用INSERT命令一次只能插入一行数据。AA.错误B.正确满分:5分7.已使用DROPTABLE除去删除表,若要删除表上的视图,必须通过使用DROPVIEW手工删除。BA.错误B.正确满分:5分8.SQLServer存储过程能够立即访问数据库。BA.错误B.正确满分:5分9.两个空值相比较的结果是未知。BA.错误B.正确满分:5分10.在INSERT语句中,VALUES列表中的表达式的数量,必须匹配列表中的列数,表达式的数据类型必须可以和表格中对应各列的数据类型兼容。BA.错误B.正确满分:5分SQLServer数据库试题十及答案一、单项选择题(每题2分,共15题)1.SQLServer2000是一个(C)的数据库系统。(A)网状型(B)层次型(C)关系型(D)以上都不是2.DTS是一个简称,它的全称是(B)。A.数据运输系统B.数据传输服务C.数据库传输系统D.数据库运输服务3.SQLServer2000采用的身份验证模式有(D)。(A)仅Windows身份验证模式(B)仅SQLServer身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式4.SQL语言按照用途可以分为三类,下面选项中哪一种不是的:(C)(A)DML(B)DCL(C)DQL(D)DDL5.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B)(A)*(B)%(C)-(D)?6.SQLServer提供的单行注释语句是使用(B)开始的一行内容。(A)“/*”(B)“--”(C)“{”(D)“/”7.以下那种类型能作为变量的数据类型(C)。(A)text(B)ntext(C)table(D)image8.下面不属于数据定义功能的SQL语句是:(C)A.CREATETABLEB.CREATECURSORC.UPDATED.ALTERTABLE9.如果希望完全安装SQLServer,则应选择(A)。A.典型安装B.最小安装C.自定义安装D.仅连接10.在SQLSERVER中局部变量前面的字符为:(D)(A)*(B)#(C)@@(D)@11.假如有两个表的连接是这样的:table_1INNERJOINtable_2其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?(D)(A)包括table_1中的所有行,不包括table_2的不匹配行(B)包括table_2中的所有行,不包括table_1的不匹配行(C)包括和两个表的所有行(D)只包括table_1和table_2满足条件的行12.对视图的描述错误的是:(D)(A)是一张虚拟的表(B)在存储视图时存储的是视图的定义(C)在存储视图时存储的是视图中的数据(D)可以像查询表一样来查询视图13.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是(C)。(A)ALTER(B)UPDATE(C)UPDAET(D)ALLTER14.SQLServer2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQLServer的4种服务的是(D)。(A)企业管理器(B)导入和导出数据(C)事件探察器(D)服务管理器15.要查询book表中所有书名中以“计算机”开头的书籍的价格,可用(D)语句。(A)SELECTpriceFROMbookWHEREbook_name=‘计算机*’(B)SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机*’(C)SELECTpriceFROMbookWHEREbook_name=‘计算机%’(D)SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机%’二、填空题(每空2分,共15空)1.数据库系统的特点分别是数据的结构化、、数据独立性和。2.在SQLServer2000中,一个批处理语句是以结束的。3.SQLServer2000中的数据以页为基本存储单位,而8个相邻的页称为扩展盘区,那么扩展盘区的大小应该为。4.在SQLServer2000中,索引的顺序和数据表的物理顺序不相同的索引是_____________。5.如果要计算表中数据的平均值,可以使用的聚合函数是____________。6.游标的概念包括两个部分,它们是和。7.一个事务的操作必须是具备以下四个属性:原子性、、_____________和持久性。8.在SQLServer2000中,我们创建数据库的语句是,而修改数据库的语句是。9.在我们说到数据完整性时,使用是优先于使用触发器、规则和。三、简答(10分)1.声明一个长度为16的字符型变量“cname”,并赋初值为”数据库系统概述”。请按前面的要求写出相应语句。2.在字符串中,我们应该怎样来产生一个回车并生成一个新行?四、程序阅读题(10分)下面程序段的功能是:在数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name、address和telephone字段插入数据。阅读并回答以下问题:USEbookdbGOIFEXISTS(SELECT①FROMSysobjectsWHEREname=’my_proc’andtype=’②’)DROPPROCmy_procGOCREATEPROCmy_proc@aint,@bchar(8),@cchar(50)③INSERTINTOclients(client_id,client_name,address)VALUES(@a,@b,@c)GO问题:(1)填写该程序段中空白处的内容:①②③(2)任写一条调用该存储过程的语句:。五、编程题(20分,共4题)student表(学生表)学号姓名性别年龄系别1吴好男18计算机系2崔平女21经管系3钱筱女19电子系course表(课程表)sc表(选课表)课程号课程名学分1SQLServer42数据结构33专业英语2学号课程号成绩11882190227033791、把course表中课程号为3的课程的学分修改为3。(3分)2、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。(4分)3、在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(6分)4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(7分)参考答案一、单项选择题(每题2分,共15题)1.C2.B3.D4.C5.B6.B7.C8.C9.A10.D11.D12.D13.C14.D15.D二、填空题(每空2分,共15空)1.数据共享可控冗余2.GO3.64KB4.非聚集索引5.AVG函数6.游标结果集游标位置7.一致性隔离性8.CREATEDATABASEALTERDATABASE9.约束默认值三、简答(10分)1.DECLAREcnamechar(16)SETcname=’数据库系统概述’或者是DECLAREcnamechar(16)SELECTcname=’数据库系统概述’2.CHAR(13)+CHAR(10)四、程序阅读题(5分)1.namePas2.EXECmy_proc7,‘李好’,‘考试书店’或者EXECmy_proc@a=7,@b=‘李好’,@c=‘考试书店’五、编程题(25分,共4题)1、(4分)updatecourse(1分)set学分=4(2分)where课程号=2(1分)2、select*fromstudentwhere年龄18orderby学号desc(5分)1分1分1分2分3、(6分)方法1:selectdistinctstudent.学号,姓名,性别(1分)fromstudent,course,sc(1分)where(student.学号=sc.学号)and(course.课程号=sc.课程号)and(course.学分=4)and(sc.成绩80)(1+1+1+1分)方法2:selectdistinctstudent.学号,姓名,性别(1分)fromstudentInnerJoin(scInnerJoincourseOncourse.课程号=sc.课程号)Onstudent.学号=sc.学号(2分+2分)where(course.学分=4)and(sc.成绩80)(1分+1分)4、(10分)Ifexists(SelectnameFromsysobjectsWherename=’my_trig’andtype=’tr’)(整个If语句1分)Droptriggermy_trig(0.5分)Go(0.5分)Createtriggermy_trig(1分)Onstudent(0.5分)ForDelete(1分)As(0.5分)DeleteFromsc(2分)Where学号in(Select学号FromDeleted)(1分+2分)Go