前
言
本书面向的读者
本书源于计算机及应用软件教学第一线教师多年的随堂讲义和授课心得,面向SQL Server 2005的初、中级用户,全面系统地介绍了SQL Server 2005的编程开发特点、SQL Server 2005数据库需求分析与规划设计流程知识和具体的应用案例。全书由浅入深,层层深入的讲解了SQL Server 2005管理信息系统软件从SQL的基础知识,到高级阶段编程设计开发的具体知识,在学习中每章不仅有配套的电子文档和讲义,同样还有配套的学习资料与源代码。
本书以教师课堂实际授课案例为主线,融合关系型数据库理论和T-SQL编程开发设计理念于其中,不仅适合于希望了解并深入学习SQL Server 2005的读者,也适合于进行SQL Server 2005培训的专业教材。
《SQL Server 2005数据库实践教程――开发与设计篇》学习指南
一、课程的性质与任务
SQL Server 2005
是微软历时多年打造的数据库管理系统软件,作为业界著名数据库产品,与
SQL Server 2000
产品有很大的区别,但又保持着千丝万缕的联系。因为
SQL Server 2005
数据库产品的内容纷繁复杂,既需要阐述清楚
SQL Server 2005
与数据库理论之间的关联,又需要介绍该数据库产品的开发和规划设计,还需要说明清楚
SQL Server 2005
安装配置和管理,显然在一本教材之中很难将所有的
SQL Server 2005
的知识体系阐述清楚,因此编者在教材设计的时候特意将《
SQL Server 2005
数据库实践教程》分成“管理与维护篇”和“开发与设计篇”,分别适合于网络管理专业和软件开发专业。当然从知识体系上说,如果可以双书合一就是完整的
SQL Server 2005
数据库知识体系了。
本书的课程性质是是高等院校计算机类专业的一门主干专业课,是一本数据库编程与开发、规划及设计性质的书籍,主要的任务是介绍
SQL Server 2005
数据库产品的通过
T-SQL
进行的编程开发,基于
.NET Framework
的集成,以及与
Service Broker
的开发,数据库需求分析与规划等知识,努力打通
C#
应用开发与
SQL Server 2005
数据库之间的瓶颈,从一定程度上提高学生的数据库编程技能和素质,为适应软件研发中数据库编程开发的职业岗位和进一步学习打下一定的基础。本课程的教学目标是使学生能运用所学的
SQL Server 2005
编程技术,根据实际需要完成在一定网络环境下的数据库编程开发与数据库规划设计工作。
二、预备知识
在学习本课程之前,最好已经学习过以下课程:
(
1
)程序设计语言,例如能够用
C#
进行简单的程序设计,了解程序设计的基本知识,掌握几种基本的程序结构(顺序结构、选择结构、循环结构)。
(
2
)掌握数据库系统概论知识,可以通过
ER
图对数据库系统进行设计工作,掌握数据库的范式标准和好的数据库的设计原则,掌握数据库完整性概念,掌握数据库设计的基本过程和理论,掌握基本的
SQL
设计能力。
(
3
)掌握
Windows
服务器操作系统的配置和网络管理。
(
4
)已经在
.NET Framework
环境下学习过
C#
语言,并可以开发
C# Winform
应用程序或者
ASP.NET
基于
WEB
环境下的软件系统研发。为
SQL Server 2005
在
.NET Framework
环境下的配置管理和开发工作奠定一定的基础。
三、学习提要
1. 重点难点
(一)重点内容
Ø
第一章.
关系数据库标准语言SQL
了解
SQL
的含义以及发展历程、语言的特点;掌握数据库文件的种类及数据库文件的命名方式,掌握数据文件页和区的概念;掌握数据库文件的类型,可以较熟练的在管理平台下建立数据库文件和文件组,通过
SQL
语句建立和修改数据库文件及日志文件,通过
SQL
语句对数据库的文件进行收缩;掌握通过
SQL
语句创建基本表,特别是完成关系逻辑模式的设计,对主键和外键关联性的定义;熟悉
SQLServer
的主要数据类型;掌握通过
SQL
语句修改基本表的模式结构以及通过
SQL
删除基本表;学习索引的基本概念和特性;掌握堆、聚簇索引、非聚簇索引、唯一性索引的内涵,可以建立与删除索引的
SQL
语句,可以获取及优化索引信息的方法
;熟练掌握插入操作(
insert
),删除操作(
delete
),更新操作(
update
)的基本
SQL
语句;熟练掌握
SQL
查询的更名,取值重复行,条件查询,集函数与分组查询;熟练设计多表连接查询,单表的自身连接查询以及多表嵌套查询;掌握
SQL86
与
SQL92
语法的异同点,掌握
SQL86
与
SQL92
实现内连接查询、左外连接和右外连接查询;了解
SQL
交叉与无限制连接查询,
SQL
集合并与交的查询,关系整除的
SQL
查询方法,近似除与关系整除的查询以及全称谓词查询;掌握如何建立和删除视图的
SQL
语句,特别是参数
WITH CHECK OPTION
的使用特点;
Ø
第二章. T-SQL
程序设计基础
了解
T-SQL
代码的基本格式及注释方式,学习
T-SQL
语法的全局变量与局部变量,了解
T-SQL
的临时表和全局表,掌握
T-SQL
的运算符号有哪些?熟练掌握
T-SQL
的基本语法格式,包括:
IF
…
ELSE
条件语句,
WHILE
…
CONTINUE
…
BREAK
循环语句,
CASE
多条件分支语句,
GOTO
跳转语句,
Try
…
Catch
错误与意外处理语句。重点掌握循环语句和意外处理语句,特别是学习防止死循环的技巧。学习系统函数、行集函数和
Ranking
函数;重点掌握字符串函数、日期时间函数和数学函数的使用参数以及使用技巧。重点掌握用户定义的标量函数以及自定义函数的执行方法,掌握用户定义的内嵌表值函数以及与用户定义的标量函数的主要区别。了解游标的基本概念及特点,学会使用游标的基本步骤;掌握两个系统全局变量:
@@cursor_rows
和
@@FETCH_ STATUS
在定义游标中的作用,掌握在游标中使用
FETCH
获取游标技术,掌握
FETCH
语句使用过程中的移动关键词;掌握如何使用游标修改或删除数据;了解如何使用递归游标遍历树算法解决家族树的问题,了解改进的非游标查询策略。了解什么是全文检索,全文检索和普通索引的区别是什么;熟练掌握配置全文检索服务,了解配置全文检索服务意外处理办法;熟练掌握通过
CONTAINS
及
FREETEXT
谓词进行查询的技巧,并可以区分二者之间的差异;了解全文检索中降噪词的作用。
Ø
第三章.
事务处理,并发控制及数据库优化
掌握事务的四个基本特性,分别可以阐述各个特性的内涵;了解事务的类型包括那些内容;掌握事务处理的四种基本语句和具体的应用;了解如何编写有效的事务;数据库并发控制的概念;了解锁的四种不同模式及内涵;学习查看锁的基本信息,了解死锁及处理机制;了解数据库引擎优化顾问,并掌握数据库索引优化的基本步骤,掌握通过命令行的方式进行索引的优化
DTA
。
Ø
第四章.
管理触发器与存储过程
了解存储过程的基本特点及优势;重点学习如何创建存储过程,学习如何建立及执行存储过程的基本语法结构;特别是掌握存储过程输入参数附值的两个方法,即根据参数名称给输入参数附值和根据参数定义时候的顺序附值;掌握存储过程返回参数读取的方法,并学会熟练开发各种存储过程。了解触发器基本概念以及
SQL Server 2005
两大类触发器:
DML
触发器和
DDL
触发器;掌握创建触发器基本语法规则;掌握如何通过触发器确保数据的完整性,学习修改、查看和删除触发器及语法规则。
Ø
第五章. SQL Server 2005 XML
开发
理解
xml
数据类型;掌握
xml
数据类型的用法;理解非类型化
xml
数据类型;掌握类型化
xml
数据类型具体用法;理解
XML
架构;理解
xml
数据类型查询方法;灵活使用
xml
数据类型
5
种查询方法;理解
FOR XML
子句;掌握发布
XML
数据方法;通过
XML
的开发实训,熟练掌握
XML
架构设计的过程;通过
XML
查询方法实训,熟悉并掌握
XML
的查询方法。
Ø
第六章. .NET Framework
集成与Service Broker
开发
了解
.NET Framework
;掌握数据库对象开发方法;理解数据库对象部署和应用方法;了解
Service Broker
技术概念;理解
Service Broker
体系结构;掌握
Service Broker
应用。
Ø
第七章.
数据库需求分析与规划设计
了解数据库设计的要点;掌握事实的发现技术,基本步骤及完成数据库需求分析实验;了解
PowerDesigner
基本的特性和发展历程,其主要功能和应用范围以及主要模块;掌握通过
PowerDesigner
建立概念数据模型,认识其中的实体对象的属性、值域以及关键字,特别掌握实体之间关系的设计方法;掌握通过
PowerDesigner
建立物理数据模型,掌握配置
PDM
图的全过程;掌握将物理模型导入到数据库应用软件中的基本技术;掌握生成数据库报告的基本技术。
Ø
第八章. SQL Server 2005
综合应用开发
本章属于
SQL Server 2005
与
C# Winform
联合开发实训部分内容,包括:
CLR
应用背景与
SQL Server 2005
;
CLR
开发基于
SQL Server 2005
的存储过程;学习建立数据库访问层
DataBase.cs
文件;多控件的数据库信息综合处理;实现数据库插、查、删、改四项基本操作技能;用户表现层代码和数据访问层代码之间的互访;
ADO.NET
基本对象的操作及彼此之间的逻辑关联;
Connection
对象连接
MS SQL Server
数据库的方法;通过综合控件实现对数据库的插、查、删、改操作;数据集对象
DataSet
与
DataReader
对象的使用;通过与数据库操控层文件的调用,增强代码的低耦合,提高编码效率;以多种方式实现下拉列表的数据联动效果;基于
DataGridView
控件的增、删、查、改数据操作技术;
DataGridView
控件与菜单等其他控件的组合应用;多窗体的数据传值;菜单技术在实际项目中的应用;通过与数据库操控层文件的调用,增强代码的低耦合,提高编码效率;根据数据库中的动态数据,使
DataGridView
控件每行呈现不同颜色;通过快捷菜单操作
DataGridView
控件中的每行数据;关系型数据库多表查询的实现。
(二)难点内容
本课程的难点内容是第一章的
掌握通过
SQL
语句创建关系逻辑模式的设计,对主键和外键关联性的定义;熟练掌握
SQL
查询的单表的自身连接查询以及多表嵌套查询;掌握
SQL86
与
SQL92
语法的异同点,掌握
SQL86
与
SQL92
实现内连接查询、左外连接和右外连接查询;关系整除的
SQL
查询方法,近似除与关系整除的查询以及全称谓词查询;掌握视图参数
WITH CHECK OPTION
的使用特点。
第二章的
T-SQL
的
Try
…
Catch
错误与意外处理语句。重点掌握循环语句和意外处理语句,特别是学习防止死循环的技巧。重点掌握字符串函数、日期时间函数和数学函数的使用参数以及使用技巧。重点掌握用户定义的标量函数以及自定义函数的执行方法,掌握用户定义的内嵌表值函数以及与用户定义的标量函数的主要区别。掌握两个系统全局变量:
@@cursor_rows
和
@@FETCH_ STATUS
在定义游标中的作用,掌握在游标中使用
FETCH
获取游标技术,掌握
FETCH
语句使用过程中的移动关键词;掌握如何使用游标修改或删除数据;
第三章的掌握事务处理的四种基本语句和具体的应用;掌握数据库索引优化的基本步骤,掌握通过命令行的方式进行索引的优化
DTA
。
第四章的
如何创建存储过程,特别是掌握存储过程输入参数附值的两个方法掌握存储过程返回参数读取的方法,并学会熟练开发各种存储过程。掌握如何通过触发器确保数据的完整性。
第五章的
XML
架构及
xml
数据类型查询方法;灵活使用
xml
数据类型
5
种查询方法;理解
FOR XML
子句;掌握发布
XML
数据方法;
第六章的理解
Service Broker
体系结构;掌握
Service Broker
应用。
第七章的掌握通过
PowerDesigner
建立概念数据模型,掌握实体之间关系的设计方法;掌握通过
PowerDesigner
建立物理数据模型,掌握配置
PDM
图的全过程;