标题：从零开始学SQL Server
图书信息
  　　书名：从零开始学SQL Server          
作者：桂颖 等编著
ISBN：978-7-121-12290-3
出版日期：2011年2月 
定价：39.80元（含DVD光盘1张）
内 容 简 介
要想学好SQL Server 2005，选择一本适合自己的入门书是非常重要的。本书从数据库基础开始，循序渐进地讲解了数据库对象编程及数据库应用系统开发，章节安排合理，由浅入深，通过生动的实例和详细的代码注释，带领读者掌握SQL Server 2005数据库应用的技巧。
本书共分17章，从易到难，循序渐进地介绍了SQL Server 2005数据库的各个知识点。主要内容包括SQL Server 2005数据库基础、SQL Server 2005数据库安装及基本应用、SQL语言、函数、数据库和表操作、数据的查询、数据的更新、事物和锁、索引、游标、存储过程和自定义函数、视图、触发器、SQL Server 2005安全策略、图书管理系统开发实例、BBS论坛系统开发等。
随书所附光盘内容为本书的实例文件和作者专门为本书录制的全程多媒体语音教学视频。
本书内容全面，论述翔实，适合SQL Server 2005的初学者，也可作为高等院校师生的参考书，对于SQL Server 2005的爱好者，本书也有着很高的参考价值。
前  言
关系数据库是提高生产率的实际基础。    
——Edgar Frank Codd（关系数据库之父）
数据库技术是计算机科学的重要分支，已成为计算机数据管理的最新技术。Microsoft SQL Server 2005是基于客户/服务器模式（C/S模式）的新一代大型关系型数据库管理系统（DBMS）。它是全面的、集成的、端到端的数据解决方案，以其易操作、强大的功能及友好的界面，受到了广大企业用户的青睐。
为了使读者更好地掌握SQL Server 2005的新功能、新特性，更好地利用SQL Server 2005进行数据库系统开发，本书将详细、系统地介绍SQL Server 2005的基本使用方法及在基础知识上的深入应用。
SQL Server 2005数据库管理系统在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用，为企业的数据管理提供强大的支持，对数据库中的数据提供有效的管理，并采取有效的措施保证数据的完整性及数据的安全性。SQL Server 2005拥有功能强大、操作方便的工具，同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
本书的特点
本书在内容上采用知识点和案例相结合的形式，将知识融入案例中，使读者能够从实践中理解并巩固知识，在实践中提高能力。本书在叙述上力求通俗易懂，编排科学，图文并茂，注重实用。为了方便读者阅读及更加清晰地理解，本书对部分理解有困难的案例做了适量的注释分析。本书的主要特点如下：
    讲解内容全面。涵盖了SQL Server 2005的各项基础知识，如T-SQL语言基本语法、SQL选择语句、插入语句等，以及存储过程、视图、事物和锁等高层次内容，集中篇幅深入讲解这些最实用的内容。
    实例丰富。绝大部分章节以实例程序为核心，在实际应用中讲解要介绍的内容，例如，事物和锁的应用是比较重要的一个知识点，为了方便读者理解，本书专门设计了实例，将所有知识点纳入其中，让读者在实例中得到学习提升。
    代码注释丰富。对于实例代码，提供详细的代码注释，通过注释，读者可以了解每一句代码的意义，无须担心看不懂代码。
    通俗易懂。将很多复杂的原理用通俗的话讲出来，原理就简单了，方便读者了解。
1. 清晰的体例结构
知识点介绍  准确、清晰是其显著特点，一般放在每一节开始位置，让零基础的读者了解相关概念，顺利入门。
实例  书中出现的完整实例，以章节顺序编号，便于检索和循序渐进地学习、实践，放在每节知识点介绍之后。
实例代码  与实例编号对应，层次清楚、语句简洁、注释丰富，体现了代码优美的原则，有利于读者养成良好的代码编写习惯。对于大段程序，均在每行代码前设定编号便于学习。
运行结果  对实例给出运行结果和对应图示，帮助读者更直观地理解实例代码。
贴心的提示  为了便于读者阅读，全书还穿插着一些提示、注意等小贴士，体例约定如下：
提示：通常是一些贴心的提醒，让读者加深印象或提供建议，或者解决问题的方法。
注意：提出学习过程中需要特别注意的一些知识点和内容。
习题  每章最后提供专门的测试习题，供读者检验所学知识是否牢固掌握，题目的提示或答案放在光盘中。
经作者多年的培训和授课证明，以上讲解方式是最适合初学者学习的方式，读者按照这种方式，会非常轻松、顺利地掌握本书知识。
2．实用超值的DVD光盘
为了帮助读者比较直观地学习，本书附赠DVD光盘，内容包括多媒体视频、电子教案（PPT）和实例源代码等。
 多媒体视频
配有长达23小时手把手教学视频，讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示，手把手教会读者使用。
 电子教案（PPT）
本书可以作为高校相关课程的教材或课外辅导书，所以笔者特别为本书制作了电子教案（PPT），以方便老师教学使用。
3．提供完善的技术支持
本书提供了论坛读者可以在上面提问交流。另外，论坛上还有一些小的教程、视频动画和各种技术文章，可帮助读者提高开发水平。
4．丰富的额外素材下载
相关的开发素材文件提供下载。
适合阅读本书的读者
SQL Server开发自学者；
软件开发人员；
高等院校相关专业的学生。
本书作者
本书由山西忻州职业技术学院的周瑞主笔编写。其他参与本书编写的人员有昊燃、刘永纯、曾光、张双、朱照华、黄永湛、孟祥嵩、张贺军、李勇、关涛、王岩、李晓白、魏星、刘蕾等，在此一并表示感谢！
编著者
目  录
目    录
第1篇  数据库入门
第1章  SQL Server 2005数据库基础（教学视频：34分钟）    15
1.1  数据库的世界    15
1.1.1  信息    16
1.1.2  数据    16
1.1.3  数据管理    16
1.1.4  数据库管理系统    16
1.1.5  数据库系统    17
1.2  数据库的成长历程    17
1.2.1  人工管理阶段    17
1.2.2  文件系统阶段    18
1.2.3  数据库系统阶段    19
1.2.4  数据库发展历程和研究方向    19
1.3  数据库应用系统的开发步骤    20
1.3.1  项目规划期    21
1.3.2  项目开发时期    21
1.4  本章小结    22
1.5  习题    23
第2章  初识SQL Server 2005（教学视频：58分钟）    24
2.1  SQL Server 2005的组成    24
2.1.1  SQL Server数据库引擎    24
2.1.2  分析服务（Analysis Services）    25
2.1.3  集成服务（Integration Services）    25
2.1.4  报表服务（Reporting Services）    25
2.2  为什么选择SQL Server 2005    26
2.3  如何选择SQL Server 2005的版本    27
2.3.1  SQL Server 2005企业版    27
2.3.2  SQL Server 2005标准版    27
2.3.3  SQL Server 2005工作组版    28
2.3.4  SQL Server 2005开发版    28
2.3.5  SQL Server 2005学习版    28
2.4  SQL Server 2005的安装与配置    28
2.4.1  SQL Server 2005 的安装    28
2.4.2  SQL Server 2005 的配置    32
2.5  了解SSMS基本操作    36
2.5.1  SSMS的启动与连接    36
2.5.2  使用模板资源管理器、解决方案与项目脚本    37
2.5.3  配置SQL Server服务器的属性    39
2.5.4  查询编辑器    43
2.6  小结    44
2.7  习题    44
第2篇  SQL Server基础篇
第3章  管理SQL Server 2005的工具——SQL语言（教学视频：62分钟）    45
3.1  SQL语言简介    45
3.1.1  SQL语言的主要特点    45
3.1.2  如何分类SQL语言    46
3.1.3  SQL语法简介    48
3.1.4  如何给标识符起名    48
3.2  数据类型大家族    50
3.2.1  SQL Server 数据类型概述    50
3.2.2  系统数据类型    51
3.2.3  自定义数据类型    56
3.3  变量    58
3.3.1  批和脚本    58
3.3.2  局部变量    60
3.3.3  全局变量    60
3.4  SQL的佐料——运算符    62
3.4.1  算术运算符    62
3.4.2  比较运算符    62
3.4.3  逻辑运算符    63
3.4.4  连接运算符    64
3.4.5  按位运算符    64
3.4.6  运算符的优先级    65
3.5  认识表达式    65
3.5.1  什么是表达式    65
3.5.2  SQL表达式的分类    65
3.6  SQL利器——通配符    67
3.7  SQL语言中的注释    67
3.8  小结    67
3.9  习题    68
第4章  走进SQL语句的世界（教学视频：87分钟）    69
4.1  数据定义语句（DDL）    69
4.1.1  CREATE的应用    69
4.1.2  DROP的功能    71
4.1.3  ALTER的功能    72
4.2  数据操作语句（DML）    73
4.2.1  数据的插入——INSERT    73
4.2.2  数据的删除——DELETE    74
4.2.3  数据的更改——UPDATE    75
4.2.4  数据的查询——SELECT    76
4.3  数据控制语句（DCL）    82
4.3.1  如何给用户授予权限——GRANT    82
4.3.2  拒绝权限操作——DENY    82
4.3.3  收回权限操作——REVOKE    83
4.4  其他基本语句    83
4.4.1  数据声明——DECLARE    83
4.4.2  数据赋值——SET    84
4.4.3  数据输出——PRINT    84
4.5  循环控制语句    84
4.5.1  语句块BEGIN…END    85
4.5.2  GOTO语句    85
4.5.3  IF…ELSE语句    85
4.5.4  CASE语句    86
4.5.5  WHILE循环语句    87
4.5.6  WAITFOR语句    88
4.5.7  RETURN语句    88
4.6  批处理语句    89
4.7  小结    90
4.8  习题    91
第5章  轻轻松松认识函数（教学视频：62分钟）    92
5.1  数学函数    92
5.2  字符串函数    93
5.2.1  ASCII函数    94
5.2.2  CHAR函数    94
5.2.3  CHARINDEX函数    95
5.2.4  LEFT函数    95
5.2.5  RIGHT函数    95
5.2.6  LEN函数    96
5.2.7  LTRIM函数    96
5.2.8  RTRIM函数    96
5.2.9  LOWER函数    96
5.2.10  UPPER函数    97
5.2.11  PATINDEX函数    97
5.2.12  REPALCE函数    97
5.2.13  REVERSE函数    98
5.2.14  STR函数    98
5.2.15  SUBSTRING函数    98
5.3  日期和时间函数    98
5.3.1  DATEADD函数    99
5.3.2  DATENAME函数    99
5.3.3  DATEPART函数    99
5.3.4  DAY函数    100
5.3.5  MONTH函数    100
5.3.6  YEAR函数    100
5.3.7  GETDATE函数    100
5.4  数据类型转换函数    101
5.4.1  CAST函数    101
5.4.2  CONVERT函数    101
5.5  聚合函数    101
5.5.1  AVG函数    102
5.5.2  COUNT函数    102
5.5.3  MAX函数    103
5.5.4  MIN函数    103
5.5.5  SUM函数    103
5.6  系统函数    103
5.6.1  SERVERPROPERTY函数    104
5.6.2  DATABASEPROPERTY函数    105
5.6.3  TYPEOFPROPERTY函数    105
5.6.4  OBJECT_ID函数    105
5.7  文本和图像函数    105
5.7.1  TEXTPTR函数    105
5.7.2  TEXTVALID函数    106
5.8  小结    106
5.9  习题    106
第6章  实战开始——数据库和表的操作（教学视频：88分钟）    107
6.1  深入浅出了解数据库    107
6.1.1  数据库    107
6.1.2  数据库的建立    109
6.1.3  数据库的修改    114
6.1.4  数据库的删除    115
6.1.5  关于数据库的其他操作    116
6.2  如何设计表    123
6.2.1  数据库表简介    124
6.2.2  如何设计表    124
6.2.3  表的建立    126
6.2.4  表的修改    129
6.2.5  表的删除    130
6.3  数据完整性    131
6.3.1  数据完整性分类    131
6.3.2  规则的创建与管理    132
6.3.3  约束    134
6.4  小结    135
6.5  习题    136
第7章  数据的查询（教学视频：72分钟）    137
7.1  SELECT语句的语法结构    137
7.2  基本SELECT查询    138
7.2.1  查询表中所有的列    138
7.2.2  查询表中指定列的信息    138
7.2.3  在查询列表中使用列表达式    139
7.2.4  重新命名结果列名    140
7.2.5  说明列的定义    140
7.2.6  取得查询结果的部分行集    141
7.3  基于条件的查询    142
7.3.1  使用关系表达式表示查询条件    142
7.3.2  使用逻辑表达式表示查询条件    143
7.3.3  使用LIKE关键字进行模糊查询    144
7.3.4  使用BETWEEN…AND关键字表示查询条件    145
7.3.5  IN关键字表示查询条件    145
7.3.6  NULL关键字的使用    146
7.4  对查询结果排序输出    147
7.5  查询结果的新建表存储    147
7.6  聚合函数在查询中的使用    148
7.6.1  SUM函数    148
7.6.2  AVG函数    148
7.6.3  MAX函数    149
7.6.4  MIN函数    149
7.6.5  COUNT和COUNT(*)函数    149
7.7  查询结果的汇总    150
7.8  多表连接查询    151
7.8.1  内连接    152
7.8.2  外连接    152
7.8.3  交叉连接（CROSS JOIN）    154
7.8.4  自连接    154
7.9  嵌套查询    154
7.9.1  子查询作为新增列    154
7.9.2  使用IN关键字进行子查询    155
7.9.3  使用比较运算符    155
7.9.4  使用BETWEEN关键字    156
7.9.5  EXISTS关键字的应用    156
7.9.6  子查询与数据更新    157
7.10  小结    157
7.11  习题    157
第3篇  进阶篇
第8章  数据的更新（教学视频：32分钟）    158
8.1  插入——INSERT    158
8.1.1  插入单行数据    159
8.1.2  插入多行数据    160
8.1.3  技术提升    160
8.2  修改——UPDATE    161
8.2.1  修改单行数据    162
8.2.2  修改多行数据    162
8.2.3  技术提升    163
8.3  删除数据——DELETE    164
8.3.1  删除部分数据    164
8.3.2  删除表中所有数据    165
8.4  小结    165
8.5  习题    166
第9章  事务和锁（教学视频：63分钟）    167
9.1  事务管理    167
9.1.1  事务的原理    167
9.1.2  事务管理的常用语句    169
9.1.3  事务恢复和检查点机制    169
9.1.4  事务的类型    170
9.1.5  事务的应用案例    171
9.2  锁    174
9.2.1  锁的内涵与作用    174
9.2.2  可锁定资源与锁的类型    175
9.2.3  死锁    177
9.2.4  锁的应用案例    180
9.3  小结    182
9.4  习题    182
第10章  索引（教学视频：19分钟）    183
10.1  索引初探    183
10.1.1  索引的概念    183
10.1.2  索引的分类    184
10.2  索引的创建与管理    185
10.2.1  索引的创建    185
10.2.2  如何构建优化索引    188
10.2.3  索引的管理    188
10.3  小结    190
10.4  习题    190
第11章  游标（教学视频：51分钟）    191
11.1  认识游标    191
11.1.1  游标的定义    191
11.1.2  游标的分类    192
11.2  游标的操作    193
11.2.1  声明游标与打开游标    193
11.2.2  从游标中读取数据    195
11.2.3  关闭游标和释放游标    197
11.2.4  游标变量的创建及如何使用游标修改数据    198
11.3  小结    203
11.4  习题    203
第12章  存储过程与自定义函数（教学视频：55分钟）    204
12.1  存储过程    204
12.1.1  存储过程的概念    204
12.1.2  存储过程的优缺点    205
12.1.3  存储过程的类型    206
12.1.4  存储过程与视图的比较    206
12.2  创建和执行存储过程    207
12.2.1  创建存储过程    207
12.2.2  执行存储过程    210
12.2.3  带输入参数的存储过程    212
12.2.4  带输出参数的存储过程    213
12.2.5  综合实例    215
12.3  存储过程的有关操作    219
12.3.1  修改存储过程    219
12.3.2  查看存储过程    221
12.3.3  重命名存储过程    222
12.3.4  删除存储过程    223
12.4  系统存储过程与扩展存储过程    224
12.4.1  系统存储过程    224
12.4.2  扩展存储过程    226
12.5  用户自定义函数    226
12.6  小结    228
12.7  习题    228
第13章  视图（教学视频：33分钟）    229
13.1  视图的定义及其重要功能    229
13.1.1  视图的定义    229
13.1.2  视图的功能和优点    229
13.2  视图的具体操作    230
13.2.1  视图的语法    230
13.2.2  视图的修改    234
13.2.3  视图的删除    235
13.2.4  通过视图向表中插入数据    235
13.2.5  通过视图修改表中数据    236
13.3  索引视图    237
13.3.1  索引视图的概念及其使用范围    237
13.3.2  索引视图的设计方针    238
13.3.3  索引视图设计注意事项    238
13.4  小结    239
13.5  习题    239
第4篇  SQL Server应用篇
第14章  触发器（教学视频：53分钟）    240
14.1  触发器的概念    240
14.1.1  触发器的作用    240
14.1.2  触发器中的两个专用表    241
14.2  触发器的分类    242
14.2.1  DML触发器    242
14.2.2  DDL触发器    243
14.3  DML触发器的创建与管理    243
14.3.1  设计DML触发器的注意事项和技巧    243
14.3.2  创建After触发器    244
14.3.3  创建Instead Of 触发器    248
14.3.4  如何使用DML触发器    249
14.3.5  DML触发器的管理    252
14.4  DDL触发器的创建与管理    256
14.4.1  DDL触发器的创建    256
14.4.2  DDL触发器的使用    257
14.4.3  DDL触发器管理    258
14.5  小结    259
14.6  习题    259
第15章  了解SQL Server 2005中的安全策略（教学视频：22分钟）    260
15.1  SQL Server安全性概述    260
15.1.1  理解SQL Server 2005的安全机制    260
15.1.2  安全性方面一些基本术语的理解    261
15.2  SQL Server 2005的登录管理    267
15.2.1  理解SQL Server 2005的登录机制    267
15.2.2  登录到SQL Server 2005    267
15.2.3  设置SQL Server 2005的身份验证方式和sa账户    268
15.2.4  SQL Server 2005的登录名管理    270
15.3  SQL Server 2005的架构管理    273
15.4  SQL Server 2005的角色和用户管理    275
15.4.1  固定服务器角色    276
15.4.2  数据库角色    276
15.4.3  应用程序角色    278
15.5  小结    280
15.6  习题    280
第5篇  案例实战篇
第16章  图书管理系统开发实例（教学视频：51分钟）    281
16.1  Java语言在系统开发中的地位    281
16.1.1  Java的特点    281
16.1.2  Java访问数据库技术    282
16.1.3  JDBC    283
16.1.4  DAO模式    286
16.2  图书馆管理系统需求分析及系统设计    287
16.2.1  系统登录    288
16.2.2  基本数据维护    288
16.2.3  新书订购管理    292
16.2.4  图书借阅管理    294
16.2.5  系统维护模块    296
16.3  小结    298
第17章  BBS论坛系统开发（教学视频：29分钟）    299
17.1  系统设计    299
17.1.1  BBS论坛概述    299
17.1.2  系统功能模块    299
17.2  数据库设计    300
17.2.1  数据库分析和设计    300
17.2.2  创建数据表    300
17.3  连接数据库    302
17.4  前台功能设计    303
17.4.1  注册与登录模块    303
17.4.2  版块列表模块    305
17.4.3  主题帖列表    307
17.4.4  发帖与回帖模块    310
17.5  后台功能设计    312
17.5.1  添加用户模块    312
17.5.2  用户管理模块    314
17.6  小结    317