目录
第1章 SQL Server 2012入门基础 1
1.1 认识关系数据库 1
1.1.1 数据库概述 1
1.1.2 数据库模型 2
1.1.3 关系数据库概述 4
1.1.4 关系术语 5
1.1.5 关系范式 6
1.2 SQL Server发展史 8
1.3 SQL Server 2012简介 9
1.3.1 新特性 9
1.3.2 安装过程的变更 10
1.3.3 硬件和软件要求 11
1.4 实验指导——安装SQL Server 2012 12
1.5 验证安装 22
1.5.1 查看服务 22
1.5.2 注册服务器 23
1.5.3 配置身份验证模式 25
1.6 实验指导——使用sqlcmd工具 26
1.6.1 连接到数据库 26
1.6.2 执行语句 27
1.6.3 使用输入和输出文件 27
1.7 思考与练习 28
第2章 操作数据库 30
2.1 SQL Server系统数据库 30
2.1.1 master数据库 30
2.1.2 model数据库 31
2.1.3 msdb数据库 32
2.1.4 tempdb数据库 32
2.1.5 Resource数据库 33
2.2 文件和文件组 34
2.2.1 数据库文件 34
2.2.2 文件组 35
2.2.3 创建文件组和文件 35
2.3 创建数据库 36
2.3.1 图形界面创建 37
2.3.2 Transact-SQL创建 40
2.4 实验指导——创建具有文件组
的数据库 43
2.5 修改数据库 44
2.5.1 图形界面修改 44
2.5.2 Transact-SQL修改 45
2.6 删除数据库 47
2.6.1 图形界面删除 47
2.6.2 Transact-SQL删除 48
2.7 数据库其他内容 49
2.7.1 显示数据库列表 49
2.7.2 数据库详细信息 51
2.7.3 数据库状态 52
2.7.4 文件状态 53
2.8 思考与练习 53
第3章 操作数据表 55
3.1 了解表 55
3.1.1 表的概念 55
3.1.2 系统表 56
3.2 创建表 57
3.2.1 图形界面创建 57
3.2.2 Transact-SQL语句创建 60
3.3 维护表 63
3.3.1 管理表中的列 63
3.3.2 修改表名 65
3.3.3 删除表 66
3.3.4 查看表定义 67
3.4 指定列数据类型 68
3.4.1 数字类型 68
3.4.2 日期和时间类型 69
3.4.3 字符串类型 71
3.4.4 Unicode字符串类型 71
3.4.5 二进制字符串 72
3.4.6 其他数据类型 72
3.4.7 用户自定义数据类型 74
3.4.8 数据类型的优先级 76
3.5 约束类型 76
3.5.1 主键约束 77
3.5.2 自动增长标识 80
3.5.3 唯一性约束 81
3.5.4 空与非空约束 82
3.5.5 默认值约束 82
3.5.6 检查约束 83
3.5.7 外键约束 84
3.6 实验指导——创建图书管理系统
的相关表 85
3.7 思考与练习 87
第4章 数据更新操作 89
4.1 添加数据 89
4.1.1 INSERT语句的语法 89
4.1.2 插入单条记录 91
4.1.3 插入多条记录 93
4.1.4 INSERT INTO语句 94
4.1.5 SELECT INTO语句 96
4.1.6 图形界面操作 96
4.2 修改数据 97
4.2.1 UPDATE语句的语法 97
4.2.2 基本的UPDATE语句 99
4.2.3 更新多个列的值 100
4.2.4 基于其他表的更新 100
4.3 删除数据 101
4.3.1 DELETE语句的语法 101
4.3.2 使用DELETE语句 102
4.3.3 基于其他表的删除 104
4.3.4 图形界面操作 105
4.3.5 使用TRUNCATE TABLE
语句 106
4.4 思考与练习 107
第5章 SELECT基本查询 108
5.1 SELECT语法简介 108
5.2 基本查询 109
5.2.1 获取所有列 109
5.2.2 获取指定列 110
5.2.3 对列使用别名 110
5.2.4 获取不重复的数据 111
5.2.5 获取前几条数据 112
5.2.6 使用计算列 113
5.3 条件查询 113
5.3.1 使用比较运算符查询 114
5.3.2 使用逻辑运算符查询 114
5.3.3 使用范围运算符查询 115
5.3.4 使用IN查询 116
5.3.5 使用LIKE查询 116
5.3.6 根据数据是否为空查询 117
5.4 格式化结果集 117
5.4.1 排序结果集 118
5.4.2 分组结果集 118
5.4.3 统计结果集 119
5.5 实验指导——水果信息统计 120
5.6 思考与练习 122
第6章 SELECT高级查询 123
6.1 多表连接 123
6.1.1 多表连接基础 123
6.1.2 指定表别名 125
6.1.3 实现多表连接 126
6.1.4 使用JOIN关键字 127
6.2 内连接 128
6.2.1 等值连接 128
6.2.2 不等值连接 129
6.2.3 自然连接 129
6.3 外连接 130
6.3.1 左外连接 130
6.3.2 右外连接 131
6.3.3 完全外连接 132
6.4 自连接和交叉连接 133
6.4.1 自连接 133
6.4.2 交叉连接 134
6.5 联合查询 134
6.6 子查询 135
6.6.1 使用IN的子查询 136
6.6.2 使用EXISTS的子查询 136
6.6.3 使用比较运算符的子查询 137
6.6.4 返回单值的子查询 139
6.6.5 嵌套子查询 139
6.7 实验指导——商品信息查询 140
6.8 思考与练习 142
第7章 Transact-SQL编程基础 144
7.1 Transact-SQL语言编程 144
7.1.1 Transact-SQL简介 144
7.1.2 Transact-SQL分类 145
7.2 变量和常量 146
7.2.1 变量 146
7.2.2 常量 149
7.3 运算符和表达式 150
7.3.1 算术运算符 150
7.3.2 赋值运算符 151
7.3.3 位运算符 151
7.3.4 比较运算符 151
7.3.5 复合运算符 152
7.3.6 逻辑运算符 153
7.3.7 范围解析运算符 154
7.3.8 集运算符 155
7.3.9 字符串串联运算符 156
7.3.10 一元运算符 158
7.3.11 运算符优先级 159
7.3.12 表达式 160
7.4 控制流语句 160
7.4.1 BEGIN...END语句块 160
7.4.2 IF ELSE条件语句 161
7.4.3 CASE分支语句 162
7.4.4 WHILE循环语句 164
7.4.5 TRY...CATCH语句 165
7.4.6 其他语句 166
7.5 注释 170
7.5.1 单行注释 170
7.5.2 多行注释 171
7.6 实验指导——从查询的结果中
进行计算 172
7.7 思考与练习 174
第8章 SQL Server 2012内置函数 176
8.1 函数和内置函数 176
8.2 数学函数 177
8.2.1 ABS()函数 177
8.2.2 ACOS()函数 178
8.2.3 FLOOR()函数 178
8.2.4 RAND()函数 179
8.2.5 ROUND()函数 179
8.2.6 SQRT()函数 180
8.2.7 其他数学函数 181
8.3 实验指导——计算图形的周长
和面积 182
8.4 字符串函数 182
8.4.1 CHARINDEX()函数 183
8.4.2 PATINDEX()函数 183
8.4.3 SUBSTRING()函数 183
8.4.4 REVERSE()函数 184
8.4.5 REPLACE()函数 185
8.4.6 其他字符串函数 185
8.5 日期和时间函数 187
8.5.1 获取日期和时间部分 187
8.5.2 获取日期和时间差 188
8.5.3 修改日期和时间值 189
8.5.4 验证日期和时间值 189
8.5.5 其他日期和时间函数 190
8.6 转换函数 191
8.6.1 CAST()和CONVERT()
函数 191
8.6.2 PARSE()函数 192
8.6.3 TRY相关函数 192
8.7 系统函数 194
8.8 思考与练习 195
第9章 存储过程和自定义函数 197
9.1 存储过程简介 197
9.1.1 存储过程概述 197
9.1.2 系统存储过程 198
9.2 自定义存储过程 200
9.2.1 存储过程语法 200
9.2.2 创建存储过程 202
9.2.3 加密存储过程 204
9.2.4 临时存储过程 205
9.2.5 嵌套存储过程 206
9.3 管理存储过程 207
9.3.1 查看存储过程 207
9.3.2 修改存储过程 209
9.3.3 删除存储过程 211
9.4 使用参数 212
9.4.1 带参数的存储过程 212
9.4.2 使用输出参数 214
9.4.3 参数默认值 216
9.5 使用自定义函数 217
9.5.1 标量函数 217
9.5.2 表格函数 218
9.5.3 多语句表值函数 220
9.5.4 修改与删除用户自定义
函数 221
9.6 实验指导——服装信息管理 222
9.7 思考与练习 225
第10章 创建和使用视图 227
10.1 了解视图 227
10.1.1 视图的分类 227
10.1.2 视图的优缺点 228
10.2 系统视图 229
10.3 创建视图 230
10.3.1 图形界面创建 230
10.3.2 通过Transact-SQL语句 234
10.4 管理视图 235
10.4.1 获取视图信息 236
10.4.2 修改视图 240
10.4.3 重命名视图 241
10.4.4 删除视图 241
10.5 使用视图 243
10.5.1 查询数据 243
10.5.2 添加数据 244
10.5.3 修改数据 245
10.6 索引视图 246
10.6.1 了解索引视图 247
10.6.2 创建步骤 247
10.6.3 所需要求 247
10.7 实验指导——创建和使用索引
视图 248
10.8 思考与练习 250
第11章 SQL Server 2012触发器 252
11.1 触发器概述 252
11.1.1 触发器的作用 252
11.1.2 触发器的执行环境 253
11.1.3 触发器的类型 254
11.2 DML触发器 254
11.2.1 DML触发器简介 255
11.2.2 创建DML触发器语法 256
11.2.3 INSERT触发器 256
11.2.4 DELETE触发器 258
11.2.5 UPDATE触发器 259
11.2.6 INSTEAD OF触发器 261
11.3 管理触发器 264
11.3.1 禁用触发器 264
11.3.2 启用触发器 264
11.3.3 修改触发器 265
11.3.4 删除触发器 266
11.4 DDL触发器 267
11.4.1 创建DDL触发器语法 267
11.4.2 数据库DDL触发器 267
11.4.3 服务器DDL触发器 268
11.5 实验指导——嵌套触发器 269
11.6 递归触发器 271
11.6.1 递归触发器注意事项 271
11.6.2 禁用与启用递归 272
11.7 思考与练习 273
第12章 索引、事务和游标 274
12.1 索引 274
12.1.1 索引的概念 274
12.1.2 创建索引 275
12.1.3 查看索引 280
12.1.4 修改索引 281
12.1.5 重命名索引 282
12.1.6 删除索引 282
12.1.7 索引优化 284
12.2 实验指导——使用索引优化查询 285
12.3 事务 286
12.3.1 事务的概念 286
12.3.2 事务的特性 287
12.3.3 事务语句 287
12.4 实验指导——使用事务实现
图书添加 289
12.5 游标 290
12.5.1 游标的概念 290
12.5.2 游标的类型 291
12.5.3 游标的实现 292
12.5.4 声明游标 292
12.5.5 打开游标 294
12.5.6 检索游标 294
12.5.7 关闭游标 296
12.5.8 删除游标引用 296
12.5.9 游标函数 297
12.6 思考与练习 300
第13章 数据库的安全机制 302
13.1 安全认证模式 302
13.1.1 Windows身份验证 302
13.1.2 SQL Server身份验证 303
13.2 创建账户和数据库用户 305
13.2.1 创建Windows账户 305
13.2.2 创建SQL Server账户 310
13.2.3 创建数据库用户 311
13.3 管理账户和数据库用户 313
13.3.1 查看服务器的登录账号 313
13.3.2 查看数据库的用户 314
13.3.3 删除登录账户 315
13.3.4 删除数据库用户 316
13.4 角色管理 317
13.4.1 固定服务器角色 317
13.4.2 固定数据库角色 320
13.4.3 应用程序角色 322
13.4.4 用户自定义角色 324
13.5 权限管理 326
13.5.1 权限类型 326
13.5.2 分配权限 327
13.6 思考与练习 330
第14章 数据库的备份和恢复 331
14.1 数据库状态管理 331
14.1.1 数据库状态查询 331
14.1.2 脱机与联机 332
14.2 数据库的分离和附加 334
14.2.1 数据库分离 334
14.2.2 数据库附加 336
14.2.3 数据库收缩 339
14.3 数据库快照 340
14.3.1 数据库快照功能简介 340
14.3.2 创建数据库快照 342
14.3.3 将数据库恢复到数据库
快照 343
14.3.4 删除数据库快照 344
14.4 数据库备份 344
14.4.1 数据库备份简介 344
14.4.2 备份数据库 346
14.4.3 事务日志备份 348
14.5 数据库恢复 350
14.5.1 恢复模式 350
14.5.2 恢复数据库 352
14.6 实验指导——数据库管理 354
14.7 思考与练习 357
第15章 高级技术 358
15.1 XML技术 358
15.1.1 XML数据类型 358
15.1.2 RAW模式 359
15.1.3 AUTO模式 360
15.1.4 PATH模式 361
15.1.5 EXPLICIT模式 363
15.1.6 OPENXML()函数 364
15.2 实验指导——操作XML
数据类型 366
15.2.1 query()方法 367
15.2.2 value()方法 368
15.2.3 exist()方法 369
15.2.4 modify()方法 369
15.2.5 nodes()方法 370
15.3 集成服务 371
15.3.1 集成服务简介 372
15.3.2 创建包 373
15.3.3 运行包 377
15.3.4 包配置 379
15.3.5 部署包 381
15.4 报表服务 382
15.4.1 报表服务概述 382
15.4.2 创建报表 383
15.4.3 发布报表 387
15.4.4 创建报表 388
15.5 实验指导——管理已发布的报表 390
15.6 思考与练习 391
第16章 ATM自动取款机系统
数据库设计 393
16.1 系统分析 393
16.1.1 功能分析 393
16.1.2 数据库分析 394
16.2 系统设计 396
16.2.1 创建数据库 396
16.2.2 创建数据表 397
16.2.3 创建视图 399
16.2.4 模拟简单业务逻辑 401
16.3 业务办理 404
16.3.1 更新账号 404
16.3.2 修改密码 405
16.3.3 实现简单的交易操作 406
16.3.4 存取款业务 408
16.3.5 余额查询 410
16.3.6 转账业务 411
16.3.7 账号挂失 412
16.3.8 销户 414
附录 思考与练习答案 416
??
??
??
??