第1章 数据库系统概述 1
1.1 数据库系统简介 1
1.1.1 数据库技术的发展历史 1
1.1.2 数据库系统的基本概念 4
1.2 数据库系统结构 5
1.2.1 数据库系统的三级模式结构 5
1.2.2 数据库系统的二级映像 7
1.3 习题 7
第2章 数据模型 8
2.1 信息的三种世界 8
2.1.1 现实世界 8
2.1.2 信息世界 9
2.1.3 计算机世界 9
2.1.4 三种世界的转换 10
2.2 概念模型 10
2.2.1 概念模型的基本概念 11
2.2.2 概念模型的表示 12
2.3 数据模型 15
2.3.1 数据模型的基本概念 15
2.3.2 常用的数据模型 16
2.4 关系数据库 21
2.4.1 关系模型的组成 21
2.4.2 关系的数学定义 21
2.4.3 关系代数 23
2.4.4 传统的集合运算 24
2.4.5 专门的关系运算 25
2.5 关系查询优化 28
2.6 习题 29
第3章 数据库设计 31
3.1 规范化 31
3.1.1 函数依赖 31
3.1.2 范式 32
3.2 数据库设计概述 35
3.2.1 数据库设计的特点 36
3.2.2 数据库设计的步骤 37
3.3 需求分析阶段 37
3.4 概念结构设计阶段 37
3.4.1 概念结构设计的任务 37
3.4.2 概念结构设计的步骤 38
3.5 逻辑结构设计阶段 39
3.5.1 逻辑结构设计的任务 39
3.5.2 逻辑结构设计的步骤 39
3.6 物理结构设计阶段 40
3.6.1 物理结构设计的任务 40
3.6.2 物理结构设计的步骤 40
3.7 数据库实施阶段 41
3.8 数据库运行和维护 41
3.9 数据库设计实例 41
3.9.1 学生成绩管理数据库设计 41
3.9.2 职工管理数据库设计 43
3.10 关系数据库管理系统 45
3.11 习题 46
第4章 SQL Server 2012基本知识 47
4.1 SQL Server发展历史简介 47
4.2 SQL Server 2012的版本 47
4.2.1 SQL Server 2012版本的分类 47
4.2.2 SQL Server 2012 Standard功能简介 48
4.3 SQL Server 2012 Standard的安装与配置 49
4.3.1 安装SQL Server 2012 Standard的系统需求 49
4.3.2 SQL Server 2012的安装 49
4.3.3 SQL Server 2012的卸载 55
4.4 SQL Server 2012组件和管理工具 55
4.4.1 服务器组件 55
4.4.2 管理工具 56
4.4.3 文档 57
4.5 SQL Server 2012服务器的管理 57
4.5.1 启动/停止服务器 57
4.5.2 服务器的注册 60
4.6 习题 62
第5章 数据库操作 63
5.1 数据库的基本概念 63
5.1.1 物理数据库 63
5.1.2 逻辑数据库 64
5.1.3 SQL Server 2012的系统数据库和用户数据库 66
5.1.4 报表服务器和报表数据库 67
5.2 创建数据库 67
5.2.1 管理工具界面方式创建数据库 67
5.2.2 命令行方式创建数据库 71
5.3 修改数据库 76
5.3.1 管理工具界面方式修改数据库 76
5.3.2 命令行方式修改数据库 76
5.4 删除数据库 79
5.4.1 管理工具界面方式删除数据库 80
5.4.2 命令行方式删除数据库 81
5.5 数据库的分离和附加 81
5.5.1 分离数据库 81
5.5.2 附加数据库 83
5.6 数据库的收缩 84
5.6.1 手动收缩 85
5.6.2 自动收缩 87
5.7 移动数据库 87
5.8 数据库快照 88
5.8.1 数据库快照的优点 88
5.8.2 数据库快照的操作 88
5.9 数据库镜像 89
5.9.1 数据库镜像简介 89
5.9.2 数据库镜像的优点 90
5.9.3 数据库镜像的操作 90
5.10 习题 91
第6章 表和表数据操作 92
6.1 表概念 92
6.1.1 表结构 92
6.1.2 表类型 92
6.1.3 数据类型 94
6.2 创建表 98
6.2.1 管理工具窗口方式创建表 98
6.2.2 命令行方式创建表 102
6.3 查看表结构 106
6.4 修改表结构 106
6.4.1 管理工具窗口方式修改表 107
6.4.2 命令行方式修改表 107
6.5 删除表 108
6.6 表数据操作 109
6.6.1 管理工具窗口方式操作表数据 109
6.6.2 命令行方式操作表数据 110
6.7 习题 114
第7章 T-SQL语言 116
7.1 SQL语言基本概念 116
7.1.1 T-SQL语言简介 116
7.1.2 T-SQL语言的语法约定 117
7.1.3 标识符 118
7.1.4 常量和变量 118
7.1.5 注释 121
7.1.6 运算符 121
7.1.7 函数 122
7.1.8 表达式 131
7.2 流程控制语句 136
7.2.1 SET语句 136
7.2.2 BEGIN…END语句 137
7.2.3 IF…ELSE语句 137
7.2.4 WHILE、BREAK、CONTINUE语句 138
7.2.5 CASE语句 139
7.2.6 RETURN语句 140
7.2.7 WAITFOR语句 140
7.2.8 GOTO语句 141
7.2.9 TRY…CATCH语句 142
7.2.10 GO语句 143
7.2.11 EXECUTE语句 143
7.2.12 T-SQL语句的解析、编译和执行 143
7.3 数据定义语句 143
7.4 用户定义数据类型 144
7.5 用户定义表 146
7.6 习题 147
第8章 数据查询 148
8.1 数据查询语句 148
8.1.1 投影列 149
8.1.2 选择行 153
8.1.3 连接 159
8.2 数据汇总 163
8.3 排序 163
8.4 分组 164
8.5 子查询 168
8.5.1 无关子查询 169
8.5.2 相关子查询 172
8.6 集合操作 174
8.7 存储查询结果 176
8.8 习题 178
第9章 数据完整性、规则和索引 179
9.1 数据完整性 179
9.1.1 实体完整性 179
9.1.2 域完整性 184
9.1.3 引用完整性 187
9.2 规则 189
9.2.1 规则的概念 189
9.2.2 创建规则 190
9.2.3 查看规则 190
9.2.4 绑定规则 191
9.2.5 解除规则 192
9.2.6 删除规则 192
9.3 索引 192
9.3.1 索引的分类 193
9.3.2 创建索引 195
9.3.3 查看索引 198
9.3.4 修改索引 199
9.3.5 删除索引 200
9.3.6 其他类型索引 201
9.3.7 优化索引 206
9.4 数据库关系图 208
9.5 习题 213
第10章 视图和用户定义函数 214
10.1 视图 214
10.1.1 视图概述 214
10.1.2 视图的类型 215
10.1.3 创建视图准则 215
10.1.4 创建视图 216
10.1.5 查询视图 219
10.1.6 可更新视图 219
10.1.7 修改视图定义 220
10.1.8 删除视图 222
10.2 用户定义函数 222
10.2.1 标量值函数 223
10.2.2 内嵌表值函数 225
10.2.3 多语句表值函数 226
10.2.4 修改和重命名用户定义函数 227
10.2.5 删除用户定义函数 228
10.3 习题 229
第11章 存储过程、触发器和游标 230
11.1 存储过程 230
11.1.1 存储过程概述 230
11.1.2 存储过程的类型 231
11.1.3 创建存储过程 232
11.1.4 调用存储过程 235
11.1.5 获取存储过程信息 236
11.1.6 修改和重命名存储过程 237
11.1.7 重新编译存储过程 238
11.1.8 删除存储过程 238
11.2 触发器 239
11.2.1 触发器概述 239
11.2.2 触发器的类型 240
11.2.3 触发器的设计规则 242
11.2.4 使用触发器 242
11.2.5 启用、禁用和删除触发器 244
11.2.6 嵌套触发器和递归触发器 245
11.3 游标 246
11.3.1 游标概述 246
11.3.2 游标的类型 247
11.3.3 游标的使用 248
11.4 习题 253
第12章 系统安全管理 255
12.1 身份验证模式 255
12.1.1 身份验证概述 255
12.1.2 身份验证方式设置 257
12.2 账号和角色 258
12.2.1 账号 258
12.2.2 角色 266
12.3 授权的主体 271
12.4 授权的安全对象 271
12.5 权限操作 273
12.5.1 在SQL Server Management Studio中设置权限 273
12.5.2 T-SQL语句授权 276
12.6 习题 280
第13章 事务、批、锁和作业 281
13.1 事务 281
13.1.1 事务概述 281
13.1.2 事务的类型 282
13.1.3 事务处理语句 284
13.1.4 事务和批 287
13.1.5 事务隔离级 287
13.2 锁 289
13.2.1 锁概述 289
13.2.2 锁的模式 290
13.2.3 锁的信息 291
13.2.4 死锁及处理 293
13.3 数据库优化 294
13.3.1 数据库引擎优化顾问概述 294
13.3.2 数据库引擎优化顾问的使用 294
13.4 作业 296
13.5 习题 298
第14章 数据库的备份还原与导入/导出 299
14.1 数据库的备份还原 299
14.1.1 备份还原概述 299
14.1.2 恢复模式 300
14.1.3 数据库备份 301
14.1.4 数据库还原 304
14.2 数据库的导入/导出 307
14.2.1 数据库表数据导出 308
14.2.2 数据库表数据导入 311
14.3 习题 313
第15章 VB 2015/SQL Server 2012开发 314
15.1 ADO.NET技术概述 314
15.1.1 ADO.NET模型 314
15.1.2 ADO.NET结构 315
15.1.3 数据控件 315
15.2 ADO.NET数据访问操作 316
15.2.1 数据源配置向导 316
15.2.2 用户设置数据控件 319
15.2.3 程序设计访问数据库 320
15.3 数据库应用程序设计实例 321
15.4 习题 325
第16章 C# 2015/SQL Server 2012开发 326
16.1 C#语言简介 326
16.2 C#数据库访问 326
16.3 数据库应用程序设计实例 326
16.4 习题 329
第17章 ASP.NET/SQL Server 2012开发 330
17.1 ASP.NET简介 330
17.2 数据库应用程序设计实例 331
17.3 习题 334
第18章 LINQ/SQL Server 2012开发 335
18.1 LINQ简介 335
18.2 LINQ的组件及命名空间 335
18.3 LINQ的查询表达式 336
18.4 LINQ查询数组 336
18.5 LINQ查询数据库 337
18.5.1 DataContext类和实体对象 337
18.5.2 LINQ查询数据 339
18.5.3 LINQ添加数据 340
18.5.4 LINQ修改数据 342
18.5.5 LINQ删除数据 343
18.5.6 LINQDataSource控件 344
18.6 习题 345
参考文献 346