《SQL Server 2005实用教程(第3版)》是根据教育部提出的高等学校计算机基础教学“技能—能力—思维”三个层次要求组织编写的。本书主要讲述大型数据库管理系统SQL Server 2005的功能、操作和实用开发技术。
《SQL Server 2005实用教程(第3版)》以SQL Server 2005为平台,用一个实例贯穿全书来详细讲解SQL Server 2005的安装和配置、数据库的创建与管理、表、T-SQL语言、视图、索引、存储过程、数据库的备份恢复与导入导出、SQL Server的安全管理。除最后一章外,每章后均配有实训内容,以强化学生的实践能力。第13章介绍SQL Server项目开发,将全书所学内容与.NET编程语言相结合,进行了系统化、整体化的提升,并利用Visual C#与SQL Server 2005开发设计了学生选课系统,供学生学习和参考。
《SQL Server 2005实用教程(第3版)》具有由浅入深、理论联系实际的特点,在保证教材系统性和科学性的同时,注重实践性和操作性。
《SQL Server 2005实用教程(第3版)》既可以作为高职高专院校计算机及相关专业的教材和教学参考书,也可以作为数据库应用系统开发人员的参考书。
《SQL Server 2005实用教程(第3版)》在前两版的基础上进行了修订,调整了部分内容,增加了实例和习题内容,并结合当今主流系统开发的需求,将第13章“SQL Server开发与编程”进行了全面的修改,采用Visual C#与SQL Server 2005相结合的方式进行开发设计,以求能更好地突出教学内容的重点和难点,增强本书的实用性。
《SQL Server 2005实用教程(第3版)》共有13章。第1章主要介绍数据库相关知识;第2章介绍SQL Server 2005的安装和配置;第3、4章介绍SQL Server数据库和表;第5章介绍数据库的数据完整性;第6章介绍数据查询;第7、8章介绍视图及索引的应用;第9章介绍T-SQL语言;第10章介绍存储过程和触发器;第11章介绍备份恢复与导入导出;第12章介绍SQL Server的安全管理;第13章介绍SQL Server项目开发。除最后一章外,每一章都配有实训内容,所有实训内容均围绕一个大的实例展开,具有系统性和整体性的特点,在项目开发中采用了Visual C#与SQL Server 2005相结合的开发技术,有助于学生对新知识、新技术的了解和学习。
《SQL Server 2005实用教程(第3版)》概念清晰、叙述准确、重点突出,理论与实践紧密结合,注重操作技能的培养,图文并茂,提供了丰富的实例,有助于读者对所学内容的掌握,便于自学。
前 言
数据库技术是计算机技术领域中发展最快的技术之一,也是应用最为广泛的技术之一,它已经成为计算机信息系统的核心技术和重要基础。
2005年11月,微软公司发布了其数据库软件的又一个升级版本SQL Server 2005。从SQL Server 2000到SQL Server 2005,不仅仅是数据库系统具有更高的性能、更强的处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。而这些新特性也都是和现代数据库的发展方向相一致的。例如,对XML的支持、在SQL语言中嵌入高级语言支持等。在企业环境中,更注重安全性、高可用性、集成的管理工具等。目前SQL Server虽然已经出现了许多更新版本,如SQL Server 2012、SQL Server 2016等,但是仍有许多院校及企业在使用SQL Server 2005。在众多的数据库系统中,SQL Server以其满足对大型数据库技术的要求和易于实现、容易理解和掌握等特点,被许多院校列为必修课程。
本书第1版和第2版分别于2008年9月、2011年3月由清华大学出版社出版发行,受到广大读者的欢迎。在使用过程中,许多专家和师生给予了大力的支持并提出了一些很好的意见和建议,因此,我们对《SQL Server 2005实用教程》在前两版的基础上进行了修订,调整了部分内容,增加了实例和习题内容,并结合当今主流系统开发的需求,将第13章“SQL Server开发与编程”进行了全面的修改,采用Visual C#与SQL Server 2005相结合的方式进行开发设计,以求能更好地突出教学内容的重点和难点,增强本书的实用性。
全书共有13章。第1章主要介绍数据库相关知识;第2章介绍SQL Server 2005的安装和配置;第3、4章介绍SQL Server数据库和表;第5章介绍数据库的数据完整性;第6章介绍数据查询;第7、8章介绍视图及索引的应用;第9章介绍T-SQL语言;第10章介绍存储过程和触发器;第11章介绍备份恢复与导入导出;第12章介绍SQL Server的安全管理;第13章介绍SQL Server项目开发。除最后一章外,每一章都配有实训内容,所有实训内容均围绕一个大的实例展开,具有系统性和整体性的特点,在项目开发中采用了Visual C#与SQL Server 2005相结合的开发技术,有助于学生对新知识、新技术的了解和学习。
本书概念清晰、叙述准确、重点突出,理论与实践紧密结合,注重操作技能的培养,图文并茂,提供了丰富的实例,有助于读者对所学内容的掌握,便于自学。
本书由李岩、韩劲松任主编,张瑞雪、李康乐任副主编。参加编写的人员还有王旭、张玉芬、徐宏伟、贺晓光、于洪鹏。其中,第1、2章由王旭编写;第3、4由韩劲松编写;第5、6、7章由张瑞雪编写;第8、9由李康乐编写;第10、11章由李岩编写;第12、13章由张玉芬编写,全书由李岩统稿。书中代码及文字校对等工作由于洪鹏、徐宏伟、贺晓光参与完成,在此衷心地向他们表示感谢。
由于编者水平有限,时间仓促,书中难免存在缺点和不足,衷心希望广大读者批评指正。
编 者
收起全部↑
目 录
第1章 数据库概述 1
1.1 数据库的基本概念及数据库系统 1
1.1.1 数据库的基本概念 1
1.1.2 数据库系统的组成 2
1.1.3 数据库系统的特点 3
1.2 数据模型概述 3
1.2.1 信息世界的数据描述 4
1.2.2 数据模型 4
1.3 关系数据库的基本原理 9
1.3.1 关系模型 9
1.3.2 关系运算 11
1.3.3 关系数据库的标准语言 14
1.3.4 关系模型的规范化 15
本章实训 18
本章小结 19
习题 20
第2章 SQL Server 2005概述 22
2.1 SQL Server 2005简介 22
2.1.1 SQL Server 2005的发展
及特点 22
2.1.2 SQL Server 2005的环境 23
2.2 SQL Server的结构 25
2.2.1 SQL Server的系统结构 25
2.2.2 SQL Server 2005的体系
结构 25
2.3 SQL Server的安装和配置 26
2.3.1 SQL Server的应用环境设计 26
2.3.2 安装预备软件 27
2.3.3 安装SQL Server部件 27
2.4 SQL Server 2005的主要管理工具 32
2.4.1 SQL Server管理控制台 32
2.4.2 商业智能开发工具 33
2.4.3 SQL Server分析器 34
2.4.4 SQL Server配置管理器 35
2.4.5 数据库引擎优化顾问 35
2.5 配置SQL Server 2005 36
2.5.1 启动、停止、暂停和重新启动
SQL Server服务 36
2.5.2 配置服务的启动模式 37
2.5.3 注册服务器 38
2.5.4 创建服务器组 40
本章实训 41
本章小结 42
习题 42
第3章 SQL Server数据库 43
3.1 SQL Server数据库概述 43
3.1.1 数据库文件 43
3.1.2 数据库文件组 44
3.2 系统数据库概述 44
3.2.1 数据库对象 45
3.2.2 系统数据库 45
3.3 创建数据库 47
3.3.1 用SQL Server Management
Studio创建数据库 47
3.3.2 用SQL 命令创建数据库 49
3.3.3 事务日志 52
3.4 管理和维护数据库 53
3.4.1 打开数据库 53
3.4.2 查看数据库信息 53
3.4.3 用SQL Server Management
Studio修改数据库配置 54
3.4.4 用T-SQL命令修改数据库
配置 54
3.4.5 删除数据库 55
本章实训 56
本章小结 59
习题 60
第4章 数据库中的表 62
4.1 创建表 62
4.1.1 数据类型 62
4.1.2 使用SQL Server Management
Studio创建表 64
4.1.3 使用SQL命令方式创建表 65
4.2 表的管理和维护 66
4.2.1 查看表的属性 66
4.2.2 修改表结构 68
4.2.3 删除数据表 70
4.3 表数据的操作 71
4.3.1 图形界面方式操作表数据 71
4.3.2 使用INSERT命令向表中添加
数据 72
4.3.3 使用UPDATE命令修改表中
的数据 73
4.3.4 使用DELETE或TRANCATE
TABLE命令删除表中的数据 73
4.3.5 常用系统数据表 74
本章实训 75
本章小结 78
习题 79
第5章 数据完整性 81
5.1 数据完整性的基本概念 81
5.2 约束 82
5.2.1 主键约束 82
5.2.2 唯一键约束 84
5.2.3 检查约束 86
5.2.4 默认值约束 89
5.2.5 外键约束 91
5.3 默认值 93
5.3.1 创建默认值 93
5.3.2 绑定和解绑默认值 93
5.3.3 删除默认值 94
5.4 规则 95
5.4.1 创建规则 95
5.4.2 绑定和解绑规则 95
5.4.3 删除规则 96
5.5 标识列 96
5.6 自定义数据类型 97
5.6.1 创建自定义数据类型 97
5.6.2 删除用户自定义数据类型 99
本章实训 99
本章小结 101
习题 102
第6章 数据查询 104
6.1 简单SELECT语句 105
6.1.1 SELECT的语法格式 105
6.1.2 基本的SELECT语句 106
6.1.3 INTO子句 109
6.1.4 WHERE子句 111
6.1.5 ORDER BY子句 114
6.2 SELECT语句的统计功能 115
6.2.1 集合函数 115
6.2.2 GROUP BY子句 116
6.2.3 COMPUTE子句 117
6.3 SELECT语句中的多表连接 119
6.3.1 交叉连接 119
6.3.2 内连接 120
6.3.3 外连接 121
6.3.4 自连接 123
6.3.5 合并查询 123
6.4 子查询 124
6.4.1 嵌套子查询 124
6.4.2 相关子查询 126
6.4.3 使用子查询向表中添加多条
记录 128
本章实训 128
本章小结 132
习题 133
第7章 视图及其应用 135
7.1 视图概述 135
7.1.1 视图的基本概念 135
7.1.2 视图的优点及注意事项 135
7.2 视图的创建和查询 136
7.2.1 在SQL Server Management
Studio中创建视图 136
7.2.2 使用CREATE VIEW命令创建
视图 138
7.2.3 使用视图查询数据 138
7.3 视图的管理和维护 139
7.3.1 查看视图的定义信息 139
7.3.2 查看视图与其他对象的依赖
关系 140
7.3.3 视图的修改 141
7.3.4 视图的删除 142
7.4 通过视图修改表数据 142
本章实训 143
本章小结 145
习题 146
第8章 索引及其应用 147
8.1 索引概述 147
8.1.1 索引的作用 147
8.1.2 索引的分类 148
8.2 创建索引 149
8.2.1 系统自动创建索引 149
8.2.2 在SQL Server Management
Studio中创建索引 150
8.2.3 使用CREATE INDEX语句创建索引 153
8.3 管理和维护索引 154
8.3.1 查看和维护索引信息 155
8.3.2 删除索引 155
8.3.3 索引的分析与维护 156
本章实训 159
本章小结 161
习题 161
第9章 T-SQL语言 163
9.1 批处理、脚本和注释 163
9.1.1 批处理 163
9.1.2 脚本 164
9.1.3 注释 165
9.2 常量、变量和表达式 165
9.2.1 常量 165
9.2.2 变量 167
9.2.3 运算符与表达式 169
9.3 流程控制语句 172
9.3.1 BEGIN…END语句块 172
9.3.2 IF…ELSE语句 172
9.3.3 CASE表达式 173
9.3.4 无条件转移语句GOTO 176
9.3.5 WAITFOR语句 176
9.3.6 WHILE语句 176
9.3.7 RETURN语句 177
9.4 系统内置函数 178
9.4.1 行集函数 178
9.4.2 聚合函数 179
9.4.3 标量函数 180
9.5 用户自定义函数 190
9.5.1 用户自定义函数的创建
与调用 190
9.5.2 修改与删除用户自定义
函数 193
9.6 游标及其使用 193
9.6.1 声明游标 194
9.6.2 打开游标 194
9.6.3 数据处理 195
9.6.4 关闭游标 199
9.6.5 释放游标 199
本章实训 199
本章小结 202
第3章 SQL Server数据库
SQL Server 2005数据库是所涉及的对象以及数据的集合。它不仅反映数据本身的内容,而且反映对象以及数据之间的联系。对数据库的操作是开发人员的一项重要工作。
本章主要介绍SQL Server 2005数据库的基本概念,以及创建、删除、修改数据库等基本操作。
通过学习本章,读者应掌握以下内容:
* 数据库及其对象
* 文件和文件组及事务日志
* 创建数据库系统的几个阶段和原则
* 创建和管理数据库的方法
3.1 SQL Server数据库概述
SQL Server 2005将数据库映射为一组操作系统文件。数据库中的数据和日志信息分别保存在不同的文件中,而且各文件仅在一个数据库中使用。文件组是命名的文件集合,用于帮助数据布局和管理任务,如备份和还原操作。
3.1.1 数据库文件
1.数据库文件分类
SQL Server 2005数据库具有以下3种类型的文件。
(1) 主数据文件。是数据库的起点,指向数据库中的其他文件。每个数据库都有且仅有一个主数据文件。主数据文件的推荐文件扩展名是.mdf。
(2) 次要数据文件。除主数据文件以外的所有其他数据文件都是次要数据文件。某些数据库可能不包含任何次要数据文件,而有些数据库则含有多个次要数据文件。次要数据文件的推荐文件扩展名是.ndf。
(3) 日志文件。包含用于恢复数据库的所有日志信息。每个数据库必须至少有一个日志文件,当然也可以有多个。日志文件的推荐文件扩展名是.ldf。
SQL Server 2005不强制使用.mdf、.ndf和.ldf文件扩展名,但使用它们有助于标识文件的各种类型和用途。
在SQL Server 2005中,数据库中所有文件的位置都记录在数据库的主数据文件和master数据库中。大多数情况下,数据库引擎使用master数据库中的文件位置信息。
2.逻辑文件名和物理文件名
SQL Server 2005?的文件拥有两个名称,即逻辑文件名和物理文件名。当使用?T-SQL命令语句访问某个文件时,必须使用该文件的逻辑名。物理文件名是文件实际存储在磁盘上的文件名,包含完整的磁盘目录路径。
(1) 逻辑文件名(logical_file_name):它是所有T-SQL语句引用物理文件时使用的名称。逻辑文件名必须符合SQL Server标识符规则,而且在数据库中的逻辑文件名必须是唯一的。
(2) 物理文件名(os_file_name):它是包括目录路径在内的文件全名,必须符合操作系统的文件命名规则。
3.文件大小
SQL Server 2005的文件大小有初始大小size、最大值maxsize和增量filegrowth三个参数。文件的大小可以从最初指定的初始大小size开始按增量filegrowth来增长,当文件增量超过最大值maxsize时将出错,文件无法正常建立,也就是数据库无法创建。
如果没有指定最大值,文件可以一直增长到用完磁盘上的所有可用空间。如果SQL Server作为数据库嵌入某个应用程序,而该应用程序的用户无法迅速与系统管理员联系,则不应指定文件的最大值,用户可以使文件根据需要自动增长,以减轻监视数据库中的可用空间和手动分配额外空间的管理负担。