第1章 数据库与SQL Server 2008 1
1.1 数据库基础 2
1.1.1 数据库的概念 2
1.1.2 数据库模型 2
1.2 什么是关系型数据库 2
1.2.1 关系型数据库的概念 3
1.2.2 一些常用术语 4
1.2.3 数据库管理系统的功能 4
1.2.4 关系模型完整性规则 5
1.3 实体关系(E-R)模型 5
1.3.1 实体模型 6
1.3.2 关系模型 6
1.4 数据库设计的三大范式 7
1.5 SQL Server 2008的体系结构 9
1.6 SQL Server 2008的新特性 11
1.6.1 日期数据类型 11
1.6.2 HierarchyId类型 12
1.6.3 增强XML功能 13
1.6.4 T-SQL语言增强 15
1.6.5 报表服务 16
1.6.6 集成服务 17
1.6.7 分析服务 17
1.6.8 Office集成特性 18
1.7 SQL Server 2008的安装和配置 18
1.7.1 安装SQL Server 2008 18
1.7.2 验证安装 21
1.7.3 注册服务器 22
1.7.4 配置服务器 23
1.8 实践案例:配置服务器的身份验证方式 24
1.9 动手练一练 26
1.9.1 练习题 26
1.9.2 上机实践 26
第2章 SQL Server 2008管理工具集 28
2.1 SQL Server Management Studio 29
2.1.1 SQL Server Management Studio简介 29
2.1.2 对象资源管理器 30
2.1.3 已注册的服务器 31
2.1.4 解决方案资源管理器 31
2.1.5 模板资源管理器 32
2.2 Business Intelligence Development Studio 33
2.3 Reporting Services配置 35
2.4 SQL Server配置管理器 35
2.4.1 管理服务 36
2.4.2 管理服务器和客户端网络协议 37
2.4.3 使用命名管道配置服务器别名 38
2.5 SQL Server Profiler 39
2.6 数据库引擎优化顾问 41
2.7 命令提示实用工具sqlcmd 43
2.7.1 使用sqlcmd连接到数据库 43
2.7.2 执行查询语句 44
2.7.3 使用输入和输出文件 44
2.8 实践案例:使用SQLSMS执行SQL查询文件 45
2.9 动手练一练 46
2.9.1 练习题 46
2.9.2 上机实践 47
第3章 SQL Server 2008管理数据库 48
3.1 SQL Server 2008中的数据库 49
3.1.1 系统数据库 49
3.1.2 数据库存储文件 50
3.1.3 数据库元素 51
3.2 使用SQL Server 2008创建数据库 52
3.3 操作SQL Server 2008数据库 55
3.3.1 修改数据库名称 55
3.3.2 扩大数据库文件 56
3.3.3 收缩数据库文件 57
3.3.4 添加辅助数据文件 58
3.3.5 查看数据库状态 58
3.4 使用SQL Server 2008删除数据库 59
3.5 实践案例:创建图书信息数据库 60
3.6 动手练一练 62
3.6.1 练习题 62
3.6.2 上机实践 63
第4章 SQL Server 2008管理数据表 64
4.1 SQL Server中的表 65
4.1.1 什么是表 65
4.1.2 系统表和临时表 66
4.2 创建表 66
4.2.1 使用图形界面创建表 66
4.2.2 数据类型 68
4.2.3 非空列 72
4.3 编辑表中的数据 73
4.3.1 添加数据 73
4.3.2 修改表数据 75
4.3.3 删除表记录 75
4.4 列属性 77
4.4.1 字段长度 77
4.4.2 默认值定义 78
4.4.3 自动编号 79
4.5 设计表 81
4.5.1 主键 82
4.5.2 表关系 83
4.5.3 索引和主/唯一键 85
4.5.4 全文索引 85
4.5.5 XML索引 86
4.5.6 检查约束 86
4.6 表的关系图 87
4.7 修改数据表 89
4.7.1 重命名表 89
4.7.2 添加/删除列 89
4.8 删除表 90
4.9 实践案例:创建一个学生信息表 91
4.10 动手练一练 92
4.10.1 练习题 92
4.10.2 上机实践 93
第5章 T-SQL语言基础 94
5.1 T-SQL语言概述 95
5.1.1 什么是T-SQL 95
5.1.2 T-SQL语法规范 95
5.1.3 注释 96
5.2 常量和变量 97
5.2.1 常量 97
5.2.2 变量 98
5.3 运算符 100
5.3.1 算术运算符 100
5.3.2 比较运算符 101
5.3.3 赋值运算符 102
5.3.4 位运算符 102
5.3.5 逻辑运算符 103
5.3.6 字符串连接运算符 104
5.3.7 一元运算符 104
5.3.8 运算符优先级 105
5.4 函数 106
5.4.1 聚合函数 106
5.4.2 数学函数 107
5.4.3 字符串函数 108
5.4.4 数据类型转换函数 109
5.4.5 日期和时间函数 110
5.4.6 文本和图像函数 111
5.4.7 用户自定义函数 111
5.5 控制语句 113
5.5.1 BEGIN...END语句 113
5.5.2 IF...ELSE条件语句 114
5.5.3 CASE分支语句 114
5.5.4 WHILE循环语句 116
5.5.5 TRY...CATCH错误处理语句 117
5.6 实践案例:使用WHILE循环输出一个倒三角形 118
5.7 动手练一练 119
5.7.1 练习题 119
5.7.2 上机实践 120
第6章 使用T-SQL操作数据库和表 121
6.1 数据库操作 122
6.1.1 创建数据库 122
6.1.2 指定多个数据库文件创建数据库 124
6.1.3 使用数据库 125
6.1.4 删除数据库 126
6.2 表操作 126
6.2.1 创建表 126
6.2.2 维护表 132
6.2.3 删除表 132
6.3 查询数据 133
6.4 插入数据 133
6.4.1 简单的数据插入 134
6.4.2 将一个表中的数据插入到另一个表中 135
6.5 更新数据 136
6.5.1 根据表中数据更新行 136
6.5.2 使用TOP表达式指定更新行 138
6.6 删除数据 138
6.6.1 使用DELETE语句删除数据 139
6.6.2 使用TRUNCATE TABLE语句 140
6.7 实践案例:创建借阅信息表 140
6.8 动手练一练 141
6.8.1 练习题 141
6.8.2 上机实践 142
第7章 使用T-SQL查询数据 143
7.1 基本查询 144
7.1.1 SELECT语句 144
7.1.2 查询指定列 144
7.1.3 为查询结果中的列添加别名 145
7.2 条件查询 146
7.2.1 比较条件 146
7.2.2 范围条件 147
7.2.3 逻辑条件 148
7.2.4 字符匹配符 148
7.2.5 列表运算符 150
7.2.6 未知值 150
7.3 排序查询 151
7.4 分组查询 152
7.5 筛选查询 153
7.6 实践案例:统计不同性别的人数、平均年龄和年龄总和 154
7.7 动手练一练 154
7.7.1 练习题 154
7.7.2 上机实践 155
第8章 高级查询 156
8.1 子查询 157
8.1.1 IN关键字子查询 157
8.1.2 EXISTS关键字子查询 157
8.1.3 比较运算符 158
8.1.4 单值子查询 159
8.2 多表查询 160
8.2.1 内连接 160
8.2.2 外连接 162
8.2.3 交叉连接 164
8.2.4 自连接 165
8.2.5 联合查询 166
8.2.6 交查询 167
8.2.7 差查询 168
8.3 XML查询 168
8.3.1 XML数据类型 168
8.3.2 XQuery查询 169
8.3.3 使用FOR XML RAW模式 171
8.3.4 使用FOR XML AUTO模式 172
8.3.5 使用FOR XML EXPLICIT模式 172
8.3.6 XML索引 173
8.3.7 OPENXML函数 174
8.4 实践案例:统计每一个客房类型所包含的房间数量 176
8.5 动手练一练 177
8.5.1 练习题 177
8.5.2 上机实践 178
第9章 视图和索引 179
9.1 视图 180
9.1.1 创建视图 180
9.1.2 更新视图 185
9.1.3 查看视图 188
9.1.4 修改视图 189
9.1.5 删除视图 190
9.2 索引 191
9.2.1 索引概述 191
9.2.2 选择索引类型 191
9.2.3 确定索引列 193
9.2.4 创建索引 193
9.2.5 查看索引属性 197
9.2.6 修改索引 198
9.2.7 删除索引 200
9.3 实践案例:创建图书基本信息视图 200
9.4 动手练一练 202
9.4.1 练习题 202
9.4.2 上机实践 203
第10章 存储过程 205
10.1 存储过程简介 206
10.1.1 系统存储过程 206
10.1.2 用户自定义存储过程 207
10.1.3 扩展存储过程 208
10.1.4 使用存储过程 208
10.2 创建自定义存储过程 211
10.2.1 创建存储过程需要遵循的规则 211
10.2.2 创建简单存储过程 212
10.2.3 使用模板创建存储过程 213
10.2.4 创建加密存储过程 214
10.2.5 创建临时存储过程 215
10.2.6 创建嵌套存储过程 216
10.3 为存储过程指定参数 217
10.3.1 创建带参数的存储过程 218
10.3.2 输入参数 219
10.3.3 为参数指定默认值 220
10.3.4 指定输出参数 221
10.4 管理存储过程 223
10.4.1 查看存储过程 223
10.4.2 修改存储过程 225
10.4.3 删除存储过程 227
10.5 实践案例:创建查询借书记录的存储过程 227
10.6 动手练一练 228
10.6.1 练习题 228
10.6.2 上机实践 229
第11章 触发器 230
11.1 触发器简介 231
11.1.1 触发器概述 231
11.1.2 触发器的类型 232
11.2 DML触发器 234
11.2.1 创建触发器语法 234
11.2.2 创建INSERT触发器 235
11.2.3 创建DELETE触发器 237
11.2.4 创建UPDATE触发器 238
11.3 DDL触发器 239
11.4 嵌套触发器 241
11.5 递归触发器 243
11.6 管理触发器 245
11.6.1 修改触发器 245
11.6.2 禁用触发器 246
11.6.3 启用触发器 247
11.6.4 删除触发器 247
11.7 实践案例:创建一个插入事件触发器 248
11.8 动手练一练 249
11.8.1 练习题 249
11.8.2 上机实践 250
第12章 高级特性 251
12.1 事务处理 252
12.2 数据锁 255
12.3 游标 256
12.3.1 定义游标 257
12.3.2 打开游标 257
12.3.3 检索游标 258
12.3.4 关闭游标 259
12.3.5 释放游标 260
12.4 架构 260
12.4.1 创建架构 261
12.4.2 修改架构 264
12.4.3 移动对象到新的架构 266
12.4.4 删除架构 268
12.5 实践案例:删除架构fwSchema 269
12.6 动手练一练 270
12.6.1 练习题 270
12.6.2 上机实践 271
第13章 SQL Server 2008的安全机制 272
13.1 安全机制简介 273
13.1.1 客户机安全机制 273
13.1.2 网络传输安全机制 273
13.1.3 实例级别安全机制 274
13.1.4 数据库级别安全机制 274
13.1.5 对象级别安全机制 274
13.2 身份验证模式 275
13.2.1 Windows身份验证模式 275
13.2.2 混合身份验证模式 276
13.2.3 配置身份验证模式 277
13.3 管理登录 278
13.3.1 创建Windows登录账户 278
13.3.2 创建SQL Server登录账户 282
13.3.3 管理登录账户 284
13.4 数据库用户 289
13.4.1 查看默认数据库用户 289
13.4.2 创建数据库用户 290
13.4.3 使用存储过程创建数据库用户 293
13.5 管理角色 293
13.5.1 服务器角色 293
13.5.2 数据库角色 295
13.5.3 用户自定义数据库角色 296
13.5.4 应用程序角色 299
13.5.5 将登录指派到角色 301
13.5.6 指派角色到多个登录 302
13.6 管理权限 303
13.6.1 权限概述 303
13.6.2 授予权限 304
13.6.3 撤销权限 305
13.6.4 拒绝权限 305
13.7 实践案例:创建管理用户信息的数据管理员 305
13.8 动手练一练 307
13.8.1 练习题 307
13.8.2 上机实践 307
第14章 维护SQL Server 2008数据库 309
14.1 备份数据库 310
14.1.1 备份类型 310
14.1.2 备份数据库 311
14.1.3 事务日志备份 314
14.2 恢复数据库 316
14.2.1 备份恢复模型 316
14.2.2 配置恢复模式 317
14.2.3 恢复数据库 317
14.3 分离数据库 321
14.4 附加数据库 322
14.5 收缩数据库 324
14.6 复制数据库 325
14.7 数据库快照 329
14.7.1 数据库快照概述 329
14.7.2 创建数据库快照 330
14.7.3 使用数据库快照 331
14.7.4 删除数据库快照 331
14.8 实践案例:备份系统数据库master 332
14.9 动手练一练 333
14.9.1 练习题 333
14.9.2 上机实践 334
第15章 模拟银行储蓄系统 335
15.1 需求分析 336
15.2 系统设计 336
15.3 创建数据库 337
15.4 创建数据表 338
15.5 模拟业务逻辑 340
15.5.1 开户 340
15.5.2 存款 343
15.5.3 取现 344
15.5.4 查询余额 345
15.5.5 转账 346
15.5.6 查询交易记录 347
15.5.7 挂失和激活 348
15.6 总结 349
练习题参考答案 350