SQL Server 2008中文版基础教程测试题(二套)答案

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

SQL Server 2008基础教程测试题(二套)一填空题(每题2分,共24分)
1.SQL Server 2008的实例是一套完整的服务程序,实例中的服务程序多达几百个,大致
可以分为SQL Server数据库引擎、SQL Server代理和Distribute Transaction Coordinator 3类。

2.描述数据文件的大小有初始尺寸、最大尺寸和自动增长尺寸3种。

3.对表操作的数据定义语言(DDL)有创建表的create table语句、修改表结构的alter table
语句和删除表的drop table语句。

4.对表中数据更新操作的数据定义语言(DML)有添加记录的update语句和删除记录的
delete语句。

5.存在两个表A和B,表A中的主键列在表B中也存在,但并不是表B的主键,仅作为
表B的一个必要的属性,则称此属性为表B的外键。

6.SQL Server提供了专为分组统计使用的、与where子句功能类似的having子句对分组
统计结果进行筛选。

7.视图中的数据不会作为真实的对象存储在磁盘上,数据库对视图存储的是定义视图的查
询语句。

8.自然联接是指在内联接查询的select子句中出现的列名,虽然来自于不同的表,但列名
不重复,“表别名.列名”的可以简写为“列名”。

9.在自联接查询中,虽然,数据来源是同一个表,但需要作为不同角色来参与查询,必须
为表定义不同角色的别名。

10.右联接的含义是指两个存在关联关系的表A和B,表A与表B右联接的查询结果为C。

C的列可以来自于A和B的列,C的记录中可以包括表B的全部记录以及表A中与表B满足关联条件的记录,C中B与A不能够满足关联条件部分为空值。

11.SQL Server中有3种数据库备份对象:数据库、仅备份数据文件和事务日志文件和指定
的文件和文件组。

12.数据库的备份有两种方式:完全备份和差异备份。

二选择题(每题2分,共16分)
1.在【Management Studio】中第一次使用SQL Server实例时需要做(B)操作。

A.创建服务器组
B.创建服务器组和注册实例
C.注册实例
D.选择并连接本地实例或网络实例。

2.SQL Server的数据文件可以分为(B)。

A.重要文件和次要文件
B.主要数据文件和次要数据文件
C.初始文件和最大文件
D.初始文件和增长文件
3.如果表的某一列的取值为不固定长度的字符串,适合采用(C)数据类型描述。

A.char
B.number
C.varchar
D.int
4.如果将某一列设置为表的主键,在表中此列的值(C)。

A.可以出现重复值
B.允许为空值
C.不允许为空值,也不能出现重复值
D.不允许为空值,但允许列值重复
5.“成绩between 10.5 and 99.5”相当于下列哪个逻辑表达式(D)。

A.成绩>=10.5 and成绩<99.5
B.成绩>10.5 and成绩<99.5
C.成绩>=10.5 or 成绩<=99.5
D.成绩>=10.5 and成绩<=99.5
6.下面语句中,哪种语句用来创建视图(D)。

A.create table
B.alter view
C.drop view
D.create view
7.下列哪个命令是还原数据库的命令。

(C)
A.cmdshell
B.backup database
C.restore database
D.bcp
8.下列哪个联接谓词的含义是指根据指定子查询的结果是存在还是不存在,进一步决定是
否执行查询操作。

(D)
A.all
B.any
C.in
D.exists
三判断题(每题2分,共10分)
1.一条T-SQL语句不能构成批处理程序。

(✉对、☑错)
2.一个表只允许有一个索引。

(✉对、☑错)
3.having子句可以实现where子句额功能,但where子句不能实现having子句的功能。

(☑对、✉错)
4.如果视图中的列直接来源于表的某列,可以直接使用数据源表的列名和数据类型。

(☑对、✉错)
5.向SQL Server数据库中导入数据的同时可以创建表。

(☑对、✉错)
四简答题(每题3分,共30分)
1.简述SQL Server实例的身份验证模式有哪几种?
答案:
SQL Server实例的用户允许与Windows操作系统的帐户紧密结合,提供两种身份验证模式,一种是“Windows身份验证模式”,另一种是“SQL Server身份验证模式”。

对于“Windows身份验证模式”,只要以Administrator身份登录Windows操作系统就可以连接SQL Server数据库实例。

如果选择“SQL Server身份验证模式”,在使用的时候,除了登录Windows操作系统外,还需要以数据库管理员sa或其它数据库用户身份登录数据库,才能连接SQL Server 数据库实例。

“混合模式”允许在登录实例时,使用任何一种方式。

2.简述什么是数据文件的逻辑名称和操作系统名称?
答案:
每一个数据文件都有一个惟一的标识,这个标识就是数据文件的“逻辑名称”,而“操作系统文件名”是数据文件在硬盘上的存放路径和文件名的统称。

3.简述create table、alter table和drop table语句的语法。

create table语句的语法:
create table 表名

列名数据类型是否允许为空值,
列名数据类型是否允许为空值,
……
列名数据类型是否允许为空值

各列之间用“,”隔开
alter table语句语法:
(1)修改列的数据类型
alter table 表名
alter column 列名数据类型NULL/NOT NULL
(2)为表增加列
alter table 表名
add 列名数据类型NULL/NOT NULL
(3)删除表中的列
alter table 表名
drop column 列名
drop table语句的语法:
drop table 表名
4.简述在create table语句和alter table语句中定义外键或关系的语法。

答案:
在create table语句中定义关系,只要在外键列的后面加上以下说明即可。

constraint 关系名foreign key references 主键表(主键列)
其中“关系名”的格式为:
FK_外键表名_主键表名
alter table语句中定义关系的语法:
alter table 表名
add foreign key (列名) references 主键表(主键列)
5.简述常用函数distinct、case…when…、convert和substring的语法。

答案:
(1)like模糊查询的通配符的含义:
%:包含零个或多个字符的任意字符串
_:任意单个字符
(2)between…and…的含义
列名between最小值and最大值:相当于最小值≤列名≤最大值6.简述在查询语句中having子句的含义和语法。

答案:
使用having子句对分组统计结果进行筛选的语法如下所示。

select 列名列表,
聚合函数(列名/表达式),
….
聚合函数(列名/表达式)
from 表名
group by 列名列表
having 聚合函数构成的关系表达式/逻辑表达式
7.简述create view语句的语法。

答案:
create view 视图名
as
select 列名,列名…
from 表名
8.简述restore database语句的语法。

答案:
(1)restore database语句还原整个数据库的语法规则:
restore database 数据库名
from 备份设备名
(2)restore database语句还原指定文件的语法规则:
restore database 数据库名
file=‘数据文件逻辑名’,
file=‘数据文件逻辑名’,
……
from 备份设备名
(3)restore database语句还原指定文件组的语法规则:
restore database 数据库名
filegroup=‘文件组名’,
filegroup=‘文件组名’,
……
from 备份设备名
(4)restore database语句还原事务日志的语法规则:
restore log 数据库名
from 备份设备名
9.简述什么是备份设备?
答案:
备份设备是磁带机或磁盘上的文件。

“磁盘备份设备”是硬盘或其他存储媒体上的文件,与操作系统的文件一样。

引用磁盘备份设备与引用任何其他操作系统文件一样。

可以在服务器的本地磁盘上或共享网络资源的远程磁盘上定义磁盘备份设备,磁盘备份设备根据需要可大可小。

最大文件的大小可以相当于磁盘上可用的磁盘空间。

1.简述将表中的数据导出为Excel文件的基本流程。

答案:
在【Management Studio】管理平台中以“导出数据”菜单项启动【数据转换服务导入/导出向导】。

在【选择数据源】对话框中选择作为源数据的数据库,并选择身份验证模式。

在【选择目的】对话框的【目的】下拉列表框中选择“Excel 97-2000”,在【文件名】文本框中输入Excel文件的路径和名称。

在【指定表复制或查询】对话框中选择“从源数据库复制表或视图”。

在【选择表和视图】对话框中选择要导出的表。

在【保存、调度和复制包】对话框中选择“立即运行”。

完成向导提示的其他选项。

五应用题(每题5分,共20分)
1.按下列要求用create database语句创建“运动商品销售数据库”,并为数据库创建“商
品信息表”和“商品销售统计表”
表1 “运动商品销售数据库”的数据文件和事务日志文件
表2 “商品信息表”的数据结构
表3 “商品销售记录表”的数据结构
答案:
create database 运动商品销售数据库
on primary
( name=Pri_商品销售,
filename='D:\DataFile\Pri_商品销售.mdf',
size=2MB,
maxsize=10MB,
filegrowth=1MB
)
log on
( name=LF_商品销售,
filename='d:\LogFile\LF_商品销售.ldf',
size=2MB,
maxsize=10MB,
filegrowth=1MB
)
create table 商品信息表
(商品标识 char(3) not null,
商品名称 varchar(20),
产地 varchar(50),
进货价 decimal(18,2))
create table 商品销售记录表
(商品标识 char(3) not null,
销售日期 datetime,
销售价格 decimal(18,2))
2.按下表所示的内容用insert语句向“商品信息表”和“商品销售统计表”中插入记录。

表4 “商品信息表”记录
表5 “商品销售记录表”记录
insert into 商品信息表(商品标识,商品名称,产地,进货价)
values('101','乒乓球拍','广州',120.00)
insert into 商品信息表(商品标识,商品名称,产地,进货价)
values('102','羽毛球拍','深圳',360.00)
insert into 商品信息表(商品标识,商品名称,产地,进货价)
values('103','网球拍','江苏',560.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('101','20060601',150.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('101','20060602',150.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('102','20060601',400.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('102','20060602',400.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('102','20060603',400.00)
insert into 商品销售记录表(商品标识,销售日期,销售价格)
values('103','20060601',600.00)
insert into 商品销售统计表(商品标识,销售日期,销售价格)
values('103','20060602',600.00)
3.从“商品销售记录表”中按商品标识分类统计各商品的总售价、销售数量和平均售价,
并按平均售价由高到低排序。

答案:
select 商品标识,
sum(销售价格) as 总售价,
count(销售日期) as 销售数量,
avg(销售价格) as 平均售价
from 商品销售记录表
group by 商品标识
order by avg(销售价格) desc
4.对“商品信息表”和“商品销售记录表”联接查询,显示每笔销售记录的利润,要求显
示商品名称、销售日期、销售价格、进货价和利润。

select B.商品名称,
A.销售日期,
A.销售价格,
B.进货价,
A.销售价格-
B.进货价 as 利润from 商品销售记录表 A
left join 商品信息表 B
on A.商品标识=B.商品标识。

相关文档
最新文档