第1章 概述 1
1.1 数据库的基本概念 1
1.1.1 数据库常用术语 1
1.1.2 常见的数据库产品 2
1.2 Microsoft SQL Server简史 2
1.3 系统体系结构 3
1.4 数据库的类型和特点 5
1.5 数据库对象的类型和特点 7
1.5.1 数据库对象的类型 7
1.5.2 数据库对象的特点 8
1.5.3 AdventureWorks示例数据库 12
1.6 主要的管理工具 13
1.6.1 Microsoft SQL Server Management Studio 13
1.6.2 SQL Server配置管理器 15
1.6.3 SQL Server Profiler 15
1.6.4 数据库引擎优化顾问 16
1.6.5 实用工具 17
1.6.6 PowerShell 19
1.7 上机实战 19
1.8 习题 20
第2章 安装和配置 21
2.1 安装规则 21
2.1.1 明确安装目的 21
2.1.2 系统版本 22
2.1.3 安装环境要求 23
2.1.4 安装位置要求 24
2.1.5 安全模式 24
2.2 系统安装 24
2.2.1 安装过程 24
2.2.2 验证安装结果 27
2.2.3 注册服务器 29
2.3 配置服务器选项 31
2.3.1 服务器选项 31
2.3.2 使用sp_configure配置选项 34
2.3.3 使用SQL Server Management Studio配置选项 35
2.4 上机实战 39
2.5 习题 42
第3章 Transact-SQL语言 43
3.1 概述 43
3.2 Transact-SQL语言的主要组成部分 45
3.2.1 数据定义语言 45
3.2.2 数据操纵语言 48
3.2.3 数据控制语言 50
3.2.4 事务管理语言 51
3.3 Transact-SQL语言的附加语言元素 52
3.3.1 标识符 53
3.3.2 变量和常量 54
3.3.3 运算符 55
3.3.4 表达式 61
3.3.5 控制流语言 61
3.3.6 错误捕捉语言 63
3.3.7 注释 65
3.4 数据类型 66
3.4.1 数据类型的类型 66
3.4.2 数字数据类型 67
3.4.3 字符数据类型 70
3.4.4 日期和时间数据类型 71
3.4.5 二进制数据类型 73
3.4.6 其他数据类型 74
3.5 系统提供的内置函数 75
3.5.1 内置函数的类型 75
3.5.2 内置函数示例 76
3.6 上机实战 85
3.7 习题 85
第4章 安全管理 87
4.1 概述 87
4.2 管理登录名 90
4.2.1 创建登录名 90
4.2.2 维护登录名 93
4.3 固定服务器角色 95
4.3.1 概述 95
4.3.2 管理固定服务器角色成员 96
4.4 管理数据库用户 97
4.4.1 创建数据库用户 97
4.4.2 维护数据库用户 99
4.5 管理架构 100
4.5.1 创建架构 100
4.5.2 修改和删除架构 102
4.6 数据库角色 103
4.6.1 管理数据库角色 103
4.6.2 固定数据库角色 105
4.6.3 public角色 106
4.7 管理应用程序角色 107
4.8 管理权限 109
4.8.1 权限类型 109
4.8.2 常见对象的权限 111
4.8.3 授予权限 111
4.8.4 收回和否认权限 112
4.9 使用SQL Server Management Studio 113
4.10 上机实战 116
4.11 习题 119
第5章 管理数据库 121
5.1 概述 121
5.2 数据库的特点 122
5.3 定义数据库 123
5.3.1 创建数据库 124
5.3.2 数据库的状态和选项 126
5.3.3 查看数据库信息 130
5.4 修改数据库 132
5.4.1 更改数据库名称 132
5.4.2 扩大数据库 133
5.4.3 收缩数据库 133
5.4.4 修改数据库文件 137
5.4.5 管理文件组 138
5.5 管理数据库快照 139
5.6 其他管理操作 141
5.7 优化数据库设计 142
5.7.1 合理放置数据文件和日志文件 143
5.7.2 使用文件组 143
5.7.3 使用RAID技术 144
5.8 上机实战 144
5.9 习题 145
第6章 备份和还原 147
6.1 概述 147
6.2 数据库的恢复模式 148
6.3 备份基础 149
6.3.1 备份前的计划工作 149
6.3.2 明确备份对象 149
6.3.3 备份的动态特点 150
6.4 执行备份操作 151
6.4.1 创建永久性备份文件 151
6.4.2 创建临时性备份文件 152
6.4.3 使用多个备份文件存储备份数据 153
6.4.4 BACKUP语句 153
6.4.5 备份方法和备份策略 155
6.5 还原 159
6.5.1 还原的特点 159
6.5.2 验证备份内容 160
6.5.3 RESTORE语句 161
6.5.4 RECOVERY和NORECOVERY选项 162
6.5.5 还原操作 163
6.6 上机实战 164
6.7 习题 166
第7章 管理表 167
7.1 设计表时的考虑因素 167
7.2 表的基本特点和类型 169
7.2.1 表的基本特点 169
7.2.2 表的类型 170
7.3 创建和修改表 170
7.3.1 创建表 171
7.3.2 增加或删除列 174
7.3.3 更改列的数据类型 175
7.3.4 使用标识符列 177
7.3.5 查看表的信息 179
7.3.6 删除表 179
7.3.7 使用图形工具执行表的操作 180
7.4 已分区表 180
7.5.上机实战 181
7.5.1 练习创建和修改表 182
7.5.2 练习使用IDENTITY属性 183
7.6 习题 184
第8章 操纵数据 185
8.1 概述 185
8.2 插入数据 186
8.3 更新数据 190
8.4 删除数据 192
8.5 检索数据概述 193
8.6 使用SELECT子句检索数据 194
8.6.1 选择指定的数据列 194
8.6.2 使用文字串 195
8.6.3 改变列标题 196
8.6.4 执行数据运算 197
8.6.5 使用ALL和DISTINCT关键字 199
8.7 使用ORDERBY子句排序数据 200
8.8 使用WHERE子句选择数据 202
8.8.1 简单搜索条件 203
8.8.2 模糊搜索条件 203
8.8.3 复合搜索条件 205
8.9 聚合技术 205
8.9.1 SELECT子句中的聚合 206
8.9.2 COMPUTE子句中的聚合 207
8.10 分组技术 208
8.10.1 普通分组技术 208
8.10.2 使用ROLLUP和CUBE关键字 209
8.11 连接技术 211
8.11.1 交叉连接 211
8.11.2 内连接 212
8.11.3 外连接 212
8.12 子查询技术 213
8.13 集合运算技术 215
8.14 公用表表达式 216
8.15 加密表中数据 217
8.16 上机实战 218
8.17 习题 219
第9章 管理索引 221
9.1 索引的概念 221
9.2 索引的类型和特点 222
9.2.1 堆结构 222
9.2.2 聚集索引 223
9.2.3 非聚集索引 223
9.2.4 其他类型的索引 224
9.2.5 访问数据的方式 225
9.3 创建索引 225
9.3.1 直接方法和间接方法 226
9.3.2 使用CREATE INDEX语句 226
9.3.3 数据库引擎优化顾问 229
9.3.4 查看索引信息 231
9.4 索引维护 232
9.4.1 查看索引统计信息 232
9.4.2 查看索引碎片信息 233
9.4.3 维护索引统计信息 234
9.5 查询优化 234
9.6 上机实战 235
9.7 习题 238
第10章 管理数据库编程对象 239
10.1 管理视图 239
10.1.1 视图的作用 239
10.1.2 视图的概念和类型 240
10.1.3 创建视图 241
10.1.4 通过视图修改数据 243
10.1.5 使用图形化工具定义视图 245
10.2 管理存储过程 246
10.2.1 存储过程的概念和类型 246
10.2.2 创建存储过程的规则 247
10.2.3 使用CREATE PROCEDURE语句 248
10.2.4 执行存储过程 250
10.2.5 修改和删除存储过程 251
10.2.6 存储过程的执行过程 252
10.2.7 查看存储过程的信息 252
10.3 管理触发器 253
10.3.1 触发器的概念 254
10.3.2 DML触发器的类型和特点 254
10.3.3 创建DML触发器 256
10.3.4 DML触发器的工作原理 257
10.3.5 一个DML触发器示例 258
10.3.6 DDL触发器 262
10.3.7 登录触发器 264
10.4 管理用户定义函数 265
10.4.1 用户定义函数的概念和特点 265
10.4.2 创建用户定义函数时的考虑 266
10.4.3 使用CREATE FUNCTION语句 266
10.4.4 查看用户定义函数的信息 270
10.5 上机实战 270
10.6 习题 271
第11章 管理约束 273
11.1 约束的作用 273
11.2 约束的概念和类型 274
11.3 管理约束技术 276
11.3.1 管理DEFAULT约束 276
11.3.2 管理CHECK约束 277
11.3.3 管理主键约束 279
11.3.4 管理UNIQUE约束 280
11.3.5 管理外键约束 281
11.4 禁止约束 284
11.4.1 禁止在已有的数据上应用约束 284
11.4.2 禁止在加载数据时应用约束 285
11.5 上机实战 285
11.6 习题 288