第1篇 SQL Server 2008基础 2
第1章SQL Server数据库 2
1.1数据库概述 2
1.1.1什么是数据库 2
1.1.2常见的主流数据库 2
1.1.3数据库核心技术——SQL 3
1.2认识SQL Server 2008 3
1.2.1 SQL Server的发展历史 3
1.2.2硬件配置要求 4
1.2.3操作系统要求 5
1.3安装 5
1.3.1安装准备 5
1.3.2选择要安装的功能 8
1.3.3实例命名 9
1.3.4选择账户 10
1.3.5选择验证模式 11
1.3.6选择数据目录 12
1.3.7其他配置 13
1.4 SQL Server 2008的登录 16
1.5 SQL Server 2008的管理工具 17
1.6使用SQL Server Management Studio执行SQL语句 18
1.7本章小结 18
1.8本章习题 18
第2章 创建数据库 19
2.1数据库的定义 19
2.1.1 SQL Server中的预留数据库 19
2.1.2 SQL Server示例数据库StudentMan 20
2.1.3数据库系统类型 21
2.1.4数据库的构成 21
2.1.5创建数据库前的准备 22
2.2数据库基本管理 24
2.2.1使用向导创建数据库 24
2.2.2使用SQL语句创建数据库 26
2.2.3使用向导修改数据库 26
2.2.4使用SQL语句修改数据库 29
2.2.5使用向导删除数据库 30
2.2.6使用SQL语句删除数据库 31
2.3数据库的脱机与联机 31
2.3.1使数据库脱机 32
2.3.2使数据库联机 32
2.4数据库的分离与附加 32
2.4.1分离数据库 32
2.4.2附加数据库 33
2.5收缩数据库 35
2.5.1自动收缩 35
2.5.2手动收缩 36
2.5.3收缩数据库文件 37
2.6本章小结 38
2.7本章习题 38
第3章 定义表 39
3.1什么是表 39
3.2 SQL Server的数据类型 39
3.2.1数值类型 40
3.2.2字符类型 41
3.2.3日期时间类型 42
3.2.4二进制类型 42
3.2.5其他类型 43
3.2.6程序中的数据类型 44
3.3创建表 45
3.3.1使用向导创建表 45
3.3.2使用SQL语句创建表 46
3.4定义其他表 47
3.5设置主键 48
3.5.1使用向导创建主键 48
3.5.2使用SQL语句创建主键 49
3.6创建关系 50
3.7输入数据 52
3.8修改表 53
3.8.1使用向导修改表名 53
3.8.2使用SQL语句修改表名 54
3.8.3使用向导修改表结构 54
3.8.4使用SQL语句修改表结构 56
3.8.5修改表属性 56
3.9删除表 57
3.9.1使用向导删除表 58
3.9.2使用SQL语句删除表 58
3.10临时表 59
3.10.1创建临时表 59
3.10.2查询临时表 59
3.10.3删除临时表 60
3.11本章小结 60
3.12本章习题 60
第4章 索引 61
4.1索引概述 61
4.1.1索引的类型 61
4.1.2索引的要求和注意事项 62
4.2创建索引 62
4.2.1使用向导创建索引 62
4.2.2使用SQL语句创建索引 63
4.3管理索引 64
4.3.1查看索引信息 64
4.3.2修改索引 67
4.3.3删除索引 68
4.4本章小结 69
4.5本章习题 69
第5章 Transact-SQL基本语句 70
5.1 Transact-SQL概述 70
5.1.1 Transact-SQL简介 70
5.1.2 Transact-SQL的特点 70
5.2常用SQL语句 71
5.2.1基本查询语句SELECT FROM 71
5.2.2条件语句WHERE 72
5.2.3多条件语句AND、OR 73
5.2.4分组语句GROUP BY 74
5.2.5分组条件语句HAVING 74
5.2.6排序语句ORDER BY 75
5.2.7返回前部数据语句TOP 75
5.2.8单一数据语句DISTINCT 76
5.2.9条件区间语句BETWEEN 76
5.2.10模糊查询语句LIKE 77
5.2.11插入数据语句INSERT 77
5.2.12修改数据语句UPDATE 79
5.2.13删除语句DELETE 80
5.3 Transact-SQL的编程基础 82
5.3.1常量与变量 82
5.3.2表达式 85
5.3.3运算符 85
5.3.4通配符 87
5.4常用数据处理 88
5.4.1字符串数据处理 88
5.4.2数学数据处理 91
5.4.3数据类型转换处理 93
5.4.4聚合函数 94
5.4.5日期和时间数据处理 95
5.5本章小结 97
5.6本章习题 97
第2篇 开发应用 100
第6章 高级Transact-SQL 100
6.1子查询 100
6.1.1 IN子句 100
6.1.2 NOT IN子句 101
6.1.3 COMPUTE子句 101
6.1.4 COMPUTE BY子句 102
6.1.5 EXISTS子句 103
6.1.6 NOT EXISTS子句 103
6.1.7 ALL、ANY和SOME子句 104
6.2 APPLY运算符 104
6.2.1 CROSS APPLY 104
6.2.2 OUTER APPLY 105
6.3排名函数 105
6.3.1 ROW_NUMBER 106
6.3.2 RANK 106
6.3.3 DENSE_RANK 107
6.3.4 NTILE 107
6.4关系连接 108
6.4.1连接查询 108
6.4.2笛卡儿积 108
6.4.3内部连接 108
6.4.4使用表别名 109
6.4.5外部连接 109
6.4.6自连接 111
6.4.7联合查询 111
6.5实现数据分页 112
6.6本章小结 113
6.7本章习题 113
第7章 构建视图 114
7.1视图概述 114
7.1.1视图定义 114
7.1.2视图的类型 115
7.1.3视图的限制 115
7.2标准视图 115
7.2.1创建视图 116
7.2.2管理视图 118
7.2.3使用视图更新基表的数据 121
7.3加密视图 121
7.4限制视图所用的表或视图 123
7.5本章小结 123
7.6本章习题 123
第8章 存储过程 124
8.1存储过程概述 124
8.2存储过程分类 124
8.3存储过程的使用原则 125
8.4控制流程语句 126
8.4.1 IF…ELSE语句 126
8.4.2 BEGIN…END语句 127
8.4.3 CASE语句 127
8.4.4 WHILE…CONTINUE…BREAK语句 128
8.4.5 RETRUN语句 129
8.5存储过程应用 129
8.5.1创建存储过程 129
8.5.2执行与修改存储过程 130
8.5.3删除存储过程 132
8.6本章小结 133
8.7本章习题 133
第9章 触发器 134
9.1触发器概述 134
9.1.1触发器的分类 134
9.1.2触发器的作用 134
9.2使用DML触发器 135
9.2.1 DML触发器的工作原理 135
9.2.2创建DML触发器 136
9.2.3触发器的运行验证 137
9.2.4修改DML触发器 138
9.2.5禁用与启用DML触发器 140
9.2.6删除DML触发器 141
9.3使用DDL触发器 142
9.3.1创建DDL触发器 142
9.3.2验证DDL触发器 144
9.3.3查看与修改DDL触发器 144
9.4触发器的应用技巧 145
9.4.1如何知道触发器修改了多少条记录 145
9.4.2如何知道插入记录的自动编号是多少 145
9.5本章小结 146
9.6本章习题 146
第10章 游标 147
10.1游标概述 147
10.2游标的基本操作 147
10.2.1声明游标 147
10.2.2打开游标 148
10.2.3读取游标数据 148
10.2.4关闭和释放游标 149
10.3使用游标 150
10.3.1用游标处理数据 150
10.3.2使用游标变量 150
10.3.3在存储过程中使用游标 151
10.4在游标中常用的变量、函数和存储过程 152
10.4.1使用系统变量查看游标信息 152
10.4.2使用函数查看游标状态 153
10.4.3使用系统存储过程查看游标属性 153
10.5本章小结 154
10.6本章习题 154
第11章 用户自定义函数和数据类型 155
11.1自定义函数概述 155
11.1.1自定义函数与存储过程的区别 155
11.1.2自定义函数类型 155
11.2创建自定义函数 156
11.2.1创建标量函数 156
11.2.2创建内联表值函数 157
11.2.3创建多语句表值函数 158
11.3使用和维护自定义函数 159
11.3.1查看与修改自定义函数 159
11.3.2使用自定义函数 160
11.3.3删除自定义函数 161
11.4自定义数据类型 162
11.4.1使用向导创建自定义数据类型 162
11.4.2使用存储过程创建自定义数据类型 164
11.4.3使用自定义数据类型 164
11.4.4删除自定义数据类型 165
11.5本章小结 166
11.6本章习题 166
第3篇 数据库管理 168
第12章SQL Server 2008的事务与锁 168
12.1事务的概念 168
12.1.1事务的属性 168
12.1.2事务的类型 169
12.1.3事务的隔离级别 169
12.2使用事务 169
12.2.1事务语句 170
12.2.2事务举例 170
12.2.3嵌套事务 171
12.2.4事务保存点 171
12.3事务中禁用的Transact-SQL语句 172
12.4锁 173
12.4.1锁的概念 173
12.4.2锁的模式 173
12.4.3锁的使用 174
12.4.4死锁与相关处理 174
12.5本章小结 175
12.6本章习题 175
第13章 全文索引 176
13.1全文索引概述 176
13.2全文索引中常用的术语 176
13.3全文索引的体系结构 177
13.4全文目录管理 178
13.4.1创建全文目录 178
13.4.2查看与修改全文目录 179
13.4.3删除全文目录 181
13.5全文索引管理 182
13.5.1创建全文索引的注意事项 182
13.5.2创建全文索引 183
13.5.3查看与修改全文索引 185
13.5.4启用和禁用全文索引 186
13.5.5删除全文索引 186
13.6填充全文索引 186
13.6.1填充全文索引的方式 186
13.6.2填充全文索引 187
13.7使用全文搜索查询 188
13.7.1使用CONTAINS搜索 189
13.7.2使用FREETEXT搜索 190
13.7.3使用CONTAINSTABLE搜索 191
13.7.4使用FREETEXTTABLE搜索 191
13.7.5搜索image字段 191
13.8本章小结 192
13.9本章习题 192
第14章数据库备份 193
14.1备份简介 193
14.2数据库的恢复模式 193
14.3备份策略 194
14.4备份数据库 195
14.4.1使用向导备份数据库 195
14.4.2使用SQL语句备份数据库 196
14.5还原数据库 197
14.5.1使用向导还原数据库 197
14.5.2使用SQL语句还原数据库 198
14.6本章小结 198
14.7本章习题 198
第15章 数据库的维护计划 199
15.1维护计划概述 199
15.2使用数据库维护计划 199
15.2.1使用向导创建维护计划 199
15.2.2删除维护计划 203
15.3本章小结 204
15.4本章习题 204
第16章 将数据升迁到SQL Server 2008 205
16.1什么是SSMA 205
16.2 SSMA的下载与安装 205
16.3进行数据升迁 208
16.4查看数据升迁结果 211
16.5本章小结 212
16.6本章习题 212
第17章 SQL Server 2008安全性管理 213
17.1 SQL Server 2008安全性 213
17.1.1 SQL Server 2008安全性简介 213
17.1.2 SQL Server 2008安全管理等级 213
17.2 SQL Server 2008验证模式 214
17.2.1 Windows身份验证 214
17.2.2 混合模式 214
17.3管理SQL Server 2008登录 215
17.3.1创建SQL Server登录 215
17.3.2删除SQL Server登录 217
17.3.3创建Windows登录 218
17.3.4删除Windows登录 220
17.4权限 221
17.4.1权限类型 222
17.4.2为用户设置权限 222
17.4.3使用登录名登录 227
17.5角色 229
17.5.1角色简介 229
17.5.2服务器角色 229
17.5.3将用户设为服务器角色 230
17.5.4数据库角色 231
17.5.5将用户设为数据库角色 231
17.6保证数据库服务器的安全 232
17.7本章小结 234
17.8本章习题 234
第4篇 高级功能 236
第18章 报表服务 236
18.1报表服务概述 236
18.2使用报表服务 236
18.2.1创建报表服务器项目 236
18.2.2创建数据源 237
18.2.3创建报表 239
18.2.4发布报表 243
18.2.5自定义报表信息 243
18.3本章小结 244
18.4本章习题 244
第19章 分析服务 245
19.1 Analysis Service概述 245
19.1.1数据仓库 245
19.1.2数据仓库的结构 245
19.1.3联机分析处理 246
19.1.4数据挖掘 247
19.2使用分析服务项目 247
19.2.1创建分析服务项目 247
19.2.2定义数据源 248
19.2.3定义数据源视图 249
19.2.4定义多维数据集 251
19.2.5部署Analysis Service项目 252
19.2.6查看多维数据集 253
19.3本章小结 255
第5篇 数据库应用开发 258
第20章 使用C#进行SQL Server 2008应用开发 258
20.1 Windows应用开发概述 258
20.1.1 C/S模式的工作原理 258
20.1.2 .NET框架 258
20.1.3 Visual Studio编程环境 258
20.2 Visual Studio 2010的数据管理功能 261
20.3 ADO.NET技术概述 263
20.4使用ADO.NET进行数据库操作 264
20.4.1连接数据库 264
20.4.2连接字符串 267
20.4.3打开和关闭连接 268
20.4.4使用SqlDataAdapter对数据库中表的查询 268
20.4.5使用Command对象操作数据库 270
20.4.6使用DataSet对象处理数据 273
20.5使用DataGridView控件访问数据 275
20.6开发实例 283
20.7本章小结 286
20.8本章习题 286
第21章 Java与SQL Server 2008 287
21.1 Java概述 287
21.2 Java开发环境 288
21.3 JDBC API 289
21.3.1连接对象Connection 289
21.3.2 Statement对象 290
21.3.3 PreparedStatement对象 291
21.3.4结果集ResultSet 292
21.4 JDBC编程步骤 293
21.4.1 JDBC概述 293
21.4.2设置数据源 293
21.4.3加载驱动程序 295
21.4.4建立连接 296
21.5数据库操作 297
21.5.1使用JDBC向数据库表插入数据 297
21.5.2使用JDBC查询数据库表数据 300
21.5.3使用JDBC查询指定条件的数据 302
21.5.4使用JDBC删除表数据 303
21.5.5使用JDBC修改表数据 304
21.6结果集 306
21.6.1滚动结果集 306
21.6.2可更新结果集 310
21.7数据库综合示例 314
21.8本章小结 317
21.9本章习题 317
附录A系统保留字 319
附录B系统存储过程sp_cursor_list的返回游标数据结构 321