常见的SQLServer数据库试题及答案总结(共9页).doc
精选优质文档-倾情为你奉上常见的SQLServer数据库试题及答案总结 来源: 发布时间:2008-04-22 浏览:6348人次 字体:大 中 小 选择题:(20分) 1、根据关系数据基于的数据模型关系模型的特征判断下列正确的一项:(_) A、只存在一对多的实体关系,以图形方式来表示。 B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库是数据库发展的最初阶段。 2、在“连接”组中有两种连接认证方式,其中在(_)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时 3、SQL Server 2000 在安装之前,应注意的事项:(_) A、SQL Server 2000的任何版本在安装时都不用考虑操作系统的制约。 B、SQL Server 2000的安装对硬件的要求不作任何限制。 C、SQL Server 2000 在安装之前,必须在操作系统级启用TCP/IP。 D、在Windows NT Server 4.0上安装SQL Server 2000时,最低的要求是必须安装Service Pack 4(SP4)以上。 4、关系数据库中,主键是(1_),主键的建立有(2_)种方法,当运用Transact-SQL语句创建主键时,可以是(3_)。 A、为标识表中唯一的实体 B、创建唯一的索引,允许空值 C、只允许以表中第一字段建立 D、允许有多个主键的 A、一 B、二 C、三 D、四 A、create table table1 (column1 char(13) not null primary, column2 int not) on primary; B、alter table table1 with notcheck add constraint PK_table1 primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 5、表在数据库中是一个非常重要的数据对象,它是用来(1_)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2_)等方法来创建。 A、显示 B、查询 C、存放 D、检索 A、企业管理器 B、查询分析器 C、OSQL D、企业管理器和CREATE TABLE语句 6、为数据表创建索引的目的是(1_),可以在创建表时用(2_)来创建唯一索引,也可以用(2_)来创建唯一索引。 A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类 A、设置主键约束,设置唯一约束 B、Create table,Create index C、设置主键约束,Create index D、以上都可以 7、 在Transact-SQL语法中,用来插入数据的命令是(_),用于更新的命令是(_)。 A、INSERT,UPDATE B、UPDATE,INSERT C、DELETE,UPDATE D、CREATE,INSERT INTO 8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1_),使用关键字(2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3_),如果在SELECT语句中使用集合函数时,一定在后面使用(4_)。 A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT A、DISTINCT B、UNION C、ALL C、TOP A、JOIN B、UNION C、INTO C、LIKE A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 9、视图是一种常用的数据对象,它是提供(1_)和(1_)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,表的连接不能使用(2_)方式,并且不允许在该语句中包括(3_)等关键字。 A、查看,存放 B、查看,检索 C、插入,更新 D、检索,插入 A、外连接 B、内连接 C、左连接 D、右连接 A、ORDER BY,COMPUTE B、ORDER BY,COMPUTE,COMPUTR BY C、ORDER BY,COMPUTE BY,GROUP BY D、GROUP BY,COMPUTE BY 10、在SQL SERVER服务器上,存储过程是一组预先定义并(1_)的Transact-SQL语句。可以用(2_)来声明游标。 A、保存 B、编译 C、解释 D、编写 A、CREATE CURSOR B、ALTER CURSOR C、SET CURSOR D、DECLARE CURSOR 填空题:(20分) 1、 更改 Microsoft SQL Server 登录的密码的命令是_,2、 举例说明其语法格式:_。 3、 Windows NT 授权认证模式只适用于_平台,4、 对于Windows95/98操作系统下的SQL Server系统将不5、 适用。 6、 SQL Server中索引类型包括的三种类型分别是_,_和_。 7、 在SELECT语句的FROM子句中最多可以指8、 定_个表或视图,9、 相互之间要用_分隔,10、 当所查询的表不11、 在当前数据库时,12、 可用_格式来指13、 出表或视图对象。 14、 服15、 务器网络实用工具的目的_。 16、 在当SQL SERVER实例中有DBOA数据库,17、 要将它设置成为单用户状态,18、 请写出设置命令:_。 19、 删除表命令是:_。 20、 用SELECT进行模糊查询时,21、 可以使用_或_匹配符,22、 但要在条件值中使用_或_等通配符来配合查询。并且,23、 模糊查询只能针对字段类型是_的查询。 24、 计算字段的累加和的函数是:_,25、 统计项目数的函数是:_。 10、SQL SERVER 中的编程语言就是_语言。 判断题(10分) 1、在CREATE INDEX语句中,使用CLUSTERED来建立簇索引。( ) 2、可以在企业管理器中修改数据库的名称。( ) 3、恢复数据,可以在查询分析器中使用这样的命令: BACKUP DATABASE database_name FROM backup ( ) 4、在查询分析器中修改帐户时可以用系统存储过程Sp_modibaccess。( ) 5、每个存储过程向调用方返回一个整数返回代码。如果存储过程没有显式设置返回代码的值,则返回代码为 0,表示成功。 6、在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。 7、在SQL SERVER中,触发器的执行是在数据的插入、更新或删除之前执行的。 8、在 Transact-SQL 语句的WHERE子句中,完全可以用IN子查询来代替OR逻辑表达式。 9、通配符“_”表示某单个字符。 10、因为通过视图可以插入、修改或删除数据,因此视图也是一个实在表,SQL SERVER将它保存在syscommens系统表中。 简答题:(20分) 26、 写出关系型数据库的第一、第二、第三标27、 准形式的各自要求。 28、 触发器的类型以及相对的语句命令? 29、 自定义函数的类型?各自原返回值。 30、 用户权限的种类有哪些?各自的作用? 分析编码题(20分) 31、 请使用Transact-SQL 建立如下表: 表名:雇员基本信息表; 字段名 数据类型 宽度 精度 可空性 要求 NO_ID CHAR 7 NOT NULL 设为主键 NAME CHAR 10 NOT NULL SEX CHAR 2 NOT NULL 默认值为”男” AGE INT NOT NULL DEPT VARCHAR 50 NULL PHONE VARCHAR 20 NULL NOTES VARCHAR 50 NULL 32、 现有1销售表,33、 它们结构如下: id int (标识号) codno char(7) (商品编码) codname varchar(30) (商品名称) spec varchar(20) (商品规格) price numeric(10,2) (价格) sellnum int (销售数量) deptno char(3) (售出分店编码) selldate datetime (销售时间) 要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。 34、 在table1数据表中增加“No_id”字段,35、 数据类型char(12),36、 不37、 可空,38、 并将其设定为UNIQUE约束,39、 写出其命令语句。 编程填空题:(10分) 填写出下列触发器中缺少的关键字,使下面语句完整: if update(lcostprice) update b_drug_data set scostprice = (select lcostprice from inserted _ codno,lcostprice,scostprice _ b_drug_data.codno = inserted.codno)/ (select fsco from b_drug_data _ codno,fsco _ b_drug_data.codno = (select codno from inserted group by codno) where b_drug_data.codno _ (select codno from inserted) 选择题:(20分) 注:每个选空1分 1、B,2、B,3、C,4、 A,C,B,5、C,D,6、A,C 7、A,A 8、B,A,B,A,9、A,A,B,10、B,D 填空题:(20分) 注:每空1分 1、 Sp_password,sp_password “12345”,”54321”,”abc” 2、 Windows NT 3、 唯一索引,簇索引,非簇索引 4、 256,逗号,”数据库.所有者名称.对象名称” 5、 为客户端网络实用工具提供参数。 6、 sp_dboption DBOA,single use,true 7、 drop table 8、 like,not like,”%”,”_”,字符 9、 Sum(),Count() 10、TranSact_SQL 判断题:(10分,每题1分) 1、 2、× 3、× 4、× 5、 6、 7、× 8、× 9、 10、× 简答题:(20分,1、2题每题5分) 1、 第一标2、 准形式:由原子值和主键值组成,3、 数据表中的每一个字段都不4、 可以再分。(同5、 一数据表中同6、 类字段不7、 允许重复8、 出现,9、 在一个字段内也不10、 允许放置多个数据项) 第二标准形式:要求所有的非关键字段完全依赖于主键。(或类似的解释) 第三标准形式:每一个非主键字段列中没有可传递的的依赖性。(一个非主键列不能依赖于另一个非主键列) 2、 类型:INSERT触发器、UPDATE触发器、DELETE触发器 相对应的语句:INSERT语句、UPDATE语句、DELETE语句 11、 自定义函数类型:标12、 量函数 返回值:单个数据值 内嵌表值函数 返回值:table, 多语句表值函数 返回值:table 4、 权限类型及作用: 对象权限 作用:决定用户对数据库对象所执行的操作,包括用户对数据库中的表、视图、列或存储过程等对象的操作权限 语句权限 作用:决定用户能否操作数据库和创建数据库对象 隐含权限 作用:控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。 五、(20分,1题10分,2题5 分,3题5分) 1、(答案中的英语单词不允许错误,男字只能用单引号括起来,否则不给分;) CREATE TABLE 雇员基本信息表2分 (NO_ID char(7) not null primary key,2分 NAME char(10) not null,1分 SEX char( 2) not null default 男,2分 AGE int not null,1分 DEPT varchar(50) null,1分 PHONE varchar(20) null,0.5分 NOTES varchar(50) null0.5分 ) 2、(答案中的英语单词不允许错误,日期要用引号括起来,否则不给分) SELECT * FROM 销售表 WHERE (selldate >= '2002-2-15' AND selldate <='2002-4-29') AND deptno = '01' 3、(答案中的大写单词不允许错误,其他不作要求) ALTER TABLE table1 ADD No_id CHAR(12) NOT NULL CONSTRAINT table1_unique UNIQUE (每空2分,共10分) GROUP BY,HAVING,GROUP BY,HAVING,INSQL Server数据库试卷5一、 单项选择题(每题2分,共15题)1、SQL Server 2000是一个( )的数据库系统。(A)网状型 (B)层次型 (C)关系型 (D)以上都不是2、SQL Server 2000 企业版可以安装在操作系统上。(A)Microsoft Windows 98(B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server(D)Microsoft Windows XP3、SQL Server 2000 采用的身份验证模式有( )。(A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式 4、SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是( )。(A)企业管理器(B)导入和导出数据 (C)事件探察器 (D)服务管理器5、SQL Server 2000中的数据以页为基本存储单位,页的大小为( )。(A)8KB (B)16KB (C)32KB (D)64KB6、新安装SQL Server后,默认有六个内置的数据库,其中的两个范例数据库是Pubs和( )。(A)master (B)NorthWind (C)msdb (D)bookdb7、在SQL Server 2000中,当数据表被修改时,系统自动执行的数据库对象是( )。(A)存储过程 (B)触发器 (C)视图 (D)其他数据库对象8、SQL Server的字符型系统数据类型主要包括( )。A. Int、money、char B. char、varchar、textC. datetime、binary、int D. char、varchar、int9、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是( )。(A)聚集索引 (B)非聚集索引 (C)主键索引 (D)唯一索引10、要查询book表中所有书名中包含“计算机”的书籍情况,可用( )语句。(A) SELECT * FROM book WHERE book_name LIKE 计算机*(B) SELECT * FROM book WHERE book_name LIKE 计算机% (C) SELECT * FROM book WHERE book_name = 计算机*(D) SELECT * FROM book WHERE book_name = 计算机%11、SELECT语句中与HAVING子句通常同时使用的是( )子句。A.ORDER BY B.WHERE C.GROUP BY D.无需配合12、要删除mytable表中的myindex索引,可以使用( )语句。(A) DROP myindex (B)DROP mytable.myindex (C) DROP INDEX myindex (D)DROP INDEX mytable.myindex13、下列选项都是系统提供的存储过程,其中可以进行视图信息的查询是( )。(A)sp_helptext(B)sp_helpindex (C)sp_bindrule (D)sp_rename 14、SQL Server提供的单行注释语句是使用( )开始的一行内容。A. “/*” B. “-” C. “” D. “/”15、以下运算符中优先级最低的是( )。(A)+(加) (B)=(等于) (C)like (D)=(赋值)二、 填空题(每空2分,共15空)1、数据库系统的特点分别是数据的结构化、 、数据独立性和 。2、在数据库的表中, 是指表中的某一列,该列的值唯一标识一行。3、SQL Server 2000的文件包括: 数据文件(.mdf或.ndf)和 。4、在SQL Server 2000中,要访问某个数据库,除了需要有一个登录帐号外,还必须有一个该数据库的 帐号。5、 ,简称DBMS,它是指帮助用户建立、使用和管理数据库的软件系统。6、在SQL Server 2000中,Unicode 标准的全称是 。7、SQL Server 2000提供备份数据库的两种方式是 和 。8、在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是 ;若要创建一个数据库,应该使用的语句是 。9、游标的概念包括两个部分,它们是 和 。10、一个事务的操作必须是具备以下四个属性:原子性、 、 和永久性。三、 程序阅读题(共2题)1、阅读下面的程序段,然后简述该程序段所完成的功能。(5分)Begin Waitfor time 15:43Create View my_view As Select order_date,book_number,book_id From orderformWhere book_number!< 25End该程序段的功能是: 。2、下面程序段的功能是:在 数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向book表的book_id、book_name、price和publisher字段插入数据。阅读并回答以下问题:(10分)Use bookdbGo If exists(Select name From Where name=my_procand type= ) Drop Proc my_procGoCreate Proc my_proca int, b char(50),c float,d publisher Insert Into student(book_id,book_name,price,publisher)Values(a,b,c,d)Go问题:(1)填写该程序段中空白处的内容: (2)任写一条调用该存储过程的语句: 。 四、 编程题(共4题)有一个“学生课程”数据库,数据库中包括三个表:(1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。(2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 (3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。完成下列操作:1、 请把其中建立 “学生”表Student的语句写下来,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。2、 在student表中查询Sdept是计算机的学生的所有信息,并按Sno降序排列。(5分)3、 在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。(7分)4、为Course表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(9分)SQL Server数据库试卷5参考答案一、 选择题(每题2分,共30分) CCDDA BBBAB CBACD二、 填空题(每空2分,共30分)1、数据共享、可控冗余度 2、主键 3、日志文件 4、用户 5、数据库管理系统 6、统一字符编码标准 7、备份数据库、备份事务日志 8、ALTER 、CREATE DATABASE 9、游标结果集、游标位置 10、一致性、隔离性三、 程序阅读题(第一题5分,第二题10分,共15分)1、系统在15:43分为orderform表中订购数量book_number大于25本的订购信息的order_date、book_number和book_id三个字段创建一个名为my_view的视图。(答题意思差不多 即可得满分,其他情况酌情给分)2、(1) Sysobjects P As (每空2分)(2)Exec my_proc 7, SQL Server 2000教程,38,北京科海集团公司 或 Exec my_proc a=7, b=SQL Server 2000教程,c=38,d=北京科海集团公司 (4分)注:该小题不管怎样调用该存储过程,Exec 和 my_proc不可少,也不可多用Proc关键字;若不全对则酌情给分。四、 编程题(共4题,共25分)1、(共6分)CREATETABLE Student (1分)(Sno CHAR(5) NOT NULL UNIQUE, (1分)Sname CHAR(20), (1分)Ssex CHAR(1), (1分)Sage INT, (1分)Sdept CHAR(15); (1分)2、select * from student where Sdept=计算机 order by Sno desc (5分)1分1分1分 2分3、(共7分)方法1:select student.Sno,Sname,Ssex (1分)from student, course, sc (1分)where (student.Sno=sc.Sno) and (course.Cno=sc.Cno) and (course.Ccredit=5) and (sc.Grade>60) (1+1+1+1+1分)方法2:select student.Sno,Sname,Ssex (1分)from student Inner Join (sc Inner Join course On course.Cno=sc.Cno)On student.Sno=sc.Sno(2分+2分)where (course.Ccredit=5) and (sc.Grade>60) (1分+1分)4、(共9分)If exists(Select name From sysobjects Where name=my_trigand type=tr) (整个If语句 1分) Drop trigger my_trig (0.5分)Go (0.5分)Create trigger my_trig (1分)On Course (0.5分)For Delete (1分)As (0.5分)Delete From sc (1分)Where Sno in (Select Sno From Deleted) (1分+2分)Go 专心-专注-专业