
本书是普通高等教育“十一五”国家级规划教材。全书系统地介绍SQL Server的相关原理、管理和应用程序设计,原理、管理、程序设计并重,以一个大型数据库实例贯穿始终,将SQL Server技术分解成16个专题,每个专题根据自身技术特点对操作进行实例分析。主要内容包括数据库原理与数据库应用设计,数据库存储原理和数据库创建,数据库表结构分析和表的创建与管理;数据库程序机构及设计,自定义函数设计,游标技术及操作,存储过程和触发器,事务和并发控制,视图的规划、设计与操作,索引的机理和设计,数据安全及访问控制、数据备份与恢复等。每章均配有针对性实验,提供配套电子课件、实例数据库、习题参考答案和教学网站。 读者对象:本书可作为高等学校计算机应用和信息管理等相关专业的本科生和研究生教材,也可作为社会相关从业人员的自学和培训教材,对于开发信息管理系统的技术人员具有较高的参考价值。
前 言 本书是普通高等教育“十一五”国家级规划教材。 大型数据库管理系统SQL Server 2005是近年来国内外广泛使用的数据库管理系统,它既支持C/S模式系统,也支持B/S模式系统,是开发管理信息系统常用的主流数据库管理系统之一。国内许多高等学校已陆续开设了这门课程。但是,对于SQL Server 2005,市场上大量的相关书籍有的是围绕实用技术讲解的,有些类似于帮助说明书、专题介绍,而有些偏重于程序设计,有些主要讲解原理。对于专门学习大型数据库管理系统技术的高年级本科生和研究生在有限的时间内学到各种需要的知识点,明显不方便,因此在教学中不得不准备多本相关参考书。 基于上述原因,将大型数据库管理系统的基本原理和在这些原理指导下的数据库管理、技术和程序设计结合起来是本书作者想要得到的结果,也是学生参加工作前急需掌握的一门重要技术。因此,作者基于多年该门课程教学的体会和经验,参考了众多数据库和SQL Server相关书籍及其他资料,编写了这本教材。 本书可作为高等学校计算机应用和信息管理与信息系统等相关专业本科生和研究生的教材,也可作为社会相关从业人员的自学培训教材,对于开发信息管理系统的技术人员具有较高的参考价值。 本书具有以下特色: (1)原理、管理、程序设计并重,使得内容全面,例题丰富,概念清晰,循序渐进,易于学习。 (2)分解难点,每周一个内容。设计成16个专题,既独立成章,又前后关联,便于教师教学。 (3)采用通俗易懂、容易理解的方法叙述复杂的概念,结合实例分析,帮助读者逐步掌握必要的技术知识。 (4)采用一个实例贯穿全书,使学生可以通过本书学习,彻底明白如何用SQL Server 2005技术完成数据库应用系统的设计、实现和管理。 本书主要内容包括:数据库基础知识、数据库应用设计、SQL Server 2005安装、配置与管理、SQL Server数据库存储原理和创建、表的结构分析及完整性创建管理、SQL Server查询处理和表数据编辑、T-SQL程序结构、SQL Server事务和并发控制、视图的规划与操作、索引的机理、规划和设计、游标操作和应用、存储过程和用户存储过程设计、触发器原理及使用、用户自定义函数设计、数据库安全及访问控制、数据备份与恢复、数据复制等,每章均配有针对性实验。 本书向使用本书作为教材的教师提供配套电子课件、实例数据库、习题参考答案和教学网站(http://wlkt.zufe.edu.cn/skyclass/SchoolSpace/CourseInfo/CourseIntro.asp?CourseId=349),请登录华信教育资源网(http://www.hxedu.edu.cn)注册下载。 本书第1版于2008年7月出版,经过3年实践教学的检验,结合广大使用本书作为教材的老师和同学提出的建议和意见,我对全书内容进行了整体修订。本次修订引用或参考了第1版的重要内容成果,在此向马雪英老师和邓绪斌老师深表谢意! 本书在编写过程中同时得到了浙江财经学院领导和信息学院领导及全体同事的大力支持,在此向他们和所有帮助和关心本书编写的朋友致以衷心的感谢! 在编写本书的过程中,我们参考了众多相关参考书、资料和SQL Server联机帮助,为了表示尊敬和感谢,在本书的最后我们尽量罗列说明,如有遗漏敬请谅解。 书中难免有许多不足和错误之处,恳请读者批评指正! 孟宪虎 2011年5月
目 录 第1章 数据库基础和数据库设计 1 1.1 数据库系统 1 1.1.1 数据、信息、数据库 1 1.1.2 数据库管理系统 2 1.2 数据库系统结构 3 1.2.1 数据库系统模式的概念 3 1.2.2 数据库系统的三级模式结构 3 1.2.3 数据库的二级映像功能 与数据独立性 4 1.2.4 数据库系统用户结构 5 1.3 关系数据库及其设计 6 1.3.1 关系数据库 6 1.3.2 关系数据库设计 7 1.3.3 关系数据库的完整性 12 1.4 教学管理数据库操作任务 14 实验与思考 17 第2章 服务器安装配置和使用 18 2.1 SQL Server 2005概述 18 2.1.1 SQL Server 2005版本 和环境需求介绍 18 2.1.2 SQL Server 2005的特点和组成 19 2.1.3 SQL Server 2005的安装 21 2.1.4 SQL Server Management Studio介绍 24 2.1.5 设置安全认证模式 26 2.1.6 分离和附加数据库文件 26 2.2 网络协议配置 27 2.2.1 SQL Server通信结构 27 2.2.2 配置服务器端网络协议 28 2.2.3 配置客户端网络协议 29 2.3 使用外围应用配置器 配置SQL Server服务 30 2.3.1 启动外围应用配置器 30 2.3.2 使用服务和连接的 外围应用配置器 30 2.3.3 使用功能的外围应用配置器 31 2.4 添加新的注册服务器 31 2.4.1 新建注册服务器 31 2.4.2 连接到数据库服务器 32 2.5 链接服务器建立及其使用 32 2.5.1 链接服务器简介 32 2.5.2 创建链接服务器 33 2.5.3 创建链接服务器登录标志 34 2.5.4 访问链接服务器 35 2.5.5 访问链接服务器的实例 36 实验与思考 37 第3章 SQL Server数据库 结构和管理 39 3.1 数据库物理存储结构 39 3.1.1 数据库文件和文件组 39 3.1.2 数据文件的使用分配 41 3.1.3 事务日志文件结构 44 3.2 数据库的逻辑组织 46 3.2.1 数据库构架 46 3.2.2 系统数据库 47 3.2.3 用户数据库 47 3.3 数据库创建与管理 48 3.3.1 创建数据库 48 3.3.2 管理数据库 51 实验与思考 56 第4章 表的存储原理及 完整性创建管理 58 4.1 SQL Server表的类型 58 4.1.1 SQL Server的临时表 58 4.1.2 SQL Server的系统表和 系统视图 59 4.2 表的存储原理 60 4.2.1 内部存储概述 60 4.2.2 SQL Server数据记录结构 61 4.3 SQL Server数据类型 64 4.3.1 数值型数据 64 4.3.2 货币型数据 64 4.3.3 字符型数据 65 4.3.4 日期/时间数据类型 65 4.4 数据表的创建和管理 65 4.4.1 数据表结构的创建 65 4.4.2 数据表结构的管理 72 实验与思考 75 第5章 查询处理和表数据编辑 76 5.1 查询数据 76 5.1.1 简单查询 76 5.1.2 统计 84 5.1.3 连接查询 86 5.1.4 子查询 89 5.1.5 联合查询 92 5.2 表数据编辑 92 5.2.1 插入数据 92 5.2.2 修改数据 94 5.2.3 删除数据 95 实验与思考 96 第6章 索引的机理、规划和管理 98 6.1 索引的作用与结构 98 6.1.1 索引概述 98 6.1.2 SQL Server索引下的 数据组织结构 99 6.2 索引类型 102 6.2.1 聚集索引和非聚集索引 102 6.2.2 主键索引和非主键索引 102 6.2.3 唯一索引和非唯一索引 102 6.2.4 单列索引和复合索引 103 6.3 规划设计索引的一般原则 103 6.3.1 什么类型查询适合建立索引 103 6.3.2 索引设计的其他准则 104 6.3.3 索引的特征 105 6.3.4 在文件组上合理放置索引 105 6.3.5 索引优化建议 105 6.4 索引的创建和删除 106 6.4.1 创建索引 106 6.4.2 删除索引 109 6.5 查询中的执行计划 110 6.5.1 查看查询执行计划 110 6.5.2 索引和未索引执行 计划的比较 111 6.6 索引使用中的维护 115 6.6.1 维护索引的统计信息 115 6.6.2 维护索引碎片 116 实验与思考 117 第7章 SQL Server事务和并发控制 119 7.1 事务 119 7.1.1 事务与并发控制的关系 119 7.1.2 事务对保障数据一致和 完整性的作用 120 7.2 事务的分类和控制 122 7.2.1 事务的分类 122 7.2.2 事务控制 122 7.3 编写有效事务的建议 124 7.3.1 编写有效事务的指导原则 125 7.3.2 避免并发问题 125 7.4 事务处理实例分析 125 7.5 分布式事务 129 7.5.1 分布式事务的两阶段提交 129 7.5.2 分布式事务的处理过程 129 7.5.3 分布式事务实例分析 130 7.6 并发控制 131 7.6.1 SQL Server锁的粒度及模式 131 7.6.2 封锁协议 134 7.6.3 事务隔离 135 7.6.4 死锁处理 137 实验与思考 138 第8章 Transact-SQL程序结构 140 8.1 注释和变量 140 8.1.1 T-SQL程序的基本结构 140 8.1.2 注释 142 8.1.3 变量 143 8.1.4 变量赋值 143 8.2 运算符和表达式 144 8.2.1 算术运算符 144 8.2.2 位运算符 144 8.2.3 连接运算符 144 8.2.4 比较运算符 144 8.2.5 逻辑运算符 145 8.2.6 表达式 145 8.3 函数 145 8.3.1 数学函数 145 8.3.2 字符串函数 147 8.3.3 时间日期函数 148 8.3.4 转换函数 149 8.3.5 配置函数 151 8.4 流程控制 152 8.4.1 块语句 152 8.4.2 条件语句 152 8.4.3 CASE语句 153 8.4.4 循环语句 154 8.4.5 等待语句 155 8.4.6 GOTO语句 156 8.4.7 返回语句 156 8.5 程序应用实例分析 156 实验与思考 158 第9章 视图的规划与操作 160 9.1 视图的作用与规划 160 9.1.1 视图的作用 160 9.1.2 视图的规划 161 9.2 视图操作 162 9.2.1 创建视图 162 9.2.2 视图的修改、重命名和删除 166 9.2.3 查询视图 168 9.2.4 更新视图 169 9.2.5 特殊类型视图简介 172 9.3 视图应用综合实例分析 177 实验与思考 179 第10章 游标操作和应用 181 10.1 游标声明 182 10.1.1 游标声明 182 10.1.2 游标变量 185 10.1.3 隐式游标转换 185 10.2 游标数据操作 186 10.2.1 打开游标 186 10.2.2 读取游标数据 187 10.2.3 关闭游标 189 10.2.4 释放游标 190 10.2.5 游标定位修改和删除操作 191 10.3 游标应用实例分析 192 实验与思考 195 第11章 用户自定义函数设计 196 11.1 用户自定义函数概述 196 11.1.1 用户自定义函数的特点 196 11.1.2 用户自定义函数的类型 196 11.2 创建用户自定义函数 197 11.2.1 使用对象资源管理器 198 11.2.2 使用CREATE FUNCTION 命令创建用户自定义函数 198 11.3 用户自定义函数的调用 202 11.4 修改和删除用户自定义函数 204 11.4.1 修改用户自定义函数 204 11.4.2 删除用户自定义函数 205 11.5 用户自定义函数实例分析 206 实验与思考 208 第12章 存储过程和用户 存储过程设计 209 12.1 存储过程概述 209 12.1.1 存储过程的概念和分类 209 12.1.2 存储过程的优点 209 12.2 系统存储过程 210 12.2.1 系统存储过程分类 210 12.2.2 一些常用的系统存储过程 211 12.3 创建和执行用户存储过程 212 12.3.1 创建用户存储过程 212 12.3.2 执行用户存储过程 215 12.4 带状态参数的存储 过程及实例分析 218 12.4.1 存储过程执行状态值的返回 218 12.4.2 实例分析 219 12.5 修改和删除存储过程 221 12.5.1 修改存储过程 221 12.5.2 删除存储过程 222 12.6 存储过程设计实例分析 222 实验与思考 226 第13章 触发器原理及使用 228 13.1 触发器基本概念 228 13.1.1 触发器的概念及作用 228 13.1.2 触发器的种类 229 13.2 触发器原理 229 13.2.1 插入表的功能 230 13.2.2 删除表的功能 230 13.2.3 插入视图和删除视图 230 13.3 触发器的创建和管理 230 13.3.1 创建触发器 230 13.3.2 管理触发器 234 13.3.3 修改、删除触发器 235 13.4 使用触发器实现 强制业务规则 236 13.4.1 INSERT触发器 237 13.4.2 UPDATE触发器 237 13.4.3 DELETE 触发器 238 13.4.4 INSTEAD OF 触发器 239 13.4.5 递归触发器 241 13.4.6 嵌套触发器 242 13.5 使用触发器的T-SQL限制 242 13.6 触发器应用实例分析 243 实验与思考 246 第14章 数据库安全及访问控制 247 14.1 SQL Server安全认证模式 247 14.2 SQL Server登录账户的管理 248 14.2.1 Windows登录账户的 建立与删除 248 14.2.2 SQL Server登录账户 建立与删除 251 14.3 数据库访问权限的 建立与删除 252 14.3.1 建立用户访问数据库的权限 253 14.3.2 删除用户访问数据库的权限 253 14.4 角色管理 254 14.4.1 固定服务器角色 255 14.4.2 数据库角色 257 14.5 数据库权限管理 263 14.5.1 权限种类 263 14.5.2 授予权限 264 14.5.3 禁止权限 266 14.5.4 取消权限 268 14.6 安全控制设置的实例分析 269 实验与思考 271 第15章 数据备份与恢复 272 15.1 数据备份概述 272 15.1.1 备份策略规划 272 15.1.2 数据一致性检查 274 15.2 备份前的准备 275 15.2.1 设置恢复模式 275 15.2.2 掌握备份设备管理 276 15.3 数据库备份 278 15.3.1 BACKUP语句的语法格式 278 15.3.2 执行数据库备份 280 15.4 数据库恢复概述 283 15.4.1 系统自启动的恢复进程 283 15.4.2 用户手工恢复数据库的准备 284 15.5 数据库恢复 284 15.5.1 RESTORE语句的语法格式 284 15.5.2 数据库恢复 286 15.6 备份与恢复数据库实例分析 288 15.6.1 用户数据库备份恢复 288 15.6.2 系统数据库恢复方法 290 实验与思考 291 第16章 数据复制与转换 292 16.1 复制概述 292 16.1.1 复制结构 292 16.1.2 复制类型 294 16.1.3 复制代理 295 16.1.4 可更新订阅 295 16.2 配置复制 296 16.2.1 创建服务器角色和 分发数据库 296 16.2.2 配置复制选项 297 16.2.3 删除复制配置信息 298 16.3 创建发布出版物 298 16.4 订阅出版物 299 16.5 管理复制选项 299 16.5.1 可更新的订阅选项 299 16.5.2 筛选复制数据 300 16.5.3 可选同步伙伴 301 16.6 复制监视器 301 16.7 数据导入导出 302 16.7.1 SQL Server数据表数据导出 302 16.7.2 SQL Server数据表数据导入 303 16.8 复制实例 303 实验与思考 306 附录A 样例数据库创建及数据输入 307 参考文献 312
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0133820