SQL Server2005数据库应用技术

更新时间:2023-06-11 01:52:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《SQL Server2005数据库应用技术》习题参考答案

习题 1

一、选择题

1.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B )。

A. 命令的集合

B. 数据的集合

C. 程序的集合

D. 文件的集合

2.支持数据库的各种操作的软件系统是(D )。

A. 数据库系统

B. 文件系统

C. 操作系统

D. 数据库管理系统3.(C )由计算机硬件、操作系统、数据库、数据库管理系统以及开发工具和各种人员(如数据库管理员、用户等)构成。

A. 数据库管理系统

B. 文件系统

C. 数据库系统

D. 软件系统

4.在现实世界中客观存在并能相互区别的事物称为(A )。

A. 实体

B. 实体集

C. 字段

D. 记录

5.在数据库设计的需求阶段中,业务流图一般采用(B )表示。

A. 程序结构图

B. 数据流图

C. 程序框架

D. E-R图

6.在数据库设计的(B )阶段中,用E-R图来描述信息结构。

A. 需求分析

B. 概念结构设计

C. 逻辑结构设计

D. 物理结构设计1.SQL Server2005的操作中心是(A )。

A. Management Studio

B. Enterprise Management

C. Visual 2005

D. 查询编辑器窗口2.注册至某服务器,表示该服务器(B )。

A. 已启动但未连接

B. 已启动并且已连接

C. 还未启动

D. 还未连接

3.对于大型企业而言,应该采用(A )版本的SQL Server2005。

A. 企业版

B. 工作组版

C. 开发者版

D. 精简版

1.一个数据库至少有(A )个文件。

A. 2

B. 3

C. 4

D. 5

2.若要使用多个文件,为了便于管理,可以使用(B )。

A. 文件夹

B. 文件组

C. 复制数据库

D. 数据库脱机

3.在SQL Server中,用来显示数据库信息的系统存储过程是(D )。

A. sp_dbhelp

B. sp_db

C. sp_help

D. sp_helpdb

4.在SQL Server中,下列关于数据库的说法正确的是(B )。

A.一个数据库可以不包含事务日志文件

B.一个数据库可以只包含一个事务日志文件和一个数据库文件

C.一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件

D.一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件

1.在Transact-SQL语句中,删除表中数据的命令是(A)。

A.DELETE B.DROP C.CLEAR D.REMOVE

2.在SQL Server2005中,更新表中数据的命令是(C )。

A.USE B.SELECT C.UPDATE D.DROP

3.以下关于外键和相应的主键之间的关系的说法中,正确的是(A )。

A.外键不一定要与相应的主键同名

B.外键一定要与相应的主键同名

C.外键一定要与相应的主键同名而且唯一

D.外键一定要与相应的主键同名,但并一定唯一

4.在Transact-SQL语句中,修改表结构时应使用的命令是(C )。

A.UPDATE B.INSERT C.ALTER D.MODIFY

5.要限制输入到列中的值范围,应使用(A )约束。

A.CHECK B.PRIMARY KEY C.FOREIGN KEY D.UNIQUE

1.在Transact-SQL语句中,条件“年龄BETWEEN 15 AND 35”表示年龄在15岁至35岁之间,且(A )。

A.包括15岁和35岁B.不包括15岁和35岁

C.包括15岁但不包括35岁D.包括35岁但不包括15岁

2.下列聚合函数中正确的是(C )。

A.SUM(*) B.MAX(*) C.COUNT(*) D.A VG(*)

3.查询员工工资信息时,结果按工资降序排列,下列语句中正确的是(B )。

A.ORDER BY 工资B.ORDER BY 工资DESC

C.ORDER BY 工资ASC D.ORDER BY 工资DISTINCT

4.在SQL Server2005中,下列关于通配符的操作中,范围最大的是(D )。

A.sname LIKE …abc#?B.sname LIKE …abc_d%? C.sname LIKE …abc%?D.sname LIKE …%abc%?5.“SELECT 工号FROM 员工表WHERE 工资>1250”的功能是(D )

A.查询工资大于1250元的记录

B.查询1250号记录后的记录

C.检索所有的职工号

D.从“职工”关系中检索工资大于1250元的职工号

1.关于触发器,下列说法错误的是(B )。

A.触发器是一种特殊类型的存储过程

B.DDL触发器包括INSERT触发器、UPDA TE触发器、DELETE触发器等基本触发器

C.触发器可以同步数据库中相关数据表,进行级联更改

D.DDL触发器和DML触发器可以通过CREATE TRIGGER语句来创建,都是为了响应事件而被激发的。

2.可以响应INSERT语句的触发器是( A )。

A.INSERT触发器B.DELETE触发器C.UPDATE触发器D.DDL触发器

3.可以响应CREATE TABLE语句的触发器是(D )。

A.INSERT触发器B.DELETE触发器C.UPDATE触发器D.DDL触发器

1.在Transact-SQL语言中变量分为___局部变量______和_____全局变量____。

2.以____@@_________符号开头的变量为全局变量。

3.SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是MAX、__ MIN _____、____ SUM____、A VG和COUNT。

1.视图是一种常用的____数据库对象______。

2.视图可以看成是从一个或几个_____基本表_____导出的虚表或存储在数据库中的查询。

3.数据库中只存放视图的___定义_________,而不存放视图对应的__数据_________,数据存放在原来的__基本表______中,当基本表中数据发生变化时,从视图中查询出的数据_____也会随之变化(或是最新数据)____________。

1.在正式创建一个索引之前,通常需要从___数据库_____、___查询_______和____索引_____这3个方面进行考虑。

2.在一般情况下,当对数据进行__修改_____时,会产生索引碎片,索引碎片会降低数据库系统的性能,通过_____查询编辑器窗口_____使用系统函数,可以检测索引中是否存在碎片。

3.在数据表中创建主键约束时,会自动产生___唯一性的聚集______索引。

4.可以使用____ CREATE INDEX语句_____创建独立于约束的索引。

1.存储过程在第一次执行时进行编译,并将结果存储在_____数据库服务器______中,用于以后调用。2.存储过程是SQL Server2005中封装的__ Transact-SQL语句_________,包括3种类型,分别是___系统

存储过程________、__用户自定义存储过程________和____扩展存储过程________。

3.存储过程有多种调用方式,其中比较常用的是使用_____ EXECUTE _____语句。

4.可以使用____ WITH ENCRYPTION ________语句来加密存储过程,防止未授权用户通过SELECT 语句查看改存储过程代码。

5.___(系统)存储过程_________________是已经存储在SQL Server服务器中的一组预编译的Transact-SQL语句。

1.SQL Server2005提供好了___ Windows身份验证________和_____ Windows和SQL Server混合身份验证____________两种身份验证模式。

2.服务器角色可拥有的成员是_________服务器登录名(服务器用户)______。

3.创建数据库角色时,若未指定所有者,则默认是____ dbo(数据库所有者)

__________。

4.SQL Server2005为用户提供了_______服务器角色__________和_________数据库_________角色。1.包含了两大核心控件:_____.NET Framework数据提供程序______和_____ DataSet ________。2.SQL Framework数据提供程序主要提供对Microsoft SQL Server 7.0版或更高版本的数据访问,使用______ System.Data.SqlClient _______命名空间。

3..NET数据提供程序有4个核心对象:_______ Connection _______、____ Command _________、________ DataReader _________和___ DataAdapter _________。

4.SqlConnection类的ConnectionString成员的关键字DataSource表示了_____要连接的SQL Server实例名称__________或网络地址。

二、思考题

1、简述数据与信息之间的联系与区别。

2、简述数据库系统的设计流程。

3、社么是E-R图?E-R图由哪些要素构成?

4、逻辑结构设计有哪些步骤?

5、物理结构设计有哪些步骤?

6、数据库的维护包括哪些工作?

参考答案:

一、选择题

1-B 2-D 3-C 4-A 5-B 6-B

二、思考题

1、描述事物的符号称为数据,信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。数据是物理的,信息是观念性的,数据和信息密切相关,信息可以数据化,数据代表信息,两者既有联系又有区别。

2、数据库设计的流程包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。

3、E-R图是用来描述实体-联系的模型图。

E-R图的组成要素:表示实体的“矩形”、表示实体属性的“椭圆”、表示实体间联系的“菱形”。4、逻辑结构设计步骤:(1)概念模型转化为关系模型。(2)将关系模型转化为特定数据管理系统下的数据模型。(3)数据模型进行优化(通常采用规范化理论),以提高数据库应用系统的性能。

5、物理结构设计步骤:(1)确定数据库的物理结构(存储结构、存储位置)。(2)确定数据库的存取方法。(3)对物理结构进行评价,评价的重点为时间和空间效率。

6、数据库的维护工作:对数据库的监测、分析和性能的改善;数据库转存和故障恢复;数据库的安全性、完整性控制;数据库的重组和重构造。

习 题 2

一、选择题

1.SQL Server2005的操作中心是( A )。 A. Management Studio B. Enterprise Management C. Visual 2005 D. 查询编辑器窗口 2.注册至某服务器,表示该服务器(B )。 A. 已启动但未连接 B. 已启动并且已连接 C. 还未启动 D. 还未连接 3.对于大型企业而言,应该采用(A )版本的SQL Server2005。 A. 企业版 B. 工作组版 C. 开发者版 D. 精简版

二、思考题

1、简述安装SQL Server2005所需的软硬件环境。

2、简述SQL Server2005各版本与操作系统之间的关系。

3、如何在SQL Server2005 Management Studio 中增加一个数据库?

4、如何创建一个查询,并保存脚本文件?

参考答案: 一、选择题 1-A 2-B 3-A

二、思考题 1、硬件环境: 版本 CPU 内存 磁盘空间 企业版 类型:Pentium III 兼容处理器或更高速度的处理器 速度:最低600 MHz 或1 GHz 或更高

最小:512 MB 建议:1 GB 或更大 最少350MB 或更多

标准版 开发版 工作组版 精简版 最小:192 MB 建议:512 MB 或更高 软件环境: 操作系统

企业版 标准版 开发版 工作组版 精简版 Windows 2000 Professional Edition SP4 否 是 是 是 是 Windows 2000 Server SP4

是 是 是 是 是 Windows 2000 Advanced Server SP4 是 是 是 是 是 Windows 2000 Datacenter Edition SP4 是 是 是 是 是 Windows XP Home Edition SP2 否 是 否 否 是 Windows XP Professional Edition SP2 否 是 是 是 是 Windows 2003 Server SP1

是 是 是 是 是 Windows 2003 Enterprise Edition SP1 是 是 是 是 是 Windows 2003 Datacenter Edition SP1 是 是 是 是 是 Windows 2003 Web Edition SP1

2、参考上表

3、可利用“附加”数据库功能:

(1)在【对象资源管理器】窗口中,右击【数据库】选项,弹出快捷菜单,选择【附加】选项,出现【附加数据库】对话框。

(2)单击【添加】按钮,出现【定位数据库文件】对话框。从中选择要附加的数据库的主要数据文件,单击【确定】按钮,返回【附加数据库】对话框。

(3)单击【确定】按钮,即可把所选的数据库附加到当前SQL Server实例上

4、(1)打开查询编辑器窗口。在查询编辑器窗口中键入脚本,单击工具栏上的分析按钮,分析脚本语法,使其正确。(2)按F5,或者单击工具栏上的执行按钮,执行脚本,或者也可以在菜单栏上的【查询】|【执行】。(3)选择“文件”菜单中的【保存】命令,或单击工具栏的【保存】按钮,在打开的保存对话框转播中,选择存储位置,输入脚本文件名,单击“保存”即可保存脚本文件。

习题 3

一、选择题

1.一个数据库至少有(A )个文件。

A. 2

B. 3

C. 4

D. 5

2.若要使用多个文件,为了便于管理,可以使用(B )。

A. 文件夹

B. 文件组

C. 复制数据库

D. 数据库脱机

3.在SQL Server中,用来显示数据库信息的系统存储过程是(D )。

A. sp_dbhelp

B. sp_db

C. sp_help

D. sp_helpdb

4.在SQL Server中,下列关于数据库的说法正确的是(B )。

A.一个数据库可以不包含事务日志文件

B.一个数据库可以只包含一个事务日志文件和一个数据库文件

C.一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件

D.一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件

二、思考题

1、在SQL Server2005安装成功后,有哪些系统数据库?其用途分别是什么?

2、数据库文件有哪些类型?其作用分别是什么?

3、数据库如何扩容?有几种方法?

3、SQL Server2005提供了哪两种创建数据库的方法?

5、如何实现数据库的移植?有哪几种方法?

参考答案:

一、选择题

1-A 2-B 3-D 4-B

二、思考题

1、系统数据库:

master数据库:是SQL Server系统最重要的数据库。记录SQL Server 系统的所有系统级信息。

model数据库:作为用户创建新数据库的模板。

msdb数据库:是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。tempdb数据库:记录了所有的临时表?临时数据和临时创建的存储过程等保存临时对象的一个工作空间?

2、数据库文件类型:

(1)主要数据文件:包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。

(2)次要数据文件:是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。(3)事务日志文件:用于记录所有事务以及每个事务对数据库所做的修改。

3、可用通过修改现有数据库中数据文件的容量,或者增加数据文件扩容数据库。

有两种方法:

一种是用Management Studio修改数据库属性修改数据文件的容量。

另一种是利用Alter Database语句修改数据库扩容。

4、可以利用“分离/附加”数据库,或利用“脱机”数据库移植数据库。

方法一:在Management Studio中,分离数据库——(复制)移植数据库文件——附加数据库

方法二:在Management Studio中,设置数据库为“脱机”状态——(复制)移植数据库文件——附加数据库

习题 4

一、选择题

1.在Transact-SQL语句中,删除表中数据的命令是(A)。

A.DELETE B.DROP C.CLEAR D.REMOVE

2.在SQL Server2005中,更新表中数据的命令是(C )。

A.USE B.SELECT C.UPDATE D.DROP

3.以下关于外键和相应的主键之间的关系的说法中,正确的是(A )。

A.外键不一定要与相应的主键同名

B.外键一定要与相应的主键同名

C.外键一定要与相应的主键同名而且唯一

D.外键一定要与相应的主键同名,但并一定唯一

4.在Transact-SQL语句中,修改表结构时应使用的命令是(C )。

A.UPDATE B.INSERT C.ALTER D.MODIFY

5.要限制输入到列中的值范围,应使用(A )约束。

A.CHECK B.PRIMARY KEY C.FOREIGN KEY D.UNIQUE

二、思考题

1.什么是数据的完整性?数据完整性有哪些分类?

2.数据约束有哪几种?分别实现何种数据完整性?

3.默认值对象和默认约束有何区别?

4.规则是什么?规则的作用是什么?

5.什么是NULL值?它与0有何区别?

6.如何删除默认值对象?

参考答案:

一、选择题

1-A 2-C 3-A 4-C 5-A

二、思考题

1.数据的完整性是指数据的精确性和可靠性,主要用于保证数据库中数据的质量。它是为防止数据库中存在不符合语义规定的数据和防止因错误信息的输入/输出造成无效操作或报错而提出的。

2.

约束类型实现数据的完整性

Default(默认值约束)

域完整性

Check(检查约束)

Primary Key(主键约束)

实体完整性

Unique(唯一性约束)

Foreign Key(外键约束)参照完整性

3.默认值对象是一种数据库对象,在数据库中创建默认值对象后,可以将其绑定到多个数据表的一个或多个列的应用;默认值约束只能用于约束一个表中的列。

4.规则(Rule)就是对存储在表中列或用户自定义数据类型的取值范围的规定或限制。

作用:规则类似于CHECK约束,是用来限制数据字段的输入值的范围,实现强制数据的域完整性。

5.NULL是一个特殊值,表示没有值或值不确定。实际上,空字符和0都不是NULL,空字符是一个有效的字符,0是一个有效的数字。

6.第一步:解绑默认值:对于不需要再利用默认的列,可以利用系统存储过程对其解绑。其语法格式如下:

[EXECUTE] sp_unbindefault '表名.字段名'|'自定义数据类型名'

第二步:在查询分析器中使用DROP语句删除默认值。其语法格式如下:

DROP DEFAULT default_name[,…n]

习题 5

一、选择题

1.在Transact-SQL语句中,条件“年龄BETWEEN 15 AND 35”表示年龄在15岁至35岁之间,且(A )。

A.包括15岁和35岁B.不包括15岁和35岁

C.包括15岁但不包括35岁D.包括35岁但不包括15岁

2.下列聚合函数中正确的是(C )。

A.SUM(*) B.MAX(*) C.COUNT(*) D.A VG(*)

3.查询员工工资信息时,结果按工资降序排列,下列语句中正确的是(B )。

A.ORDER BY 工资B.ORDER BY 工资DESC

C.ORDER BY 工资ASC D.ORDER BY 工资DISTINCT

4.在SQL Server2005中,下列关于通配符的操作中,范围最大的是(D )。

A.sname LIKE …abc#?B.sname LIKE …abc_d%? C.sname LIKE …abc%?D.sname LIKE …%abc%?5.“SELECT 工号FROM 员工表WHERE 工资>1250”的功能是(D )

A.查询工资大于1250元的记录

B.查询1250号记录后的记录

C.检索所有的职工号

D.从“职工”关系中检索工资大于1250元的职工号

二、思考题:

1.在SELECT语句中可以存在哪几个子句?他们的作用分别是什么?

2.在表与表之间可以使用哪几种连接方式?它们各自有何特点?

3.LIKE匹配字符有哪几个?

4.有几种连接表的方法?它们之间有什么区别?

5.GROUP BY子句的作用是什么?HA VING子句和WHERE子句中的条件有什么不同?

6.嵌套查询与相关子查询有何区别?

参考答案:

一、选择题

1A 2-C 3-B 4-D 5-D

二、思考题

1.SELECT语句中可以存在以下子句

(1)SELECT子句:指定查询返回的列。

(2)INTO子句:将检索结果存储到新表或视图中。

(3)FROM子句:用于指定查询列所在的表和视图。

(4)WHERE子句:指定用于限制返回的行的搜索条件。

(4)GROUP BY子句:指定用来放置输出行的组。并且如果SELECT 子句<SELECT LIST> 中包含聚合函数,则计算每组的汇总值。

(5)HA VING子句:指定组或聚合的搜索条件。HA VING 通常与GROUP BY 子句一起使用。

(6)ORDER BY子句:指定结果集的排序。

2.(1)交叉连接:又称笛卡儿积,返回两个表的乘积。

(2)内连接:把两个表中的数据,通过相同的列,连接生成第3个表,仅包含那些满足连接条件的数据行。内连接分为等值连接、非等值连接和自然连接。

(3)外连接:分类:左外连接、右外连接和全外连接。

左向外连接:只包括左表的所有行,不包括右表的不匹配行的外连接;

右向外连接:只包括右表的所有行,不包括左表的不匹配行的外连接。

完整外部连接:既包括左表不匹配的行,也包括右表的不匹配的行的连接

3.LIKE匹配字符(通配符):

%(百分号):表示0~n个任意字符。

_(下划线):表示单个任意字符。

[ ](封闭方括号):表示方括号内列出的任意字符。

[^ ] :表示未在方括号内列出的恶人一字符。

4.参考第2题

5.GROUP BY子句指定用来放置输出行的组,如果需要按某一列数据的值进行分类,在分类的基础上再进行查询,就要使用GROUP BY子句。

HA VING子句指定组或聚合的搜索条件。HA VING 只能与SELECT 语句一起使用。HA VING通常在GROUP BY 子句中使用。如果不使用GROUP BY 子句,则HA VING的行为与WHERE 子句一样。

WHERE子句是从表格的数据集中(未分组)过滤出符合条件的行。

6.在SQL中,将一条SELECT语句作为另一条SELECT语句的一部分称为嵌套查询。外层的SELECT 语句被称为外部查询或父查询,内层的SELECT语句成为内部查询或子查询。

相关子查询不同嵌套子查询,相关子查询的查询条件依赖于外层查询的某个值。

习题 6

一、填空题

1.在Transact-SQL语言中变量分为___局部变量______和_____全局变量____。

2.以____@@_________符号开头的变量为全局变量。

3.SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是MAX、__ MIN _____、____ SUM____、A VG和COUNT。

二、简答题

1.SQL语言的数据类型有哪些?分别有什么作用?

2.需要为SQL Server中的变量赋值时,可以用哪两种命令?

3.在循环语句中,BREAK和CONTINUE语句分别起什么作用?

3.了解函数的应用,查阅自己系统中的全局变量以及系统函数有哪些。

4.使用CASE表达式,判断当前月的天数。

参考答案:

一、填空题

1.局部变量全局变量

2.@@

3.MIN SUM

二、简答题

1.数字数据

字符数据:存储字符或字符串。

货币数据:存储货币数据。

日期和时间数据:存储日期和时间数据。

二进制字符串:存储二进制型的OLE对象。

其他数据类型:存储其他类型数据。

2.若要对变量赋值,可以使用SELECT语句或SET语句将一个不是NULL的值赋给已声明的变量。一个SELECT语句一次可以初始化多个局部变量;一个SET语句一次只能初始化一个局部变量。当用多个SET语句初始化多个变量时,为每个局部变量使用一个单独的SET语句。

语法格式如下:

SELECT @变量名=表达式[,…n]

SET @变量名=表达式

3.BREAK:无条件地退出WHILE循环。

CONTINUE:结束本次循环,进入下次循环,忽略CONTINUE后面的任何语句。

4.

DECLARE @TS CHAR(5)

SET @TS=CASE

WHEN Month(GETDATE())IN(1,3,5,7,8,10,12)THEN'31天'

WHEN Month(GETDATE())IN(4,6,9,11)THEN'30天'

WHEN Month(GETDATE())=2 THEN'28天'

END

PRINT @TS

习题7

一、填空题

1.视图是一种常用的____数据库对象______。

2.视图可以看成是从一个或几个_____基本表_____导出的虚表或存储在数据库中的查询。

3.数据库中只存放视图的___定义_________,而不存放视图对应的__数据_________,数据存放在原来的__基本表______中,当基本表中数据发生变化时,从视图中查询出的数据_____也会随之变化(或是最新数据)____________。

二、思考题

1.视图与数据表有何区别?

2.视图有哪些优点?

3.创建视图的方法和注意事项有哪些?

4.如何加密自己创建的视图的定义?

参考答案:

一、填空题

1.数据库对象

2.基本表

3.定义数据基本表也会随之变化(或是最新数据)

二、思考题

1.数据表中存储基本数据,而视图中只存储查询定义,不存放数据。

2.简化操作、提高数据安全性、屏蔽数据库的复杂性、数据即时更新。

3.创建视图的方法:(1)使用Management Studio。(2)使用Create View语句

注意事项有:

(1)只能在当前数据库中创建视图,在视图中最多只能引1024 列。

(2)不能在规则、默认值、触发器的定义中引用视图。

(3)不能在视图上创建索引;

(4)如果视图引用的表被删除,则当使用该视图时将返回一条错误信息;如果创建具有相同表的结构的新表来替代已删除的表,视图可以使用,否则必须重新创建视图。

(5)如果视图中某一列是函数、数学表达式、常量或来自多个表的列名相同,则必须为列定义名字。

(6)当通过视图查询数据时,SQL Server 不仅要检查视图引用的表是否存在,是否有效,而且还要验证对数据的修改是否违反了数据的完整性约束。

4.在Create View语句中使用“WITH ENCRYPTION”选项加密视图定义。

习题8

一、填空题

1.在正式创建一个索引之前,通常需要从___数据库_____、___查询_______和____索引_____这3个方面进行考虑。

2.在一般情况下,当对数据进行__修改_____时,会产生索引碎片,索引碎片会降低数据库系统的性能,通过_____查询编辑器窗口_____使用系统函数,可以检测索引中是否存在碎片。

3.在数据表中创建主键约束时,会自动产生___唯一性的聚集______索引。

4.可以使用____ CREATE INDEX语句_____创建独立于约束的索引。

二、思考题

1.简述索引的优点和缺点。

2.简述索引的使用原则。

3.什么是聚集索引?什么是非聚集索引?比较这两种索引的结构特点。

4.如何使用CREATE INDEX语句创建索引?

参考答案:

一、填空题

1.数据库查询索引

2.修改查询编辑器窗口

3.唯一性的聚集

4.CREATE INDEX语句

二、思考题

1.优点:提高数据检索速度、保证数据记录的唯一性、加速表之间的连接。

缺点:创建索引要花费时间,花费磁盘空间,修改数据时需要更新索引。

2、使用的索引原则:数据库准则、查询准则、索引列准则。

一般原则是:

●主键列上一定要建立索引。

●外键列可以建索引。

●在经常查询的字段上最好建立索引。

●对于那些查询中很少涉及的列、重复值比较多的列不要建索引。

●对于定义为text,Image和Bit数据类型的列上不要建立索引。

3.在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同(类似于图书目录和正文内容之间的关系)。聚集索引对表的物理数据页,按列进行排序,然后再重新存储到磁盘上。

非簇索引具有与表的数据行完全分离的结构,非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列值,非聚集索引不改变数据行的物理存储顺序,因而一个表可以有多个非聚集索引。

4.CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED ] /* 索引的类型*/ INDEX 索引名ON {表名|视图名} 列名[ ASC | DESC ] [,...n])

习题9

一、填空题

1.存储过程在第一次执行时进行编译,并将结果存储在_____数据库服务器______中,用于以后调用。2.存储过程是SQL Server2005中封装的__ Transact-SQL语句_________,包括3种类型,分别是___系统存储过程________、__用户自定义存储过程________和____扩展存储过程________。

3.存储过程有多种调用方式,其中比较常用的是使用_____ EXECUTE _____语句。

4.可以使用____ WITH ENCRYPTION ________语句来加密存储过程,防止未授权用户通过SELECT 语句查看改存储过程代码。

5.___(系统)存储过程_________________是已经存储在SQL Server服务器中的一组预编译的Transact-SQL语句。

二、思考题

1.简述存储过程的基本功能和特点。

2.简述存储过程的创建方法和执行方法。

参考答案:

一、填空题

1.数据库服务器

2.Transact-SQL语句系统存储过程用户自定义存储过程扩展存储过程

3.EXECUTE

4.WITH ENCRYPTION

5.(系统)存储过程

二、思考题

1.存储过程(Stored Procedure)是一组完成特定功能的Transact-SQL语句集,经编译后存储在数据库中,用户调用过程名和给出参数来调用它们。

2.创建存储过程的语法格式:

CREATE [ PROC | PROCEDURE] 存储过程名

[ { @参数名称参数数据类型} [ = 参数的默认值] [ OUTPUT ] ]

[ ,...n ]

[ WITH ENCRYPTION] [WITH RECOMPILE ]

AS

sql_statement

执行存储过程的语法格式:

EXEC[UTE] 存储过程名[[@参数名=]{参数值| @变量[ OUTPUT ] | [默认值]}] [,...n]

习题10

一、选择题

1.关于触发器,下列说法错误的是(B )。

A.触发器是一种特殊类型的存储过程

B.DDL触发器包括INSERT触发器、UPDA TE触发器、DELETE触发器等基本触发器

C.触发器可以同步数据库中相关数据表,进行级联更改

D.DDL触发器和DML触发器可以通过CREATE TRIGGER语句来创建,都是为了响应事件而被激发的。

2.可以响应INSERT语句的触发器是( A )。

A.INSERT触发器B.DELETE触发器C.UPDATE触发器D.DDL触发器

3.可以响应CREATE TABLE语句的触发器是(D )。

A.INSERT触发器B.DELETE触发器C.UPDATE触发器D.DDL触发器

二、思考题

1.什么是触发器,它与存储过程有什么区别与联系?

2.SQL Server2005中的触发器可以分为哪两类?分别有什么作用?

3.DML触发器和DDL触发器之间的区别和联系是什么?

4.对具有触发器的表进行INSERT、DELETE、和UPDATE操作,INSERTED表和DELETED表分别保存何种信息?

5.如何保护数据库中的索引不被删除或修改?

参考答案:

一、选择题

1-B 2-A 3-D

二、思考题

1.触发器通常可以完成一定的业务规则,用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能的限制。

触发器与存储过程的联系:触发器是一种特殊的存储过程。

触发器与存储过程的区别:存储过程需要使用EXEC命令调用存储过程名而执行。触发器是在某个指定的事件发生时被激活而自动执行。

2.DML触发器:当数据库中发生数据操作语言(DML) 事件时将调用DML 触发器。

DDL 触发器:在CREATE、ALTER、DROP 和其他DDL 语句上操作时发生调用DDL 触发器。3.DML触发器和DDL触发器之间的联系:都是激发存储过程以响应事件。

DML触发器和DDL触发器之间的区别:DDL触发器响应数据定义语言(DDL),如CREATE、ALTER、DROP语句,而DML触发器响应数据操作语言(DML),如UPDA TE、INSERT、DELETE语句。

4.

操作类型INSERTED表DELETED表

INSERT插入的记录不创建

DELETE不创建删除的记录

UPDATE修改后的记录修改前的记录

5.创建DDL触发器:

CREATE TRIGGER undrop_index ON Datebase For Drop_index,Alter_index

AS

Print …禁止删除和修改索引?

ROLLBACK

习题11

一、填空题

1.SQL Server2005提供好了___ Windows身份验证________和_____ Windows和SQL Server混合身份验证____________两种身份验证模式。

2.服务器角色可拥有的成员是_________服务器登录名(服务器用户)______。

3.创建数据库角色时,若未指定所有者,则默认是____ dbo(数据库所有者)

__________。

4.SQL Server2005为用户提供了_______服务器角色__________和_________数据库_________角色。

二、思考题

1.简述SQL Server2005的登录模式。

2.什么是角色?有何作用?

3.什么是授权的主体?

参考答案:

一、填空题

1.Windows身份验证Windows和SQL Server混合身份验证

2.服务器登录名(服务器用户)

3.dbo(数据库所有者)

4.服务器角色数据库

二、思考题

1.SQL Server2005服务器的登录模式是指服务器如何处理登录名和密码,SQL Server2005提供了两种这样的身份验证模式:Windows身份验证和混合身份验证模式。

2.角色(roles):是SQL Server 2005中管理权限相近的安全账户的集合,相当于Windows域中的组。SQL Server2005中角色分为三类:服务器角色、数据库角色和应用程序角色。

角色的作用:通过对角色进行权限管理,可以达到定义为该角色的一组用户统一进行权限管理。3.授权的主体指:数据库用户,各种角色、数据库对象。SQL Server2005中未被授权的用户将无法访问或存取数据库中的数据。SQL Server通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。

习题12

一、填空题

1.SQL Server2005针对不同用户的业务需求,提供了__完整备份__________、____差异备份________、___事务日志备份_________和_______文件组备份_________4种备份方式供用户选择。

2.在对数据库进行备份之前,必须设置存储备份文件的物理存储介质,即____备份文件(备份设备)___________。

3.______完整备份___________备份是进行所有其他备份的基础。

二、思考题

1.数据库备份和还原的概念和作用是什么?

2.SQL Server2005中有几种备份和恢复模式?

3.如何进行数据库导入和导出操作?

4.什么是备份设备?备份设备的作用是什么?

参考答案:

一、填空题

1.完整备份差异备份事务日志备份文件组备份

2.备份文件(备份设备)

3.完整备份

二、思考题

1.备份就是将数据库中的数据进行导出,生成副本,然后在系统发生故障后能够恢复全部或部分数据。

数据还原就是在数据库的一定生命周期的某一时刻还原数据。作为数据库管理员,应该将数据还原的频率减到最低,预计潜在灾难所能影响到的范围,当灾难发生时,加快还原速度并快速地验证还原是否成功。

备份和还原的作用:降低数据丢失的可能性,并能够及时恢复已经丢失的数据,可以在数据库系统中实施备份和恢复策略。

2.恢复模式是指数据库运行时,记录事务日志的模式。恢复模式控制事务记录在日志中的方式、事务日志是否需要备份以及还原的操作。

恢复模式包含简单恢复模式、完整恢复模式和大容量日志恢复模式3种类型,适合于数据库的恢复模式取决于数据库的可用性和恢复要求。

3.数据转换服务是一个功能非常强大的组件,导入和导出向导提供了把数据从一个数据源转换到另一个数据目的地的方法,该工具可以在异构数据环境中拷贝数据、拷贝整个表或者查询结果,并且可以交互式地定义数据转换方式。

4.为了执行备份操作,在使用之前所创建的备份文件称为永久性的备份文件,也称为备份设备。

备份设备的作用:作为数据库备份的存储介质。

习题13

一、填空题

1.包含了两大核心控件:_____.NET Framework数据提供程序______和_____ DataSet ________。2.SQL Framework数据提供程序主要提供对Microsoft SQL Server 7.0版或更高版本的数据访问,使用______ System.Data.SqlClient _______命名空间。

3..NET数据提供程序有4个核心对象:_______ Connection _______、____ Command _________、________ DataReader _________和___ DataAdapter _________。

4.SqlConnection类的ConnectionString成员的关键字DataSource表示了_____要连接的SQL Server实例名称__________或网络地址。

二、思考题

1.组件包括哪几个对象?

2.如何使用Connection对象执行SQL查询?

3.如何使用Command对象执行SQL查询?

4.DataReader对象和DataSet对象有何区别?

5.如何使用DataSet和DataAdapter对象?

参考答案:

一、填空题

1..NET Framework数据提供程序DataSet。

2.System.Data.SqlClient

3.Connection Command DataReader DataAdapter

4.要连接的SQL Server实例名称

二、思考题

1.组件的对象:Connection 、Command、DataReader、DataAdapter、DataSet

2.使用Connection对象执行SQL查询的步骤:

第一步:定义连接字符串:

string ConnString=”DataSource=服务器名;Initial Catalog=数据库名;User ID=登录名;PassWord=登录密码”

第二步:创建连接对象:

SqlConnection conn=new SqlConnection(ConnString)

第三步:建立连接

Conn.Open()

第四步:创建命令对象

SqlCommand cmd=conn.CreateCommand(“select语句”)

第五步:执行SQL查询:

SqlDataReader Rs=cmd.ExecuteNonQuery( )

第六步:关闭连接

Conn.Close( )

3.使用Command对象执行SQL查询与使用Connection对象执行SQL查询类似

……

第四步:创建Command对象

SqlCommand cmd=new SqlCommand( )

第五步:设定Command对象的属性

本文来源:https://www.bwwdw.com/article/kax1.html

Top