一、 选择题
1. 下面哪个范式不是关系模型中的范式( C)
A、 第一范式
B、 第二范式
C、 范德蒙范式
D、 BCNF范式2.SQL Server 2000不包含以下哪个版本(  B)
A、 SQL Server 2000 企业版(Enterprise Edition)
B、 SQL Server 2000 专业版(Professional Edition)标准版
C、 SQL Server 2000 个人版(Personal Edition)
D、 SQL Server 2000 开发版(Developer Edition)3.下面哪一项不属于T-SQL语言的组成部分( B)
A、数据定义语言(DDL)
B、数据查询语言(DFL)
C、数据操纵语言(DML)
D、数据控制语言(DCL)4.下面哪个不是SQL Server数据库的系统数据类型(C ) 
A、 int、smallint
B、 char、varchar
C、 String、char
D、 datetime、int5.下面关于SQL Server数据库中变量的描述,不正确的是( C )
A、SQL Server中变量可分为全局变量和局部变量两大类。
B、全局变量由系统提供且预先声明,通过在名称前加两个”@”符号区别于局部变量。
C、不用SELECT语句给变量赋值
D、在批处理或存储过程中使用DECLARE语句声明局部变量6.下面程序的运行结果为(B )
DECLARE @var1 int, @var2 int                  
SET @var1 = 200
SET @var2 = 100
IF @var1 < @var2
PRINT '@var1的值小于@var2的值'         
ELSE
    BEGIN                                  
PRINT '执行SQL语句块'
PRINT '@var1的值大于@var2的值'
      END
GO
A、 @var1的值大于@var2的值
B、 执行SQL语句块
@var1的值大于@var2的值
C、 @var1的值小于@var2的值
D、 @var1的值小于@var2的值
执行SQL语句块
@var1的值大于@var2的值7.下面哪个不是SQL Server数据库中的聚合函数( C)
A、 COUNT
B、 SUM和AVG
C、 CONVERT
D、 MAX和MIN8.下面哪个不是SQL Server2000数据库对象( B)
A、表、视图
B、队列、约束
C、索引、存储过程
D、触发器、约束9.下面哪个不是SQL Server 2000中的系统数据库()
A、master数据库
B、tempdb数据库
C、PetStoreDB数据库
D、model数据库10.关于下面创建数据库的脚本,描述不正确的是( C )
CREATE DATABASE OPCDB
ON
(    NAME = 'OPCDB_Data',
     FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\OPCDB.mdf',
     SIZE = 3MB,
     MAXSIZE = 50MB,
     FILEGROWTH = 10%
)
LOG ON
(    NAME = 'OPCDB_Log',
     FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\OPCDB.ldf',
     SIZE = 2MB,
     MAXSIZE = 5MB,
     FILEGROWTH = 1MB
)
GO
A、 数据库的名称为OPCDB
B、 数据库的数据文件的物理路径为:D:\Microsoft SQL Server\MSSQL\Data\OPCDB.mdf
C、 日志文件可有可无
D、 数据文件的初始大小为3MB11.在SQL语言中删除数据表的命令为(C)
A、DELETE TABLE
B、CREATE TABLE
C、DROP TABLE
D、ALTER TABLE12.下列哪个不是SQLServer数据库约束类型(B)
A、主关键字约束、默认约束
B、外关健字约束、条件约束
C、唯一性约束、默认约束
D、检查约束、外关健字约束13.下表是login表的相关信息 
userName password
first first
second second
代码“select * from login where userName = ‘first’”的执行结果是( C )
A、first first                                   B、second second
second second                                  
C、first first                                   D、first second
代码“select count(*) from login”的执行结果是(  B )
A、1                                  B、2
C、3                                     D、414.关于子查询的描述不正确的是(C)
A、使用IN(或NOT IN)的子查询返回的查询结果是一列零值或更多值。子查询返回结果之后,外部查询可以使用这些结果。
B、子查询可由一个比较运算符引入。比较运算符可以是=、<>、>、<、>=、<=、!>、!<等。
C、使用EXISTS(或NOT EXISTS)关键字引入一个子查询时,就相当于进行一次存在测试。子查询产生查询结果集。
D、使用EXISTS(或NOT EXISTS)关键字引入一个子查询时,子查询实际上不产生任何数据;它只返回TRUE或FALSE值。15.下面关于索引的描述不正确的是( D)
A、索引(Index)是一个单独的、物理的数据库结构。它是根据表中的一列或若干列,按照一定顺序建立的列值与记录行之间的对应关系表。
B、按索引的存储结构的不同可以将索引分为两类:簇索引(Clustered Index)和非簇索引(Nonclustered Index)。
C、根据索引键的组成,还可把索引分为三种类型:唯一索引、复合索引和覆盖索引。
D、一个表可以有多个簇索引和非簇索引16.下面哪个不是操作游标的标准步骤( B) 
A、声明游标、打开游标
B、修改游标属性
C、读取游标中的数据
D、关闭和释放游标17.下面关于视图的描述不正确的是(C) 
A、视图是一个虚表,即视图所对应的数据不进行实际存储
B、修改和删除数据时如涉及到视图的多个基本表时,将会影响多个基本表
C、视图一经定义以后,就可以像基本表一样被查询、修改、删除和更新
D、视图的创建可使用命令CREATE VIEW,查看视图可使用系统存储过程Sp_helptext
18.下面关于存储过程的描述不正确的是(C )
A、用户自定义存储过程是由用户创建并能完成某一特定功能的存储过程。
B、存储过程可以有相关输入输出参数
C、存储过程必须包含输入输出参数
D、使用ALTER PROCEDURE语句修改一个存储过程,使用DROP PROCEDURE语句删除一个存储过程。19. 下面关于触发器的描述不正确的是(C)
A、每张表(视图)只有3种触发器动作,而且一个触发器只能作用在一个表(视图)上。
B、触发器中有两个逻辑表,其中一个逻辑表命名为deleted(删除表),另一个命名为inserted(插入表)
C、当试图从触发器所定义的目标表中删除数据的时候,DELETE触发器被激发,同时,需要删除的数据被放置到inserted表中。
D、当试图插入数据到触发器所定义的目标表中时,INSERT触发器被激发,同时,需要插入到目标表中的数据被放置到inserted表中。20.下面哪个不是数据库中事务的基本特征(D)
A、原子性
B、一致性
C、隔离性
D、安全性二、填空题
1. ROLLBACK TRANSACTION的意思是回滚事务。
2. 三种不同类型的触发器分别为: inse触发器,delete触发器,update触发器。
3. ALTER TABLE命令用于修改数据表结构。
4. 用ORDER BY来进行查询时,其排序方式有ASC和DESC。
5. 数据管理的发展经历了手工阶段、文件系统、和数据库三个阶段。
6. 数据操纵语言(DML)包括SELECT、INSERT、UPDATE、DELETE四种类型。三、判断题
1.SQL Server登录所使用的身份验证模式包括Windows验证模式和混合模式(Widndows身份验证和SQL Server身份验证)。                                                      (  T  )
2.使用UNION 组合两个查询的结果集的两个基本规则是:所有查询中的列数和列的顺序必须相同; 数据类型必须兼容。                                           ( T  )
3. 回滚事务的命令为COMMIT  TRANSACTION                          (  F  )
4.备份是数据库定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。                 ( T )
5.数据转换服务(DTS)提供了在SQL Server与OLE DB、ODBC数据源或文本文件格式之间导入、导出和转换数据的功能。                                         ( T )
                                                                         
四、程序设计题
1、下表为数据表Register的相关信息,请写出创建该表的语句(PK代表主键)
字段名 数据类型 长度 允许空
Id(PK) int 8
Username varchar 20 √
password varchar 20 √
CREATE TABLE  Register (2分)
(
     Id  int(8)  not null,
     Username varchar(20) null,
 Password varchar(20) null 
)
为字段id添加主键约束的命令为:
Alter table Register
Add constraint pk_Register
Primary key(Id)2、根据下表完成任务:(PK代表主键)
stuId(PK) sName classId professional
IIIT001 zhangsan IIIT20501 software
IIIT002 lisi IIIT20501 software
IIIT003 wangwu IIIT20501 software
IIIT004 zhaoliu IIIT20501 software
                              表StudentInfo
(1) 请找出stuId为IIIT003的学生信息:
Select *
From StudentInfo
Where stuId=’IIIT003’(2) 在字段stuId上创建索引:
Create index index_stuId 
on StudentInfo(stuId)
WITH  PAD_INDEX,DROP_EXISTING
ON [PRIMARY]
(3) 创建视图查询学生的stuId和sName: 
CREATE VIEW VW_stuId_sName
SELECT stuID,sName
From StudentInfo
(4) 创建存储过程,通过输入stuId对应的学生id号码,输出sName(学生姓名)创建存储过程
CREATE PROCEDURE pro_inid_out_sName
@stuId varchar(10),sName vachar(10) OUTPUT
As
Begin
Select @sName=sName 
from StudentInfo
where stuId=@stuId
end调用存储过程
declare @sName varchar(10)
execute pro_inid_out_sName ‘IIIT001’,@sName output