SQL习题有答案1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL习题有答案1
[一、选择
1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(_B__)
A、只存在一对多的实体关系,以图形方式来表示。
B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C、能体现一对多、多对多的关系,但不能体现一对一的关系。
D、关系模型数据库是数据库发展的最初阶段。
2、( A )如果要让Windows NT/2000和UNIX用户能够同时访问SQL Server,并且在管理
用户上要尽可能省事,则应选择哪种验证模式?
A.混合验证模式
B.NT验证模式
C.多协议验证模式
D.同时使用混合验证模式和NT验证模式
3、( B )以下哪种角色只允许用户选择数据库中的所有数据
A.db_ower B.db_datareader C.db_datawriter D.db_ddladmin
4、( C)下列哪种数据类型上不能建立IDENTITY列?
A.int
B.tiny int
C. float
D.small int
5、(B)在“连接”组中有两种连接认证方式,其中在什么方式下,需要客户端应用程
序连接时提供登录时需要的用户标识和密码。
A、Windows身份验证
B、SQL Server 身份验证
C、以超级用户身份登录时
D、其他方式登录时
6、以下D方法可以在/doc/42480763.html,的记录集中新增一条记录
A.Add B.Insert C.New D.AddNew
7、当采用Windows认证方式登录数据库服务器时,SQL Server 客户端软件会向操作系统请
求一个(A )。
A. 信任连接
B. 邮件集成
C. 并发控制
D. 数据转换服务
8、下列标识符可以作为局部变量使用( C )。
A. [@Myvar]
B. My var
C. @Myvar
D. @My var
9、Transact-SQL支持的程序结构语句中的一种为(A)。
A. Begin…End
B. If…Then…ELSE
C. Do Case
D. Do While
10、不属于SQL Server系统全局变量的是(D)。
A. @@Error
B. @@Connections
C. @@Fetch_Status
D. @Records
11、属于事务控制的语句是( A )。
A. Begin Tran、Commit、RollBack
B. Begin、Continue、End
C. Create Tran、Commit、RollBack
D. Begin Tran、Continue、End
12、可以在创建表时用(A_)来创建唯一索引。
A、设置主键约束,设置唯一约束
B、Create table,Create index
C、设置主键约束,Create index
D、以上都可以
13、(B )下列哪一种备份方式只备份了自上次备份操作发生后重新发生改变的数据?
A.全数据备份
B.差异备份
C.日志备份
D. 文件和文件组备份
14、(B)要使用一个返回记录的存储过程,并把结果返回到DataSet中,在设置
DataAdapter对象的属性SelectCommand时,应把存储过程名赋给哪个属性?
A. Connection
B. CommandText
C. CommandType
D. Result
15、(D )下面哪些操作可以用DataReader对象来实现?
A. 添加
B. 删除
C. 更改
D. 查询表的数据
16、(D )关于DataSet对象不正确的描述是?
A. DataSet可以包括多个DataTable
B. 使用DataRelation表示表之间的关系
C. DataTable由DataColumn和DataRow组成
D. 使用DataRow和DataColumn访问表中的值
17、( C )有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成
的字符串,这一规则属于
A 实体完整性约束
B 参照完整性约束
C 用户自定义完整性约束
D 关键字完整性约束
18、(A )Transact-SQL对标准SQL的扩展主要表现为。
A. 加入了程序控制结构和变量
B. 加入了建库和建表语句
C. 提供了分组(Group By)查询功能
D. 提供了Min、Max等统计函数
19、(D )在MS SQL Server中,用来显示数据库信息的系统存储过程是
A sp_ dbhelp
B sp_ db
C sp_ help
D sp_ helpdb
20、(A )哪个数据库拥有sysuser表?
A.所有数据库
B.所有用户题:创建的数据库
C.master数据库
D.该表保存在注册表中
21、SQL Server触发器主要针对下列语句创建(B)。
A. SELECT、INSERT、DELETE
B. INSERT、UPDATE、DELETE
C. SELECT、UPDATE、INSERT
D. INSERT、UPDATE、CREATE
22、下列SQL Server语句中出现语法错误的是( D)。
A. DECLARE @Myvar INT
B. SELECT * FROM [AAA]
C. CREATE DATABASE AAA
D. DELETE * FROM AAA
23、索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加
快数据的(D )速度。
A. 插入
B. 修改
C. 删除
D. 查询
24、如果希望完全安装SQL Server,则应选择( C )。
A. 典型安装
B. 最小安装
C. 自定义安装
D. 仅连接
25、要想使SQL Server数据库管理系统开始工作,必须首先启动( A )。
A. SQL Server服务器
B. 查询分析器
C. 网络实用工具
D. 数据导入和导出程序
26、Transact-SQL对标准SQL的扩展主要表现为( A )。
A. 加入了程序控制结构和变量
B. 加入了建库和建表语句
C. 提供了分组(Group By)查询功能
D. 提供了Min、Max等统计函数
27、SQL Server2000的物理存储主要包括3类文件( A)。
A. 主数据文件、次数据文件、事务日志文件
B. 主数据文件、次数据文件、文本文件
C. 表文件、索引文件、存储过程
D. 表文件、索引文件、图表文件
28、当数据库损坏时,数据库管理员可通过何种方式恢复数据库(A)。
A. 事务日志文件
B. 主数据文件
C. DELETE语句
D. 联机帮助文件
29、SQL Server系统中的所有系统级信息存储于哪个数据库( A)。
A. master
B. model
C. tempdb
D. msdb
30、下面关于tempdb数据库描述不正确的是( D )。
A. 是一个临时数据库
B. 属于全局资源
C. 没有权限限制
D. 是用户建立新数据库的模板
二、填空
1.服务管理器是用来_启动______、停止和_____暂停服务的。
这些服务在
Windows NT/2000下也可以通过控制面板的服务项来启动或停止。
2.在“开始”菜单的Microsoft SQL Server程序中选择Enterprise Manager即可启动__
企业____管理器。
3.SQL Server客户机传递到服务器上的一组完整的数据和SQL语句称为批处
理。
4.SQL Server中的数据类型主要包括__数值______、_字符_______、
_日期时间_______、
二进制、位和双字节等类型。
5.SQL Server提供的最常用的管理工具是___企业管理器___________和______查询分析
器________。
6.SQL Server是运行在_ windows_________操作系统平台上的、逻辑模型为__关系______
型数据库管理系统。
7.在一个已存在数据的表中增加一列,一定要保证所增加的列允许_ Null(空)_______值。
8.对表中记录的维护工作主要有增加、__删除______和__修改______操作,均可通过企业
管理器或Transact-SQL语句完成。
9.SQL Server提供四种备份和恢复的方式:___全________备份、_____差异______备份、
__日志_________备份和文件或文件组备份。
10.SQL Server中权限的管理划分为两个级别上实现,一个是服务级的__角色_____,另一
个是数据库级的__角色_____。
11.SQL Server中的触发器可以分为___ INSERT_________触发器、UPDATE___________
触发器和____DELETE ________触发器三种。
12.假定利用CREATE TABLE命令建立如下一个表:BOOK(总编号C(6),分类号C(3),书
名C(16),单价N(10,2)),则单价字段的类型为_ _____型,字段宽度为_10_______,其中包含有_____2_____位小数。
13.在Transact-SQL语句中需要把日期时间型数据常量用___单引号_______括起来。
14.找回被删除表的惟一方法是事先做好数据库的备份工作。
15.可以将视图理解为存储在SQL Server数据库中的一条经过预
编译
的 select 语句。
16.索引是一种常用的改善数据库性能的技术。
三、写出下列每条查询语句
习题四1-11题
四、分析编程题
数据库“DB1”,其中有数据表“Employee”和“Company”,表结构如下。
Employee(职工)表
字段名类型长度主键说明
EmpID int 4 √职工编号
EmpName varchar 8 职工姓名
DeptID int 4 所在部门编号
Sex bit 1 性别(1-男;0-女)
ServiceYear int 4 工龄
Wage money 8 基本工资
Depts(部门)表
字段名类型长度主键说明
DeptID int 4 √部门编号
DeptName varchar 30 部门名
Phone varchar 10 部门电话
1、编写存储过程FindEmployee,根据给出的姓名查询职工信息,如果没找到,产生错误:
“职工xxx不存在”(这里的xxx是要查的职工的姓名)
create proc FindEmployee
(@EmpName varchar(8))
as
select*
from Employee
where EmpName=@EmpName
if @@rowcount=0
begin
raiserror(‘职工xxx不存在!’,15,1)
return -1
end
go
exec FindEmployee‘xxx’
2创建触发器以保证Employee表中的数据始终满足以下完整性:
(1) 部门必须存在(即 DeptID必须在Depts表中存在)
(2) 修改职工信息时,工龄每次只能加一。
依次写出完成以下功能的/doc/42480763.html,程序段
(1)在DB1中有根据部门编号查询部门是否存在的存储过程CheckDeptID定义如下:CREATE PROCDURE CheckPratID ( @DeptID int
)
AS
IF EXISTS(SELECT * FROM Dept WHERE DeptID=@DeptID)
RETURN 0
ELSE
RETURN –1
请编写/doc/42480763.html,代码段,调用该存储过程查找是否存在编号为4 的部门,并用消息框(MessageBox)显示查找结果。
4、将工龄满5年的职工的信息读取到数据集(DataSet)对象dsEmp中。
Imports System.Data.SqlClient
Dim sqlcon As New SqlConnection()
sqlcon.ConnectionString = "data source=(local); initial catalog='DB1'; integrated security=sspi"
Dim sqlda As New SqlDataAdapter("select * from employee where serviceyear=5", sqlcon)
Dim dsEmp As New DataSet()
sqlda.Fill(dsEmp, "employee")
5、在数据集dsEmp中查询并用消息框显示“王一平”的基本工资。
Dim dt As DataTable=dsEmp.Tables("employee")
Dim dr As DataRow
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
dr = dt.Rows(i)
If (dr("EmpName") = "王平一") Then
MessageBox.Show("王平一的工资为" + dr("Wage"))
End If
Next
6、为数据集(DataSet)对象dsEmp创建一个数据视图(DataView)对象dv,按下表将dv 绑定到控件上。
字段控件名控件类型
EmpID lblID Label
EmpName txtName TextBox
BirthDay txtBitrh T extBox
Dim dv As DataView = dt.DefaultView
lblid.DataBindings.Add("text", dv, " EmpID")
txtname.DataBindings.Add("text", dv, " EmpName")
txtbitrh.DataBindings.Add("text", dv, " BirthDay")。