SQL-Server-2008数据库试题2009-2010学年第二学期科大讯飞公司SQLServer2008数据库试题合作院校:班级:姓名:分数一、单项选择题(每题2分,共25题,合计50分)1.SQLServer2008是一个()的数据库系统。(A)网状型(B)层次型(C)关系型(D)以上都不是2.关于主键描述正确的是:()(A)包含一列(B)包含两列(C)包含一列或者多列(D)以上都不正确3.SQLServer2008采用的身份验证模式有()。(A)仅Windows身份验证模式(B)仅SQLServer身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式4.SQL语言按照用途可以分为三类,下面选项中哪一种不是的:()(A)DML(B)DCL(C)DQL(D)DDL5.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多题号一二三总分得分得分改卷个字符的通配符是()(A)*(B)%(C)-(D)?6.SQLServer提供的单行注释语句是使用()开始的一行内容。(A)“/*”(B)“--”(C)“{”(D)“/”7.以下那种类型不能作为变量的数据类型()。(A)text(B)ntext(C)table(D)image8.下面不属于数据定义功能的SQL语句是:()A.CREATETABLEB.CREATECURSORC.UPDATED.ALTERTABLE9.如果希望完全安装SQLServer,则应选择()。A.典型安装B.最小安装C.自定义安装D.仅连接10.在SQLSERVER中局部变量前面的字符为:()(A)*(B)#(C)@@(D)@11.假如有两个表的连接是这样的:table_1INNERJOINtable_2其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?()(A)包括table_1中的所有行,不包括table_2的不匹配行(B)包括table_2中的所有行,不包括table_1的不匹配行(C)包括和两个表的所有行(D)只包括table_1和table_2满足条件的行12.对视图的描述错误的是:()(A)是一张虚拟的表(B)在存储视图时存储的是视图的定义(C)在存储视图时存储的是视图中的数据(D)可以像查询表一样来查询视图13.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是()。(A)ALTER(B)UPDATE(C)UPDAET(D)ALLTER14.SQLServer2008提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQLServer的4种服务的是()。(A)企业管理器(B)导入和导出数据(C)事件探察器(D)服务管理器15.要查询book表中所有书名中以“计算机”开头的书籍的价格,可用()语句。(A)SELECTpriceFROMbookWHEREbook_name=‘计算机*’(B)SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机*’(C)SELECTpriceFROMbookWHEREbook_name=‘计算机%’(D)SELECTpriceFROMbookWHEREbook_nameLIKE‘计算机%’16.SQLserver数据库文件有3类,其中日志文件的后缀为_____。A..ndfB..ldfC..mdfD..idf17、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___)A、只存在一对多的实体关系,以图形方式来表示。B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。C、能体现一对多、多对多的关系,但不能体现一对一的关系。D、关系模型数据库是数据库发展的最初阶段。18、关系数据库中,主键是(__)。A、为标识表中唯一的实体B、创建唯一的索引,允许空值C、只允许以表中第一字段建立D、允许有多个主键的19、表在数据库中是一个非常重要的数据对象,它是用来(__)各种数据内容的A、显示B、查询C、存放D、检索20、为数据表创建索引的目的是(___)A、提高查询的检索性能B、创建唯一索引C、创建主键D、归类21、在Transact-SQL语法中,用来插入数据的命令是(___),用于更新的命令是(___)。A、INSERT,UPDATEB、UPDATE,INSERTC、DELETE,UPDATED、CREATE,INSERTINTO22、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(___)。A、SELECT,INTOB、SELECT,FROMC、SELECT,GROUPD、仅SELECT23、视图是一种常用的数据对象,它是提供____和____数据的另一种途径,可以简化数据库操作,A、查看,存放B、查看,检索C、插入,更新D、检索,插入24、在SQLSERVER服务器上,存储过程是一组预先定义并(__)的Transact-SQL语句。A、保存B、编译C、解释D、编写25、在SQLServer2000中,索引的顺序和数据表的物理顺序相同的索引是()。A.聚集索引B.非聚集索引C.主键索引D.唯一索引二、填空题(每空1分,共10空,共计10分)1.数据库系统的特点分别是数据的结构化、、数据独立性和。2.在SQLServer2008中,索引的顺序和数据表的物理顺序不相同的索引是___3.如果要计算表中数据的平均值,可以使用的聚合函数________。4.游标的概念包括两个部分,它们是和。5.一个事务的操作必须是具备以下四个属性:原子性、、_________和持久性。6.在SQLServer2008中,我们创建数据库的语句是,而修改数据库的语句是。三、简答(每题5分,共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表(课程表)课程号课程名学分1SQLServer42数据结构33专业英语2sc表(选课表)学号课程号成绩1188219022703379得分改卷1、把course表中课程号为3的课程的学分修改为3。(3分)2、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。(4分)3、在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(6分)4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(7分)SQLServer数据库试题十及答案参考答案一、单项选择题(每题2分,共15题)1.C2.c3.D4.C5.B6.B7.C8.C9.A10.D11.D12.D13.C14.D15.D25C二、填空题(每空2分,共15空)1.数据共享可控冗余2.GO3.64KB4.非聚集索引5.AVG函数6.游标结果集游标位置7.一致性隔离性8.CREATEDATABASEALTERDATABASE9.约束默认值三、简答(10分)1.DECLAREcnamechar(16)SETcname=’数据库系统概述’或者是DECLAREcnamechar(16)SELECTcname=’数据库系统概述’2.答:分割数据,简化优点简化操作提供自动的安全保护功能为数据库重构提供一定的逻辑独立性。四、程序阅读题(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分)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分)Go1加到100的存储过程:declare@numberint,@varnumberintset@number=0set@varnumber=0while@varnumber=100beginset@number=@number+@varnumberset@varnumber=@varnumber+1endselect@number答案为5050