《SQL Server数据库技术》试卷期末考试卷12套带答案测试卷题库模拟试卷.doc
(装订线内不准做答)线订装 SQL Server数据库技术 考试试卷(A)题号一二三四五六七八九十总分核分教师分值201020201218100得分评卷教师A考试科目SQL Server数据库技术考试类型高职期末考试 闭卷学年学期适用专业年 级教研室主任一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共20小题,每小题1分,总计20分)1、数据库应用系统是由数据库、数据库管理系统及其开发工具、应用系统、( )和用户构成。ADBMS BDB CDBS DDBA2、数据库管理系统的英文缩写是( )。ADBMS BDBS CDBA DDB3、在关系运算中,选取符合条件的元组是( )运算。A除法 B投影 C选择 D连接 4、用于模糊查询的匹配符是( )。A. _ B. C. D. LIKE5、在SQL SERVER中不是系统数据库的是( )。A. master B. pubs C. tempdbD. model6、如果要从数据库中删除触发器,应该使用SQL语言的命令( ) 。A.DELETE TRIGGER B.DROP TRIGGER C.REMOVE TRIGGER D.DISABLE TRIGGER7、SQL Server 2000中删除表中记录的命令是( )。ADELETEBSELECTCUPDATEDDROP 8、SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且( )。A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁但不包括30岁D.包括30岁但不包括20岁9、在SQL中,建立视图用的命令是 ( )。A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX10、在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。A. sp_dbhelp B. sp_dbC. sp_help D. sp_helpdb11、下列聚合函数中正确的是( ) A. SUM (*) B. MAX (*) C. COUNT (*) D. AVG (*)12、已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同时在员工亲属关系中删除对应的亲属元组。在SQL语言中利用触发器定义这个完整性约束的短语是( ) A. AFTER DELETE B. INSTEAD OF DROP C. INSTEAD OF DELETED. AFTER UPDATE13、对于数据库的管理,对SQL Server中guest用户的描述错误的是 ( ) A. 安装系统时,guest用户被加入到master、pubs、tempdb、northwind数据中B. 用户成功登录到SQL Server后,若该登录账号在某数据库中无合法数据库用户,则系统将可能允许以guest用户来访问该数据库C. 不能从master、tempdb数据库中删除guest用户D. 在新建一个数据库时,guest用户将被自动添加14、Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是( )。A.查询工资大于1250的纪录B.查询1250号记录后的记录C.检索所有的职工号 D.从职工关系中检索工资大于1250的职工号15、用于求系统日期的函数是( )。A GETDATE() BYEAR() CCOUNT() DSUM()16、向用户授予操作权限的SQL语句是( )。ACTEATE BREVOKE CSELECT DGRANT17、在查询分析器中执行SQL语句的快捷键是( )。AF1 BF3 CF5 DF6 18、SQL Server提供的单行注释语句是使用( )开始的一行内容。A. “/*” B. “” C. “/” D. “-”19、在SQL Server 2000中,当数据表被修改时,系统自动执行的数据库对象是( )。A.存储过程 B.触发器 C.视图 D.其他数据库对象 20、SQL Server的字符型系统数据类型主要包括( )。A. Int、money、char B. char、varchar、textC. datetime、binary、int D. char、varchar、int二、判断题:(对的打,错的打,填在题末的括号中)(每小题1分,共10分)21、在SQL Server中用户不能建立全局变量。 ( ) 22、备份时只能对数据文件进行备份。 ( )23、自定义函数在对任何表的查询中都可以使用。 ( )24、触发器是通过事件进行触发而被执行的。 ( )25、主键字段允许为空。 ( )26、SQL Server 自动为primary key约束的列建立一个索引。( )27、SQL Server的数据库可以导出为Access数据库。 ( )28、删除表时,表中的触发器不被同时删除。 ( )29、数据库的名称可在企业管理器中重命名。 ( )30、触发器与约束发生冲突,触发器将不执行。 ( )三、填空题(每空1分,共20分)31、 SQL Server登录身份验证模式类型有_ 和_ 两种。32、 MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server的图形化工具称为_。33、 _是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。34、 SQL Server数据库的体系结构也是三级模式结构,在SQL Server中,_对应于视图、_对应于基本表、_对应于存储文件。35、 表或视图的操作权限有select、_、_、_。36、 用SELECT进行模糊查询时,可以使用like或not like匹配符,但要在条件值中使用_或_等通配符来配合查询。并且,模糊查询只能针对字符类型字段查询。37、 我们要连接数据库需要使用ADO组件中的Connection对象,创建它的方法是:set 变量名=_.CreateObject(“_. Connection”)。38、 SQL Server有3种类型,即insert触发器、_触发器和_触发器。39、 SQL Server 2005局部变量名字必须以_开头,而全局变量名字必须以_开头。40、SQL Server的安全性分为两类:_安全性和_安全性。四、简述题(每小题5分,共20分)41、假设某公司的备份策略是:每星期日中午12:00进行一次完全数据库备份,每天进行一次差异备份,每一个小时进行一次事务日志备份。周五17:00时,该公司的数据库遭到破坏,请问你怎样来恢复数据库?42、在SQL Server 2000数据完整性类型及其实现技术有哪些?43、什么是视图?它和表有什么区别?44、简述SQL Server 2005的安全机制(6级)。 五、程序设计题(每空1分,共13分) 45、计算1+3+5+99的和,并使用PRINT显示计算结果。DECLARE I int,sum int,csum char(10)SELECT I=1,sum=0WHILE I<=_ BEGIN SELECT sum = _ SELECT I=I+_ END SELECT csum=convert(char(10),sum) PRINT 1+2+3+99= + csum46、使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。CREATE _ CLASS(CLASSNO _ (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAMECHAR (_) NOT NULL)47、编写一个自定义函数,根据学生表中的出生日期列,计算年龄。CREATE FUNCTION dbo.计算年龄(vardate datetime,Curdate datetime) RETURNS tinyint AS BEGIN return _(yyyy, vardate, Curdate)END48、使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中班级代码为 “200000001”班的学生信息。USE XKCREATE _ V_STUDENTASSELECT *FROM _WHERE CLASSNO=20000001 49、使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为200000001的记录。USE XKCREATE _ P_STUDENTASSELECT * _ STUDENTWHERE CLASSNO=2000000150、创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。USE XK_ ON STUDENT _ ASPRINT 记录已修改操作题部分(注意:所有操作画面都应保存在以自己姓名命名的WORD文档中,代码的保存请按题目的编号来命名,代码无需记录在试卷上。最后所有的代码和操作画面文件应以一个压缩文件包的形式递交,压缩包以自己的2位学号+姓名的形式命名,如“01王明”。考试期间,一定要注意文件的保存。) 六、设计题(共17分) 现有关系数据库如下: 数据库名:学生选课数据库学生表(学号,姓名,性别,年龄,专业)课程表(课程号,课程名,学分,先行课程号)选课表(ID, 学号,课程号,分数) 用SQL语言实现下列功能的sql语句代码:51、创建数据库学生选课数据库代码(1分);52、创建课程表代码(2分); 课程表(课程号 char(6),课程名,学分,先行课程号) 要求使用:主键(课程号)、非空(课程名, 学分)53、创建学生表代码(2分); 学生表(学号 char(6),姓名,性别,年龄,专业) 要求使用:主键(学号)、非空(姓名,专业)、检查(性别)54、创建选课表代码(2分); 选课表(ID,学号,课号,分数) 要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)55、将下列课程信息添加到课程表的代码(2分) 课程号课程名学分先行课程号100001C语言2100002数据结构2100001100003数据库原理2 要求:写出修改 “课程号为100003的课程名:SQL数据库”的代码 写出删除 “课程号为100002的课程信息”的代码 56、写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;(2分)57、写出创建“某门课程高低均分”的存储过程,功能是计算某门课程成绩最高分、最低分、平均分以及执行的代码;(2分) 执行:所有修SQL数据库这门学生的最高分、最低分、平均分;58、检索姓张的女同学的情况:姓名、学号、专业。(2分)59、检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。(2分)第7页(共7页)(装订线内不准做答)线订装 考试试卷参考答案(A)SQL Server数据库技术(A卷)评分标准及参考答案一、单项选择题:(每小题1分,共20分)1234567891011121314151617181920DADCBBAACCCADDADCDBB二、判断题:(每小题1分,共10分)(正确的在对应的题号下打,错误的打)21222324252627282930三、填空题:(每题1分,共计20分)31、Windows身份验证、混合32、SQL Server 服务管理器33、存储过程34、外模式、模式、内模式35、insert、update、delete36、% 、_ 37、Server、ADODB38、Update、Delete39、40、数据访问、数据运行四、简述题(每小题5分,共20分)41假设某公司的备份策略是:每星期日中午12:00进行一次完全数据库备份,每天进行一次差异备份,每一个小时进行一次事务日志备份。周五17:00时,该公司的数据库遭到破坏,请问你怎样来恢复数据库?答:第一步,先执行还原上周日的完全数据库备份第二步,再按顺序执行还原周一的差异备份,周二的差异备份,周三的差异备份,周四的差异备份第三步,接着按顺序执行还原13:00的事务日志备份,14:00的事务日志备份,15:00的事务日志备份,还原16:00的事务日志备份。即:周日的完全备份+周一、二、三、四的差异备份周五的日志备份42在SQL Server 2005数据完整性类型及其实现技术有哪些?答:(1)域完整性:DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)(2)实体完整性:PRIMARY KEY(主键)、UNIQUE(唯一键)、IDENTITY(标识列)(3)参照完整性:FOREIGN KEY(外键)(4)自定义完整性:自定义函数、触发器43什么是视图?它和表有什么区别?答:视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图是虚表。所谓虚表,就是说视图不是表。因为视图只储存了她的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表44、简述SQL Server 2005的安全机制(6级)。答:1. 计算机的连接 2. SQL Server登录(账户、固定服务器角色) 3. 数据库的访问(用户/角色:固定/自定义角色) 4. 表/视图的权限(select insert update delete) 5. 存储过程、内嵌表值函数的权限(execute select) 6. 表(视图)中列的权限(select update)。五、程序设计题(每小题1分,共13分)4599 、 sum+i 、 246table 、 char 、 2047datediff48View、student49procedure、from50Create trigger test、for update六、设计题(第51小题1分,第52至第59小题每题2分,共17分)51. create database 学生选课数据库gouse 学生选课数据库go52. create table 学生表(学号 char(6) primary key, 姓名 nchar(4) not null, 性别 nchar(1) check(性别 in (男, 女), 年龄 numeric(2) , 专业 char(18) not null) 53. create table课程表(课程号 char(6) primary key, 课程名 char(40) not null, 学分 numeric(2) not null, 先行课程号 char(6) ) 54. create table选课表(ID IDENTITY(1, 1), 学号 char(6) references 学生表(学号), 课程号 char(6) references 课程表(课程号), 分数 integer check(分数 between 0 and 100)55.insert 课程表 values(100001, C语言,2)insert 课程表 values(100002, 数据结构, 2, 100001)insert 课程表 values(100003, 数据库原理, 2)update课程表 set 课程名=SQL数据库 where 课程号=100003delete课程表 where 课程号=10000256. create view 选课表视图 asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分, 分数 from 选课表,学生表,课程表where 选课表.学号=学生表.学号 and 选课表.课程号=课程表.课程号-或create view 选课表视图 asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分,分数 from 选课表 join 学生表 on 选课表.学号=学生表.学号 join 课程表 on 选课表.课程号=课程表.课程号57.create procedure 某门课程高低均分课程名 varchar(40) asselect 课程名, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)from 选课表视图where 课程名 = 课程名 goexecute 某门课程高低均分 SQL数据库58.select 姓名, 学号, 专业 from 学生表 where 姓名 like 张% and 性别=女59. select 学号, 姓名, 专业 from 学生表 where学号 in (select distinct 学号 from 选课表 where分数<60)题号一二三四五六七八九十总分核分教师分值30122632100得分评卷教师B考试科目SQL Server数据库技术考试类型高职期末考试 闭卷学年学期适用专业年 级教研室主任一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共20小题,每小题1.5分,总计30分)1、若某表满足1NF,且其所有属性合起来组成主健,则一定还满足范式 ( )A、只有2NFB、只有3NFC、2NF和3NFD、没有2、Microsoft SQL Server 2000各版本的服务器组件必须在特定的操作系统上使用,其中能在Windows 2000 Professional上运行,但不能在Windows 98上运行的是( )A、企业版 B、标准版C、个人版D、开发版3、SQL Server支持在线备份,但在备份过程中,不允许执行的操作是( )(1)、创建或删除数据库文件(2)、创建索引(3)、执行非日志操作(4)、自动或手工缩小数据库或数据库文件大小A、(1)B、(1)(2)C、(1)(2)(3)D、(1)(2)(3)(4)4、SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且( )。A. 包括30岁但不包括20岁B.不包括20岁和30岁C.包括20岁但不包括30岁D.包括20岁和30岁5、现有关系:学生(学号,姓名,系号,系名),为消除数据冗余,至少需要分解为( ) A、1个表B、2个表C、3个表 D、4个表6、数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、课程号、成绩),为快速查出某位学生所学的课程名,应该( ) A、在学生表上按学号建索引 B、在成绩表上按课程号建索引 C、在课程表上按课程号建索引 D、在学生表上按姓名建索引7、如果要从数据库中删除触发器,应该使用SQL语言的命令( ) A、DELETE TRIGGER B、DROP TRIGGER C、REMOVE TRIGGER D、DISABLE TRIGGER8、已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同时在员工亲属关系中删除对应的亲属元组。在SQL语言中利用触发器定义这个完整性约束的短语是( ) A、INSTEAD OF DELETE B、INSTEAD OF DROP C、AFTER DELETE D、AFTER UPDATE9、安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( ) A、master数据库 B、model数据库 C、tempdb数据库 D、pubs数据库10、对于数据库的管理,对SQL Server中guest用户的描述错误的是 ( ) A、安装系统时,guest用户被加入到master、pubs、tempdb、northwind数据中B、用户成功登录到SQL Server后,若该登录账号在某数据库中无合法数据库用户,则系统将可能允许以guest用户来访问该数据库C、不能从master、tempdb数据库中删除guest用户D、在新建一个数据库时,guest用户将被自动添加11、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是( ) A、多对多 B、一对一C、多对一D、一对多12、以下情况发生,往往要求我们立即对master数据库进行备份,错误的是( ) A、增加用户数据库B、删除用户数据库 C、执行与登录有关的操作 D、增加数据库用户13SQL语言中,删除一个表中所有数据,但保留表结构的命令是( ) A、DELETE B、DROPC、CLEAR D、REMORE14、下列四项关于启动服务器的说法不正确的是( ) A、用企业管理器启动B、用操作系统控制面板的服务管理程序启动 C、用命令net begin mssqlserverD、自动启动服务器15、查询员工工资信息时,结果按工资降序排列,正确的是( )A、ORDER BY 工资B、ORDER BY 工资 descC、ORDER BY 工资 ascD、ORDER BY 工资 dictinct16、下列聚合函数中正确的是( ) A、SUM (*) B、MAX (*) C、COUNT (*) D、AVG (*)17、用于模糊查询的匹配符是( )。A. _ B. C. D. LIKE18、在MS SQL Server中,关于数据库的说法正确的是( )A、一个数据库可以不包含事务日志文件B、一个数据库可以只包含一个事务日志文件和一个数据库文件C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件19、能够实现执行SQL语句、分析查询计划、显示查询统计情况和实现索引分析等功能的SQL工具是( )。A、企业管理器B、查询分析器C、服务管理器D、事件探查器20、每个数据库有且只有一个( )A、主要数据库文件B、次要数据库文件C、日志文件D、索引文件二、名词解释(每题4分,共12分)21、视图22、索引23、触发器三、填空题(每题2分,共26分)24、MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve的图形化工具称为_。25、 _是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。26、 _身份验证模式,输入的账号必须是在2000 professional(或NT)已经建立的登录者或组。27、 HAVING子句与WHERE子句很相似,其区别在于:_28、 WHERE子句作用的对象是_,HAVING子句作用的对象是_。29、 已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句: SELECT SNO FROM SC WHERE SCORE= (SELECT SUM(SCORE) FROM SC WHERE CNO=002) 简述上述语句完成了的查询操作是_。30、 表或视图的操作权限有select、_、_、_。 31、 创建、修改和删除表命令分别是_ table、_ table和_ table。 操作题部分(注意:所有操作画面都应保存在以自己姓名命名的WORD文档中,代码的保存请按题目的编号来命名,代码无需记录在试卷上。最后所有的代码和操作画面文件应以一个压缩文件包的形式递交,压缩包以自己的2位学号+姓名的形式命名,如“01王明”。考试期间,一定要注意文件的保存。)四、设计题(每小题4分, 8小题共32分)32、设有学生选修课程数据库, 学生表(学号,姓名,年龄,性别,所在系,地址,出生日期) 选课表(学号,课程号,成绩) 课程表(课程号,课程名称,教师姓名) 用SQL语言查询下列问题: 1) 李小民老师所教的课程号、课程名称。 2) 年龄大于23岁的女学生的学号和姓名。 3)“李小波”所选修的全部课程名称。 4)所有成绩都在80分以上的学生姓名及所在系。 5)没有选修“操作系统”课的学生姓名。 6)英语成绩比数学成绩好的学生。 7)至少选修两门以上课程的学生姓名、性别。 8)选修了李小民老师所讲课程的学生人数。 SQL Server数据库技术B卷评分标准及参考答案一、选择题(每题1分,共20分)12345678910CDDDBDBCAD11121314151617181920DDACBCCBBA二、名词解释(每题4分,共12分)1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。2、索引就是表中数据和相应存储位置的列表。3、触发器是特殊类型的存储过程,它能在任何试图改变表或视图中由触发器保护的数据时执行。触发器主要通过操作事件(INSERT、UPDATE、DELETE)进行触发而被自动执行,不能直接调用执行,也不能被传送和接受参数。三、填空题(每题1分,共10分)1服务管理器2存储过程3Windows4表和视图,分组5检索有与课程号为“002”的课程的最高成绩相等的同学的学号insert、update、deletealter、drop四、设计题(1-8小题每题4分,第9小题2分,共34分)1)select 课程号, 课程名称from 课程表where 教师姓名=李小民2)select 学号, 姓名 from 学生表 where (性别=女) and (年龄>23)3)select 课程名称 from 课程表where 课程号 in (select 选课表.课程号 from 选课表,学生表 where (选课表.学号=学生表.学号) and (学生表.姓名=李小波)4)select 姓名, 所在系 from 学生表 where 学号 in(select distinct 学号from 选课表 where 成绩 >= 80) 5)没有选修“操作系统”课的学生姓名。 select distinct 学生表.学号, 姓名 from 学生表, 选课表, 课程表 where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号) and (课程名称 <>操作系统) 6)英语成绩比数学成绩好的学生。 create function 课程成绩(课程名 nchar(255), 学号 char(6) returns numeric as begin declare i numeric select i=成绩 from 选课表, 课程表 where (学号 = 学号) and (选课表.课程号 =课程表.课程号) and (课程名称 = 课程名) return i endselect 学号, 姓名, 英语成绩= dbo.课程成绩(英语,学号), 数学成绩= dbo.课程成绩(数学,学号) from 学生信息表 where dbo.课程成绩(英语,学号)>dbo.课程成绩(数学,学号)7)至少选修两门以上课程的学生姓名、性别。 select 姓名, 性别 from 学生表where 学号 in(SELECT 学号 FROM 选课表group by 学号 having count(学号)>1)8)选修了李老师所讲课程的学生人数。 select count(学号) from 选课表, 课程表 where (选课表.课程号=课程表.课程号) and (教师姓名=李老师)9)“操作系统”课程得最高分的学生姓名、性别、所在系。select top 1 学生表.学号, 姓名, 所在系 from 学生表, 选课表, 课程表 where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号) and (课程名称 = 操作系统) order by 成绩 desc题号一二三四五六七八九十总分核分教师分值1010201050100得分评卷教师C考试科目SQL Ser