第一篇SQL Server 2008基础篇 15
第1章 学习数据库的准备 15
1.1认识数据库 15
1.1.1为什么要使用数据库 15
1.1.2认识数据库产品 15
1.2了解数据库对象 17
1.2.1表 17
1.2.2视图 17
1.2.3索引 18
1.2.4存储过程 18
1.2.5触发器 18
1.3认识SQL语言 18
1.3.1什么是SQL 18
1.3.2 SQL语言的分类 19
1.4绘制E-R图设计数据库 20
1.4.1绘制E-R图的基本要素 20
1.4.2 E-R图绘制实例 22
1.5小结 24
1.6习题 24
第2章 数据库的安装 26
2.1 SQL Server 2008版本介绍 26
2.1.1 SQL Server 2008服务器版 26
2.1.2 SQL Server 2008专业版 26
2.2 SQL Server 2008环境需求 27
2.2.1 SQL Server 2008 Enterprise的软硬件要求 27
2.2.2 SQL Server 2008 EnterpriseEvaluation的软硬件要求 28
2.3安装SQL Server 2008 29
2.3.1自己动手安装SQL Server 2008 29
2.3.2安装示例数据库 39
2.4认识SQL Server Management Studio(企业管理器) 40
2.4.1访问SQL Server ManagementStudio 40
2.4.2 SQL Server Management Studio菜单简介 42
2.4.3查询编辑器窗口 43
2.4.4对象资源管理器 44
2.4.5 SQL编辑器 44
2.5小结 45
2.6习题 45
第二篇SQL Server 2008管理篇 47
第3章 数据库操作 47
3.1在SSMS中创建数据库 47
3.1.1数据库命名需要注意的问题 47
3.1.2数据库的所有者与权限 48
3.1.3创建数据库 48
3.2在SSMS中修改数据库配置 52
3.2.1使用SSMS修改数据库配置的通用步骤 52
3.2.2在SSMS中添加数据库文件 53
3.2.3在SSMS中删除数据库文件 53
3.2.4修改数据库的所有者 55
3.2.5限制用户的访问 56
3.2.6设置用户对数据库的使用权限 57
3.2.7修改数据库名称 59
3.3使用SQL语句创建、修改、删除数据库 59
3.3.1用CREATE DATABASE语句创建数据库 59
3.3.2用ALTER DATABASE语句修改数据库 60
3.3.3用DROP DATABASE语句删除数据库 62
3.4附加与分离数据库 63
3.4.1分离数据库 63
3.4.2附加数据库 64
3.5编写数据库脚本文件 66
3.6综合练习 67
3.7小结 69
3.8习题 69
第4章 数据表操作 71
4.1认识数据类型 71
4.1.1字符型数据类型 71
4.1.2数值型数据类型 72
4.1.3日期和时间数据类型 73
4.1.4其他数据类型 73
4.2创建数据表 74
4.2.1创建数据表的语法 74
4.2.2创建主键 75
4.2.3使用SSMS创建表 76
4.2.4创建标识列 78
4.3修改表结构 79
4.3.1修改表结构的语法 80
4.3.2在SSMS中修改表结构 82
4.4表的删除、截断与重命名 82
4.4.1使用SSMS删除和重命名表 83
4.4.2使用DROPTABLE语句删除表 83
4.4.3截断表 84
4.4.4重命名表 85
4.5小结 85
4.6习题 85
第5章 确保数据完整性 87
5.1认识约束 87
5.1.1什么是约束 87
5.1.2约束的类型 88
5.1.3约束的语法 89
5.2使用约束 90
5.2.1利用SSMS创建主键约束 90
5.2.2利用T-SQL增加主键约束 91
5.2.3利用SSMS创建外键约束 92
5.2.4利用T-SQL增加外键约束 93
5.2.5利用SSMS工具创建CHECK约束 94
5.2.6利用T-SQL增加CHECK约束 95
5.2.7利用SSMS工具删除约束 96
5.3事务的使用 96
5.3.1什么是事务 96
5.3.2事务的特性 97
5.3.3事务的模式类型 97
5.3.4事务的保存点 99
5.4并发控制 100
5.4.1并发访问的问题 100
5.4.2 SQL Server中的锁 101
5.4.3查看活跃事务 102
5.4.4事务隔离级别 104
5.4.5事务隔离级别的设置 104
5.5事务的阻塞 105
5.6死锁 107
5.6.1死锁的产生 107
5.6.2处理死锁 108
5.6.3预防死锁 109
5.7索引 109
5.7.1认识索引 110
5.7.2索引的创建 111
5.7.3索引的管理 113
5.8小结 115
5.9习题 116
第6章 用户和权限管理 117
6.1用户管理 117
6.1.1创建使用Windows身份验证的SQL Server登录名 117
6.1.2创建使用SQL Server身份验证的SQL Server登录名 120
6.1.3利用Transact-SQL创建登录账号 121
6.1.4创建数据库用户 122
6.1.5使用Transact-SQL创建数据库用户 123
6.1.6登录账号和数据库用户的关系 124
6.2认识角色 125
6.2.1角色的划分 125
6.2.2创建角色 127
6.2.3给用户授予角色 128
6.3认识权限 129
6.3.1数据控制语言语法 129
6.3.2给用户授予权限 131
6.4架构 131
6.4.1认识架构 132
6.4.2架构的创建使用 133
6.4.3架构的修改删除 134
6.5小结 134
6.6习题 135
第7章 数据的导入/导出与备份/恢复 136
7.1了解SQL Server导入和导出向导 136
7.2导入/导出数据 138
7.2.1数据的导出 138
7.2.2数据的导入 142
7.3数据备份 145
7.3.1认识数据备份 145
7.3.2使用SSMS工具备份数据库 146
7.3.3使用SSMS工具差异备份数据库 147
7.4恢复数据 148
7.4.1认识恢复数据 148
7.4.2如何修改恢复模式 149
7.4.3使用SSMS恢复数据库 150
7.5小结 151
7.6习题 151
第8章 使用SQL Server 2008中自动化管理功能 153
8.1认识SQL Server代理 153
8.1.1什么是SQL Server代理 153
8.1.2使用SQL Server代理 154
8.2认识作业 155
8.2.1什么是作业 155
8.2.2创建作业 156
8.2.3管理作业 160
8.3认识警报 163
8.3.1创建警报 164
8.3.2在警报中触发作业 165
8.3.3管理警报 166
8.4认识操作员 166
8.4.1创建操作员 167
8.4.2管理操作员 169
8.5小结 169
8.6习题 170
第9章 查询数据 171
9.1在SSMS中查看数据 171
9.2使用简单SELECT语句查询数据 171
9.2.1查询表中所有数据 171
9.2.2查询表中指定字段的数据 172
9.2.3查询结果中去除重复信息 174
9.2.4根据现有列值计算新列值 174
9.2.5命名新列 175
9.2.6将查询结果保存为新表 176
9.2.7连接字段 177
9.3使用SELECT语句获取满足查询条件的数据 178
9.3.1指针与字段变量的概念 178
9.3.2条件表达式 179
9.3.3 WHERE子句用法 181
9.3.4根据条件查询数值数据 182
9.3.5根据条件查询字符数据 183
9.3.6根据条件查询日期数据 184
9.3.7按范围查询数据 185
9.3.8查询NULL值 186
9.4排序查询数据 186
9.4.1按单列排序 187
9.4.2设置排序方向 187
9.4.3按多列排序 188
9.4.4按字段位置排序 188
9.4.5查询前5行数据 189
9.4.6 WHERE与ORDER BY的结合使用 189
9.5高级条件查询 190
9.5.1 AND运算符 190
9.5.2 OR运算符 191
9.5.3 AND与OR的优先顺序问题 192
9.5.4 NOT运算符 193
9.5.5 IN运算符 193
9.5.6 LIKE运算符与“%”通配符 195
9.5.7“_”通配符的使用 197
9.5.8“[]”通配符的使用 197
9.5.9定义转义字符 198
9.6小结 199
9.7习题 199
第10章 函数与分组查询数据 201
10.1系统函数 201
10.1.1聚合函数 201
10.1.2类型转换函数 202
10.1.3日期函数 204
10.1.4数学函数 206
10.1.5字符函数 207
10.1.6其他几个系统函数 208
10.2分组查询 212
10.2.1将表内容按列分组 212
10.2.2聚合函数与分组配合使用 214
10.2.3查询数据的直方图 215
10.2.4排序分组结果 215
10.2.5反转查询结果 216
10.2.6使用HAVING子句设置分组查询条件 217
10.3小结 218
10.4习题 218
第11章 多表连接查询和子查询 220
11.1连接查询 220
11.1.1使用无连接规则连接两表 220
11.1.2使用有连接规则连接两表 221
11.1.3使用多表连接查询数据 222
11.1.4使用表别名简化语句 223
11.1.5使用INNER JOIN连接查询 223
11.1.6连接查询实例 224
11.2高级连接查询 226
11.2.1自连接查询 226
11.2.2内连接查询 227
11.2.3左外连接查询 229
11.2.4右外连接 230
11.2.5全外连接 230
11.2.6交叉连接查询 230
11.2.7连接查询中使用聚合函数 232
11.2.8高级连接查询实例 233
11.3组合查询 235
11.3.1使用组合查询 236
11.3.2使用UNION的规则 237
11.3.3使用UNION得到复杂的统计汇总样式 238
11.3.4排序组合查询的结果 238
11.3.5组合查询的实例 239
11.4子查询 240
11.4.1使用返回单值的子查询 240
11.4.2子查询与聚合函数的配合使用 241
11.4.3子查询的实例 241
11.5在SSMS查询设计器中设计查询 242
11.6综合练习 245
11.7小结 246
11.8习题 246
第12章 插入、更新和删除数据 248
12.1在SSMS中插入、更新、删除数据 248
12.1.1插入数据 248
12.1.2更新数据 249
12.1.3删除数据 249
12.2使用INSERT语句插入数据 250
12.2.1插入完整的行 250
12.2.2向日期时间型字段插入数据 251
12.2.3将数据插入到指定字段 251
12.2.4将查询结果插入表 252
12.3使用UPDATE语句更新数据 254
12.3.1更新单个字段的数据 254
12.3.2更新多个字段的数据 255
12.3.3使用表连接更新数据 256
12.3.4使用UPDATE语句删除指定字段的数据 256
12.4使用DELETE语句删除数据 257
12.4.1使用DELETE语句删除指定记录 257
12.4.2在DELETE语句中使用多表连接 258
12.4.3使用DELETE语句删除所有记录 259
12.5使用TRUNCATE语句删除所有记录 260
12.6综合练习 260
12.7小结 262
12.8习题 263
第13章 视图 264
13.1视图基础 264
13.2视图的创建 266
13.2.1在SSMS中创建视图 266
13.2.2使用CREATE VIEW语句创建视图 268
13.2.3用别名命名视图字段 269
13.2.4创建视图时的注意事项 270
13.2.5创建加密视图 271
13.3查看与修改视图 272
13.3.1查看视图内容 272
13.3.2在SSMS中修改视图 272
13.3.3用ALTER VIEW修改视图 272
13.4使用视图操作表数据 274
13.4.1在SSMS中操作视图中的数据 274
13.4.2使用INSERT语句插入数据 274
13.4.3使用UPDATE语句更新数据 274
13.4.4使用DELETE语句删除数据 275
13.5视图的删除 275
13.5.1使用SSMS删除视图 275
13.5.2使用DROP VIEW语句删除视图 275
13.6 小结 276
13.7习题 276
第三篇SQL编程篇 277
第14章Transact-SQL语言 277
14.1 Transact-SQL概述 277
14.1.1 Transact-SQL与标准SQL 277
14.1.2 Transact-SQL的语法约定 277
14.2加入注释 278
14.2.1加入单行注释 278
14.2.2加入多行注释 278
14.3 Transact-SQL运算符 278
14.3.1算术运算符 279
14.3.2赋值运算符 279
14.3.3位运算符 279
14.3.4比较运算符 279
14.3.5逻辑运算符 280
14.3.6字符串连接运算符 280
14.3.7一元运算符 280
14.3.8运算符的优先级 280
14.4 Transact-SQL中的常量和变量 281
14.4.1常量 281
14.4.2局部变量 281
14.4.3全局变量 283
14.5流控制语句 284
14.5.1 BEGIN……END语句 284
14.5.2 IF……ELSE语句 285
14.5.3 WHILE语句 286
14.5.4 BREAK语句 286
14.5.5 CONTINUE语句 287
14.5.6 WAITFOR语句 288
14.5.7 CASE语句 288
14.6小结 289
14.7习题 289
第15章 存储过程和自定义函数 291
15.1存储过程简介 291
15.1.1什么是存储过程 291
15.1.2存储过程的优点 291
15.1.3存储过程的种类 292
15.2创建和使用存储过程 292
15.2.1使用CREATE PROCEDURE语句创建存储过程 292
15.2.2使用EXECUTE语句调用存储过程 294
15.2.3创建带输入参数的存储过程 294
15.2.4给输入参数设置默认值 295
15.2.5创建带输出参数的存储过程 297
15.2.6创建有多条SQL语句的存储过程 298
15.3修改存储过程 299
15.3.1在SSMS中修改存储过程 299
15.3.2用ALTER PROCEDURE语句修改存储过程 299
15.4删除存储过程 300
15.4.1在SSMS中删除存储过程 300
15.4.2用DROPPROCEDURE语句删除存储过程 300
15.5系统存储过程 300
15.6用户自定义函数 301
15.6.1创建使用标量函数 301
15.6.2创建使用表值函数 303
15.6.3查看与修改用户自定义函数 305
15.6.4删除用户自定义函数 305
15.7游标的使用 305
15.7.1什么是游标 305
15.7.2游标的创建 306
15.7.3打开游标 307
15.7.4得到游标中的数据 307
15.7.5游标的关闭和遍历 308
15.7.6利用游标修改数据 309
15.8小结 311
15.9习题 311
第16章 触发器 313
16.1认识触发器 313
16.1.1什么是触发器 313
16.1.2触发器的作用 313
16.1.3触发器分类 314
16.2创建触发器 314
16.2.1触发器工作原理 314
16.2.2触发器语法结构 315
16.2.3在SQL Server Management Studio 中创建DML触发器 316
16.2.4使用T-SQL创建DML触发器 319
16.2.5触发器内判断事件操作 321
16.2.6触发器执行的顺序 322
16.2.7使用T-SQL创建DDL触发器 324
16.3管理触发器 325
16.3.1利用SQL Server Management Studio 修改触发器 325
16.3.2利用T-SQL修改触发器 327
16.3.3删除触发器 328
16.3.4禁用触发器 329
16.3.5启用触发器 330
16.4小结 331
16.5习题 331
第四篇SQL Server 2008商业智能篇 333
第17章SQL Server 2008集成服务 333
17.1 SSIS简介 333
17.2创建Integration Services项目 333
17.2.1新建Integration Services项目 333
17.2.2添加和配置ADO.NET连接管理器 335
17.2.3添加和配置OLE DB连接管理器 336
17.2.4添加数据流源 337
17.2.5添加并配置查找转换 339
17.2.6添加并配置数据流目标 340
17.2.7添加数据查看器 342
17.3部署包 344
17.3.1包配置 344
17.3.2使用部署实用工具部署包 344
17.3.3执行部署后的包 347
17.4小结 349
17.5习题 349
第18章SQL Server 2008报表服务 350
18.1报表服务简介 350
18.1.1什么是报表服务 350
18.1.2启动报表服务 350
18.2 Reporting Services配置管理器 352
18.2.1什么是Reporting Services配置管理器 352
18.2.2 Reporting Services配置管理器的常用功能 352
18.3创建报表 353
18.3.1创建报表服务器项目 354
18.3.2创建报表 355
18.3.3设置连接信息 356
18.3.4设计报表查询 358
18.3.5添加表数据区域 360
18.3.6预览基本报表 363
18.4部署报表 364
18.5小结 365
186习题 365
第19章SQL Server 2008分析服务 367
19.1认识SQL Server 2008分析服务 367
19.1.1启动SQL Server 2008的 367
分析服务 367
19.1.2设置分析服务的账户 368
19.2使用SSMS管理分析服务 368
19.2.1使用分析服务连接SSMS 369
19.2.2查看多维数据集 369
19.2.3查看维度 370
19.2.4查看挖掘结构 370
19.3分析服务项目实例 371
19.3.1创建分析服务项目 371
19.3.2创建数据源 372
19.3.3创建数据源视图 374
19.3.4部署分析服务项目 376
19.4小结 378
19.5习题 379
第五篇SQL Server 2008实战篇 380
第20章 使用.NET实现图书管理系统 380
20.1图书管理系统的需求分析 380
20.1.1了解C/S结构 380
20.1.2图书管理系统的功能概述 380
20.2图书管理系统的设计 381
20.2.1什么是ADO.NET 381
20.2.2图书管理系统数据库的设计 381
20.2.3图书管理系统数据库连接类的创建 383
20.3图书管理系统的实现 385
20.3.1登录功能的实现 385
20.3.2图书管理功能的实现 386
20.4小结 392
20.5习题 392
第21章 使用JSP实现在线订餐系统 394
21.1了解B/S结构 394
21.1.1了解B/S结构的优势 394
21.1.2了解TOMCAT服务器 394
21.2在线订餐系统需求及设计 395
21.2.1订餐系统的需求 395
21.2.2模块分类 395
21.2.3在线订餐系统数据库结构 396
21.3在线订餐系统的实现 398
21.3.1 JDBC Driver的使用 398
21.3.2连接池的实现 399
21.3.3登录操作的实现 401
21.3.4餐品订购功能的实现 403
21.3.5查看所有用户订单功能的实现 407
21.3.6查看我的订餐功能 410
21.4小结 412
21.5习题 412