SQL Server 数据库试题与答案B卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《SQL Server 数据库》B卷系别:________班级:________学号:________姓名:________
1.本试卷为闭卷考试。

2.考试时间:120分钟
3.本试卷满分:100分
4.试卷适用班级:09高职软件技术班
一、单选题:(共2分,共30题,每小题的四个备选项中,只有一项是正确的,不选,错选均不得分)
1、Microsoft SQL Server是一种基于客户机/服务器的关系型数据库管理系统,它使用( B )语言在服务器和客户机之间传送请求。

A)TCP/IP B)T-SQL
C)C D)ASP
2、( A )是一个图形界面的查询工具,用它可以提交T—SQL语言,然后发送到服务器,并返回执行结果,该工具支持基于任何服务器的任何数据库连接。

A)SQL Server Management Studio B)事件探查器
C)SQL管理对象D)DTS
3、( A )是用于存储、处理和保护数据的核心组件。

A)数据库引擎B)集成服务
C)报表服务D)通知服务
4、( A )是一个具有访问网络资源权限的Windows操作系统账户。

A)本地系统账户B)网络服务账户
C)本地服务账户D)域用户账户
5、数据库系统中负责数据库系统的建立、维护和管理的人员是( D )
A)最终用户 B)应用程序员
C)系统分析员 D)数据库管理员
6、数据库设计过程中,( C )将E—R图转换为关系模式并进行关系规范化。

A)需求分析阶段 B)概念结构设计阶段
C)逻辑结构设计阶段D)物理结构设计阶段
7、强制关系中的主属性不能为空,满足以下( A )
A)实体完整性B)参照完整性
C)用户定义完整性D)域完整性
8、数据库设计规范化的第三范式除了要满足第一、第二范式外,还要满足( C )A)每个记录的列只能有一个值
B)所有非主键列的值都只能由主键列中决定
C)每个非主键列都必须可以从构成主键的全部的列得到
D)没有冗余数据
9、用于存储数据库表和索引等数据库对象信息的文件为(A)
A)主数据文件B)事务日志文件
C)文本文件D)图像文件
10、主键约束是非空约束和( D )的组合。

A)检查约束B)NULL约束C)非主键约束D)惟一性约束
11、下面( B )语句是数据库操纵语句。

A)CREATE B)UPDATE C)SELECT D)GRANT
12、下面(A)子句是用来创建视图的。

A)CREATE VIEW B)CREATE TABLE
C)ALTER VIEW D)ALTER TABLE
13、( D )语句的作用是将程序的流程控制无条件的转移到指定的标号处。

A)IF ELSE语句B)WHILE语句
C)RETURN语句D)GOTO语句
14、下列( C )不属于SQL Server 2005在安装时创建的系统数据库。

A)master B)mdb C)userdb D)tempdb
15、下列关于主键的描述中,不正确的是( D )
A)主键能够惟一地标识表中的每一行
B)主键列的值不允许空值
C)一个表中允许在多个列的组合上创建一个主键
D)一个表中允许创建多个主键
16、DELETE命令可以删除( B )
A)表结构B)所有记录C)数据库D)约束
17、下列( A )语句用于向表中插入一行记录。

A)INSERT… VALUES B)INSERT… SELECT
C)UPDATE D)DELETE
18、在T—SQL语句中,日期时间型常量需要用( D )符号引用。

A)@ B)@@ C)## D)’’
19、下列不属于SQL Server 2005的全局变量的是(A)
A)@system B)@@error
C)@@connections D )@@fetch_status
20、T—SQL使用( C )符号表示单行注释
A)/* B)?C)- - D)/
21、要查询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 产品名称= ‘冰箱’
22、ORDER BY子句的作用是( D )
A)分组查询B)限定返回行的查询条件
C)明细汇总查询D)对结果集排序
23、关于存储过程的描述中,错误的选项是( D )
A)存储过程是SQL Server 服务器上一组预编译的T_SQL语句。

B)如果存储过程是批处理的第一条语句,可以省略EXECUTE命令
C)以sp_开头的系统存储过程存储在master数据库中
D)存储过程只能接受参数,不能返回输出参数
24、SQL Sserver2005对表执行数据操纵时,首先执行下列( A )对象。

A)INSTEAD OF 触发器B)主键约束
C)检查约束D)AFTER触发器
25、数据库设计的三个阶段中不包括(D)
A)概念结构设计B)逻辑结构设计
C)物理结构设计D)E-R图设计
26、在SQL Server 2005中,利用( D )工具可以配置SQL Server服务和网络连接。

A)SQL Server外围应用配置器 B)SQL Server Management Studio
C)SQL Server Profiler D)SQL Server配置管理器
27、你是公司的SQL server数据库管理员。

你管理一个数据库,其中有一个产品表Products,记
录公司的产品信息,你想删除过期的产品信息,应该用( D )语句。

A)select B)insert C)update D)delete
28、在SQL Server 2005 数据库系统中,管理员想查询test表中的所有记录,并按表中的T-id字
段升序排列,下列查询语句( B )能实现这一功能。

A)Select * from test order by T_id desc B)Select * from test order by T_id asc
C)Select * from test group by T_id desc D)Select * from test group by T_id asc
29、你是公司的SQL Server 数据库管理员。

你管理一个数据库,其中有一个产品表products,记
录公司的产品信息。

你想添加新产品信息到products 表中,应该用( B )语句。

(A)select (B)insert (C)update (D)delete
30、在SQL Server 2005数据库中有如下所示的“学生信息表”stud_info,要查找该表中出生日期
(Birthday)在1987年1月1日以前且入学成绩(Mark)低于500,以及入学成绩高于560而不考虑出生日期的学生,需要执行下面( C )查询语句。

a)SELECT Name FROM stud_info WHERE Birthday>’01/01/1987’AND(Mark<500 OR Mark>560)
b)SELECT Name FROM stud_info WHERE Birthday>’01/01/1987’AND Mark<500 AND Mark>560
c)SELECT Name FROM stud_info WHERE Birthday>’01/01/1987’AND Mark<500 OR Mark>560
d)SELECT Name FROM stud_info WHERE Birthday>’01/01/1987’AND Mark BETWEEN 500 AND
560
二、填空题:(每空1分,共10分)
1、SQL Server 2005支持两种登录模式,一种是(windows身份验证模式),另一种是(SQL Server 身份验证)。

2、索引按是否与数据库的物理存储顺序相同分为(聚集牵引)和(非聚集索引)两种类型。

3、根据返回值的不同,用户定义的函数的分为两种类型(标题值函数)、(表值函数)
4、游标包含(游标结果集)和(游标位置)两部分。

5、SQL Server为每一个触发器都创建了两张专用表它们是(inserted表)和(deleted表)。

三、程序题(每题15分,共30分)
1、使用Transact—SQL语言创建分销系统数据库,创建两个表:
客户资料(客户编码,客户名称,联系人,电话,传真,地址,送货地址)
销售订单(销售订单号,日期,客户编码,客户名称,联系人,联系电话,送货地址,总金额,备注)。

客户资料表中客户编码为主键,其他信息都不允许为空。

通过客户编码与销售订单表形成一个一对多的关系,销售订单表中的总金额默认值为0,但必须大于0。

CREATE DATABASE 分销系统
use 分销系统
go
create table 客户资料

客户编码varchar(20) NOT NULL PRIMARY KEY,
客户名称varchar(100) NOT NULL ,
联系人varchar(20) NOT NULL,
电话varchar(50) NOT NULL,
传真varchar(50) NOT NULL
地址varchar(200) NOT NULL,
送货地址varchar(200) NOT NULL
)
go
create table 销售订单
(
销售订单号varchar(20) NOT NULL PRIMARY KEY,
日期datetime NOT NULL,
客户编码varchar(20) NOT NULL FOREIGN KEY REFERENCES 客户资料(客户编码),
客户名称varchar(100) NOT NULL,
联系人varchar(20) NOT NULL,
联系电话varchar(50) NOT NULL,
送货地址varchar(200) NOT NULL,
总金额numeric(12,4) NOT NULL DEFAULT (0) CHECK (总金额>0),
备注varchar(500) NOT NULL
)
go
2、在分销系统数据库中,有以下两张表:
销售订单(销售订单号,日期,客户编码,联系人,联系电话,送货地址,总金额,备注)。

销售订单明细(销售订单号,序号,商品编码,商品名称,规格型号,单位,数量,单价,金额,备注)
使用Transact—SQL语言为销售订单明细表创建一个触发器,无论该表的新增、修改或删除记录都能保证记录中的金额为数量和单价的乘积,同时其相应的销售订单主表中的总金额也能保持准确。

CREATE TRIGGER xsddmxb
on 销售订单明细表 for insert, update, delete
as
begin
update 销售订单明细表set 金额=isnull(单价,0) *(isnull(数量,0))
where 销售订单号in (select 销售订单号from inserted)
and 序号in (select 序号from inserted where 销售订单号=销售订单明细表.销售订单号) update 销售订单set 总金额=(select sum(金额) from 销售订单明细表
where 销售订单号in (select 销售订单号from inserted))
where 销售订单号in (select 销售订单号from inserted)
update 销售订单set 总金额=isnull((select sum(金额) from 销售订单明细表
where 销售订单号in (select 销售订单号from deleted)), 0)
where 销售订单号in (select 销售订单号from deleted)
end。

相关文档
最新文档