一、单选题(共 10 道试题,共 50 分。)
- SQL Server中,保存着每个数据库对象的信息的系统表是( C)。
A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs - 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。
A. Update B. Delete C. Insert D. Alter - 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。
A. age>=30 and age<=40 B. age>=30 or age<=40
C. age>30 and age<40 D. age>30 or age<40 - 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。
A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check - 记录数据库事务操作信息的文件是(D )。
A. 数据文件B. 索引文件C. 辅助数据文件D. 日志文件 - 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。
A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’
B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’
C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’
D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ - 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。
A. 一对一的联系B. 一对多的联系C. 多对一的联系D. 多对多的联系 - SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。
A. SELECTB. HAVINGC. GROUP BY… HAVINGD. WHERE - 列值为空值(NULL),则说明这一列( C)。
A. 数值为0B. 数值为空格C. 数值是未知的D. 不存在 - 数据库的数据一般存放在(D )中。
A. 内存B. CPUC. 寄存器D. 磁盘
二、判断题(共 10 道试题,共 50 分。)V 1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。
A. 错误B. 正确 - 在sysdatabases中,还记录着存储过程中每个参数的信息。A
A. 错误B. 正确 - 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY子句。A
A. 错误B. 正确 - 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A
A. 错误B. 正确 - 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B
A. 错误B. 正确 - 使用INSERT命令一次只能插入一行数据。A
A. 错误B. 正确 - 已使用DROP TABLE除去删除表,若要删除表上的视图,必须通过使用DROP VIEW手工删除。B
A. 错误B. 正确 - SQL Server存储过程能够立即访问数据库。B
A. 错误B. 正确 - 两个空值相比较的结果是未知。B
A. 错误B. 正确 - 在INSERT语句中,VALUES列表中的表达式的数量,必须匹配列表中的列数,表达式的数据类型必须可以和表格中对应各列的数据类型兼容。B
A. 错误B. 正确
SQL Server数据库试题十及答案
一、单项选择题(每题2分,共15题)
- SQL Server 2000是一个( )的数据库系统。
(A)网状型 (B)层次型 (C)关系型 (D)以上都不是 - DTS 是一个简称,它的全称是( )。
A. 数据运输系统 B. 数据传输服务 C. 数据库传输系统 D. 数据库运输服务 - SQL Server 2000 采用的身份验证模式有( )。
(A)仅Windows身份验证模式
(B)仅SQL Server身份验证模式
(C)仅混合模式
(D)Windows身份验证模式和混合模式 - SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:( )
(A)DML (B)DCL (C)DQL (D)DDL - 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是()
(A) * (B)% (C)- (D)? - SQL Server提供的单行注释语句是使用( )开始的一行内容。
(A) “/*” (B) “–” (C) “{” (D) “/” - 以下那种类型能作为变量的数据类型( )。
(A)text (B)ntext (C)table (D)image - C 2.B 3.D 4.C 5.B 6.B 7.C 8.C 9.A 10.D 11.D 12.D 13.C 14.D 15.D
- 下面不属于数据定义功能的SQL语句是:( )
A.CREATE TABLE B.CREATE CURSOR C.UPDATE D.ALTER TABLE - 如果希望完全安装SQL Server,则应选择( )。
A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 - 在SQL SERVER中局部变量前面的字符为:( )
(A)* (B)# (C)@@ (D) @ - 假如有两个表的连接是这样的: table_1 INNER JOIN table_2 其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?()
(A) 包括table_1中的所有行,不包括table_2的不匹配行
(B) 包括table_2中的所有行,不包括table_1的不匹配行
(C) 包括和两个表的所有行
(D) 只包括table_1和table_2满足条件的行 - 对视图的描述错误的是:( )
(A) 是一张虚拟的表
(B) 在存储视图时存储的是视图的定义
(C) 在存储视图时存储的是视图中的数据
(D) 可以像查询表一样来查询视图 - 在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是( )。
(A)ALTER (B)UPDATE (C)UPDAET (D)ALLTER - SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是()。
(A)企业管理器 (B)导入和导出数据 (C)事件探察器 (D)服务管理器 - 要查询book表中所有书名中以“计算机”开头的书籍的价格,可用( )语句。
(A) SELECT price FROM book WHERE book_name = ‘计算机*’
(B) SELECT price FROM book WHERE book_name LIKE ‘计算机*’
(C) SELECT price FROM book WHERE book_name = ‘计算机%’
(D) SELECT price FROM book WHERE book_name LIKE ‘计算机%’
二、 填空题(每空2分,共15空)
1.数据库系统的特点分别是数据的结构化、 、数据独立性和 。
2.在SQL Server 2000中,一个批处理语句是以 结束的。
3. SQL Server 2000中的数据以页为基本存储单位,而8个相邻的页称为扩展盘区,那么扩展盘区的大小应该为 。
4. 在SQL Server 2000中,索引的顺序和数据表的物理顺序不相同的索引是_____________。
5. 如果要计算表中数据的平均值,可以使用的聚合函数是________ ____。
6. 游标的概念包括两个部分,它们是 和 。
7. 一个事务的操作必须是具备以下四个属性:原子性、 、_____________和持久性。
8. 在SQL Server 2000中,我们创建数据库的语句是 ,而修改数据库的语句是 。
9. 在我们说到数据完整性时,使用 是优先于使用触发器、规则 和 。
三、 简答(10分)
- 声明一个长度为16的字符型变量“cname”, 并赋初值为”数据库系统概述”。请按前面的要求写出相应语句。
- 在字符串中,我们应该怎样来产生一个回车并生成一个新行?四、 程序阅读题(10分)
下面程序段的功能是:在 数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name、address和telephone字段插入数据。阅读并回答以下问题:
USE bookdb
GO
IF EXISTS(SELECT ① FROM Sysobjects
WHERE name=’my_proc’ and type=’ ② ’)
DROP PROC my_proc
GO
CREATE PROC my_proc
@a int, @b char(8),@c char(50)
③
INSERT INTO clients(client_id,client_name,address)
VALUES(@a,@b,@c)
GO
问题:(1)填写该程序段中空白处的内容:① ② ③
(2)任写一条调用该存储过程的语句: 。
五、 编程题(20分,共4题)
student表(学生表)
学号 姓名 性别 年龄 系别
1 吴好 男 18 计算机系
2 崔平 女 21 经管系
3 钱筱 女 19 电子系
course表(课程表) sc表(选课表)
课程号 课程名 学分
1 SQL Server 4
2 数据结构 3
3 专业英语 2
学号 课程号 成绩
1 1 88
2 1 90
2 2 70
3 3 79
1、把course表中课程号为3的课程的学分修改为3。(3分)
2、 在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。(4分)
3、 在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(6分)
4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(7分)
参考答案
一、单项选择题(每题2分,共15题)
- C 2.B 3.D 4.C 5.B 6.B 7.C 8.C 9.A 10.D 11.D 12.D 13.C 14.D 15.D
二、 填空题(每空2分,共15空)
1.数据共享 可控冗余 2.GO 3. 64KB 4.非聚集索引 5.AVG函数 6.游标结果集 游标位置 7.一致性 隔离性 8.CREATE DATABASE ALTER DATABASE 9.约束 默认值
三、 简答(10分)
1.DECLARE cname char(16)
SET cname=’数据库系统概述’
或者是
DECLARE cname char(16)
SELECT cname=’数据库系统概述’
2.CHAR(13)+CHAR(10)
四、 程序阅读题(5分)
1. name P as - EXEC my_proc 7,‘李好’,‘考试书店’或者 EXEC my_proc @a=7,@b=‘李好’,@c=‘考试书店’
五、 编程题(25分,共4题)
1、 (4分)
update course (1分)
set 学分=4 (2分)
where课程号=2 (1分)
2、select * from student where 年龄>18 order by 学号 desc (5分)
1分 1分 1分 2分
3、(6分)
方法1:
select distinct student.学号,姓名,性别 (1分)
from student, course, sc (1分)
where (student.学号=sc.学号) and (course.课程号=sc.课程号)
and (course.学分=4) and (sc.成绩>80) (1+1+1+1分)
方法2:
select distinct student.学号,姓名,性别 (1分)
from student Inner Join (sc Inner Join course On course.课程号=sc.课程号)
On student.学号=sc.学号 (2分+2分)
where (course.学分=4) and (sc.成绩>80) (1分+1分)
4、(10分)
If exists(Select name From sysobjects
Where name=’my_trig’and type=’tr’) (整个If语句 1分)
Drop trigger my_trig (0.5分)
Go (0.5分)
Create trigger my_trig (1分)
On student (0.5分)
For Delete (1分)
As (0.5分)
Delete From sc (2分)
Where 学号 in (Select 学号 From Deleted) (1分+2分)
Go
选择题:(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、表在数据库中是一个非常重要的数据对象,它是用来()各种数据内容的,数据库创建后就可以创建表了,创建表可以用()等方法来创建。
⑴ A、显示 B、查询 C、存放 D、检索
⑵ A、企业管理器 B、查询分析器
C、OSQL D、企业管理器和CREATE TABLE语句
6、为数据表创建索引的目的是(),可以在创建表时用()来创建唯一索引,也可以用()来创建唯一索引。
⑴ 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、 Windows NT 授权认证模式只适用于________________________平台, 对于 Windows95/98操作系统下的SQL Server系统将不 适用。
3、 SQL Server中索引类型包括的三种类型分别是_________________,和___。
4、 在SELECT语句的FROM子句中最多可以指 定_______个表或视图, 相互之间要用________分隔, 当所查询的表不 在当前数据库时, 可用___________________________格式来指 出表或视图对象。
5、 服 务器网络实用工具的目的________________。
6、 在当SQL SERVER实例中有DBOA数据库,17、 要将它设置成为单用户状态,18、 请写出设置命令:。
7、 删除表命令是:。
8、 用SELECT进行模糊查询时,可以使用_________或________匹配符, 但要在条件值中使用____或____等通配符来配合查询。并且 模糊查询只能针对字段类型是_________的查询。
9、 计算字段的累加和的函数是:_____, 统计项目数的函数是:________。
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、 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) null———————————————0.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,IN