目 录
第1章 设计数据库 1
1.1 工作场景导入 2
1.2 数据库概述 2
1.2.1 数据库的基本概念 2
1.2.2 数据库的发展历史 3
1.2.3 数据库系统的结构 3
1.3 需求分析 4
1.3.1 需求分析的任务 4
1.3.2 需求分析的方法 4
1.3.3 需求分析的成果 4
1.4 概念模型设计 5
1.4.1 数据模型 5
1.4.2 概念模型 5
1.4.3 概念模型设计的任务 5
1.4.4 概念模型设计的方法 5
1.4.5 概念模型设计的成果 5
1.4.6 实体-联系模型 6
1.5 逻辑模型设计 7
1.5.1 逻辑模型 7
1.5.2 关系模型的概念 7
1.5.3 逻辑模型设计的任务 8
1.5.4 关系模型设计的方法 8
1.6 物理模型设计 10
1.6.1 物理模型设计的任务 10
1.6.2 物理模型设计的方法 10
1.7 数据库的实现、运行和维护 10
1.8 SQL Server 2012简介 10
1.8.1 SQL Server 2012产品性能 10
1.8.2 SQL Server 2012产品版本 11
1.8.3 SQL Server 2012管理工具 12
1.9 回到工作场景 14
1.10 工作实训营 16
1.10.1 训练实例 16
1.10.2 工作实践常见问题解析 16
1.11 习题 16
第2章 创建数据库 19
2.1 工作场景导入 20
2.2 SQL Server数据库 20
2.2.1 SQL Server数据库类型 20
2.2.2 数据库的文件组成 21
2.2.3 事务和事务日志 21
2.2.4 数据存储方式 22
2.3 数据库的创建与操作 22
2.3.1 创建数据库 22
2.3.2 查看数据库 24
2.3.3 修改数据库 24
2.3.4 删除数据库 26
2.4 文件组及其创建与使用 27
2.4.1 文件组 27
2.4.2 创建指定文件组的数据库 27
2.4.3 添加文件组 30
2.5 回到工作场景 31
2.6 工作实训营 35
2.6.1 训练实例 35
2.6.2 工作实践常见问题解析 36
2.7 习题 36
第3章 创建和管理表 39
3.1 工作场景导入 40
3.2 数据类型 41
3.2.1 SQL Server数据类型 41
3.2.2 用户定义数据类型 43
3.2.3 创建用户定义数据类型 44
3.3 表的创建与操作 45
3.3.1 创建表 45
3.3.2 在表中录入记录 47
3.3.3 修改表 47
3.3.4 删除表 48
3.4 数据完整性 49
3.4.1 数据完整性的分类 49
3.4.2 PRIMARY KEY约束 50
3.4.3 UNIQUE约束 52
3.4.4 DEFAULT 定义 55
3.4.5 CHECK约束 57
3.4.6 FOREIGN KEY约束 59
3.5 回到工作场景 62
3.6 工作实训营 67
3.6.1 训练实例 67
3.6.2 工作实践常见问题解析 67
3.7 习题 68
第4章 插入、更新和删除记录 71
4.1 工作场景导入 72
4.2 插入记录 74
4.2.1 插入单个记录 74
4.2.2 插入多个记录 74
4.3 更新记录 75
4.3.1 单表更新记录 75
4.3.2 跨表更新记录 75
4.4 删除记录 76
4.4.1 单表删除记录 76
4.4.2 清空记录 76
4.4.3 跨表删除记录 77
4.5 回到工作场景 77
4.6 工作实训营 79
4.6.1 训练实例 79
4.6.2 工作实践常见问题解析 81
4.7 习题 82
第5章 查询 87
5.1 工作场景导入 88
5.2 简单查询 92
5.2.1 结果集字段列表 92
5.2.2 查询的筛选条件 93
5.2.3 结果集格式 96
5.2.4 分组汇总 98
5.3 多表连接 100
5.3.1 表的别名 100
5.3.2 内连接 101
5.3.3 外连接 102
5.3.4 交叉连接 103
5.3.5 自连接 104
5.3.6 多表连接 104
5.4 子查询 105
5.4.1 子查询用作单个值 105
5.4.2 子查询用作集合 105
5.5 回到工作场景 107
5.6 工作实训营 113
5.6.1 训练实例 113
5.6.2 工作实践常见问题解析 114
5.7 习题 114
第6章 使用T-SQL语言 117
6.1 工作场景导入 118
6.2 T-SQL 语言 118
6.3 T-SQL语法要素 118
6.3.1 标识符 118
6.3.2 数据类型 119
6.3.3 常量 119
6.3.4 变量 119
6.3.5 运算符 120
6.3.6 表达式 120
6.3.7 函数 122
6.3.8 注释 124
6.3.9 保留关键字 124
6.4 T-SQL程序 124
6.4.1 控制流 124
6.4.2 批处理 127
6.4.3 脚本 128
6.5 错误信息处理 128
6.5.1 TRY...CATCH 128
6.5.2 @@ERROR系统函数 130
6.6 事务 130
6.6.1 事务的概念及其属性 130
6.6.2 事务的分类及其使用 131
6.7 回到工作场景 132
6.8 工作实训营 134
6.8.1 训练实例 134
6.8.2 工作实践常见问题解析 134
6.9 习题 135
第7章 使用视图和索引优化查询 137
7.1 工作场景导入 138
7.2 视图 138
7.2.1 视图及其分类 138
7.2.2 创建视图 139
7.2.3 使用视图 141
7.2.4 修改视图 142
7.2.5 删除视图 142
7.3 索引 144
7.3.1 索引及其分类 144
7.3.2 创建索引 145
7.3.3 修改索引 147
7.3.4 删除索引 148
7.3.5 设计和优化索引 149
7.4 回到工作场景 150
7.5 工作实训营 153
7.5.1 训练实例 153
7.5.2 工作实践常见问题解析 154
7.6 习题 154
第8章 用户自定义函数 157
8.1 工作场景导入 158
8.2 用户自定义函数介绍 158
8.2.1 标量值函数 158
8.2.2 内联表值函数 159
8.2.3 多语句表值函数 159
8.3 创建用户自定义函数 159
8.3.1 创建标量值函数 159
8.3.2 创建内联表值函数 161
8.3.3 创建多语句表值函数 162
8.4 使用用户自定义函数 163
8.4.1 使用标量值函数 164
8.4.2 使用内联表值函数 165
8.4.3 使用多语句表值函数 165
8.5 修改用户自定义函数 166
8.6 删除用户自定义函数 166
8.7 回到工作场景 167
8.8 工作实训营 170
8.8.1 训练实例 170
8.8.2 工作实践常见问题解析 170
8.9 习题 171
第9章 存储过程 173
9.1 工作场景导入 174
9.2 存储过程介绍 174
9.3 不带参数的存储过程 175
9.3.1 创建存储过程 175
9.3.2 使用存储过程 176
9.3.3 修改存储过程 178
9.3.4 删除存储过程 180
9.4 带参数的存储过程 181
9.4.1 带输入参数的存储过程 181
9.4.2 带输出参数的存储过程 183
9.5 回到工作场景 184
9.6 工作实训营 186
9.6.1 训练实例 186
9.6.2 工作实践常见问题解析 187
9.7 习题 187
第10章 触发器 189
10.1 工作场景导入 190
10.2 触发器介绍 190
10.2.1 INSERT触发器 191
10.2.2 DELETE触发器 191
10.2.3 UPDATE触发器 191
10.2.4 INSTEAD OF触发器 191
10.3 创建触发器 192
10.3.1 创建DML触发器 192
10.3.2 创建DDL触发器 195
10.4 使用触发器 196
10.5 修改触发器 197
10.6 删除触发器 198
10.7 回到工作场景 200
10.8 工作实训营 203
10.8.1 训练实例 203
10.8.2 工作实践常见问题解析 204
10.9 习题 204
第11章 管理数据库安全 207
11.1 工作场景导入 208
11.2 SQL Server 2012的安全机制 208
11.3 SQL Server 2012的验证模式 209
11.3.1 Windows身份验证 209
11.3.2 混合身份验证 209
11.4 Windows登录 211
11.4.1 创建Windows登录 212
11.4.2 创建SQL Server登录 214
11.4.3 管理登录名 215
11.5 数据库用户 217
11.5.1 创建数据库用户 217
11.5.2 管理数据库用户 219
11.6 权限 221
11.6.1 权限类型 221
11.6.2 设置用户权限 221
11.7 角色 225
11.7.1 角色分类 225
11.7.2 创建角色 226
11.7.3 指派角色 227
11.8 回到工作场景 227
11.9 工作实训营 231
11.9.1 训练实例 231
11.9.2 工作实践常见问题解析 232
11.10 习题 232
第12章 备份和还原数据库 233
12.1 工作场景导入 234
12.2 备份和还原 234
12.2.1 备份 234
12.2.2 还原 235
12.3 完整数据库备份 235
12.3.1 创建备份 236
12.3.2 还原备份 239
12.4 事务日志备份 241
12.4.1 创建备份 241
12.4.2 还原备份 242
12.5 差异备份 244
12.5.1 创建备份 244
12.5.2 还原备份 245
12.6 文件或文件组备份 246
12.6.1 创建备份 246
12.6.2 还原备份 247
12.7 回到工作场景 248
12.8 工作实训营 250
12.8.1 训练实例 250
12.8.2 工作实践常见问题解析 251
12.9 习题 251
第13章 导入和导出数据库中的
数据 253
13.1 工作场景导入 254
13.2 使用SQL Server导入和导出向导 254
13.3 SSIS概述 259
13.3.1 SSIS介绍 259
13.3.2 SSIS的工作方式 259
13.4 使用SSIS 260
13.4.1 创建SSIS包 260
13.4.2 执行SSIS包 265
13.5 回到工作场景 266
13.6 工作实训营 267
13.6.1 训练实例 267
13.6.2 工作实践常见问题解析 268
13.7 习题 268
第14章 学生管理系统案例 269
14.1 工作场景导入 270
14.2 程序设计介绍 270
14.2.1 Microsoft Visual Studio 2015
集成环境 270
14.2.2 C#语言 271
14.2.3 ASP.NET 271
14.3 回到工作场景 272
14.3.1 基于Windows的学生管理
系统 272
14.3.2 基于Web的学生管理
系统 276
14.4 工作实训营 282
附录 各章习题参考答案 284
参考文献 298
