第1章 数据库系统概述 1
1.1 数据库系统简介 1
1.1.1 数据库技术的发展历史 1
1.1.2 数据库系统的基本概念 3
1.2 数据库系统结构 5
1.2.1 数据库系统的三级模式结构 5
1.2.2 数据库系统的二级映像 6
1.3 习题 6
第2章 数据模型 7
2.1 信息的三种世界 7
2.1.1 现实世界 7
2.1.2 信息世界 8
2.1.3 计算机世界 8
2.1.4 三种世界的转换 9
2.2 概念模型 9
2.2.1 概念模型的基本概念 9
2.2.2 概念模型的表示 11
2.3 数据模型 13
2.3.1 数据模型的基本概念 14
2.3.2 常用的数据模型 14
2.4 关系数据库 19
2.4.1 关系模型的组成 19
2.4.2 关系的数学定义 20
2.4.3 关系代数 21
2.4.4 传统的集合运算 22
2.4.5 专门的关系运算 24
2.5 关系查询优化 27
2.6 习题 27
第3章 数据库设计 30
3.1 规范化 30
3.1.1 函数依赖 30
3.1.2 范式 31
3.2 数据库设计概述 35
3.2.1 数据库设计的特点 35
3.2.2 数据库设计的步骤 36
3.3 需求分析阶段 36
3.4 概念结构设计阶段 36
3.4.1 概念结构设计的任务 37
3.4.2 概念结构设计的步骤 37
3.5 逻辑结构设计阶段 38
3.5.1 逻辑结构设计的任务 38
3.5.2 逻辑结构设计的步骤 38
3.6 物理结构设计阶段 39
3.6.1 物理结构设计的任务 39
3.6.2 物理结构设计的步骤 39
3.7 数据库实施阶段 40
3.8 数据库运行和维护 40
3.9 数据库设计实例 41
3.9.1 学生成绩管理数据库设计 41
3.9.2 图书出版管理数据库设计 42
3.10 关系数据库管理系统 43
3.11 习题 45
第4章 SQL Server 2012基本知识 46
4.1 SQL Server 2012发展简介 46
4.2 SQL Server 2012的版本 46
4.2.1 SQL Server 2012版本的分类 46
4.2.2 SQL Server 2012 Standard功能简介 47
4.3 SQL Server 2012 Standard的安装与卸载 48
4.3.1 安装SQL Server 2012 Standard的系统需求 48
4.3.2 SQL Server 2012的安装 48
4.3.3 SQL Server 2012的卸载 53
4.4 SQL Server 2012组件和管理工具 54
4.4.1 服务器组件 54
4.4.2 管理工具 54
4.4.3 文档 55
4.5 SQL Server 2012服务器的管理 56
4.5.1 启动/停止服务器 56
4.5.2 服务器的注册 58
4.6 习题 59
第5章 数据库操作 60
5.1 数据库基本概念 60
5.1.1 物理数据库 60
5.1.2 逻辑数据库 61
5.1.3 SQL Server 2012的系统数据库和用户数据库 63
5.1.4 报表服务器和报表数据库 64
5.2 创建数据库 64
5.2.1 管理工具界面方式创建数据库 64
5.2.2 命令行方式创建数据库 67
5.3 修改数据库 72
5.3.1 管理工具界面方式修改数据库 72
5.3.2 命令行方式修改数据库 73
5.4 删除数据库 76
5.4.1 管理工具界面方式删除数据库 77
5.4.2 命令行方式删除数据库 78
5.5 数据库的分离和附加 78
5.5.1 分离数据库 78
5.5.2 附加数据库 79
5.6 数据库的收缩 80
5.6.1 手动收缩 81
5.6.2 自动收缩 83
5.7 移动数据库 84
5.8 数据库快照 84
5.8.1 数据库快照的优点 84
5.8.2 数据库快照的操作 85
5.9 习题 86
第6章 表和表数据操作 87
6.1 表概念 87
6.1.1 表结构 87
6.1.2 表类型 88
6.1.3 数据类型 88
6.2 创建表 92
6.2.1 管理工具界面方式创建表 92
6.2.2 命令行方式创建表 95
6.3 修改表 98
6.3.1 管理工具界面方式修改表 98
6.3.2 命令行方式修改表 98
6.4 删除表 100
6.5 表数据操作 100
6.5.1 管理工具界面方式操作表数据 101
6.5.2 命令行方式操作表数据 102
6.6 习题 106
第7章 T-SQL语言 108
7.1 SQL语言基本概念 108
7.1.1 T-SQL语言简介 108
7.1.2 T-SQL语言的语法约定 109
7.1.3 标识符 110
7.1.4 常量和变量 110
7.1.5 注释 114
7.1.6 运算符 115
7.1.7 函数 115
7.1.8 表达式 122
7.2 流程控制语句 126
7.2.1 SET语句 126
7.2.2 BEGIN…END语句 126
7.2.3 IF…ELSE语句 127
7.2.4 WHILE、BREAK、CONTINUE语句 128
7.2.5 RETURN语句 129
7.2.6 WAITFOR语句 129
7.2.7 GOTO语句 129
7.2.8 TRY…CATCH语句 130
7.2.9 GO语句 132
7.2.10 EXECUTE语句 132
7.2.11 T-SQL语句的解析、编译和执行 132
7.3 数据定义语句 132
7.4 习题 133
第8章 数据查询 134
8.1 数据查询语句 134
8.1.1 投影列 135
8.1.2 选择行 140
8.1.3 连接 146
8.2 数据汇总 150
8.3 排序 151
8.4 分组 152
8.5 子查询 156
8.5.1 无关子查询 156
8.5.2 相关子查询 159
8.6 集合操作 161
8.7 存储查询结果 164
8.8 习题 165
第9章 数据完整性、规则和索引 166
9.1 数据完整性 166
9.1.1 实体完整性 166
9.1.2 域完整性 170
9.1.3 引用完整性 173
9.2 规则 176
9.2.1 规则的概念 176
9.2.2 创建规则 176
9.2.3 查看规则 177
9.2.4 绑定规则 177
9.2.5 解除规则 177
9.2.6 删除规则 178
9.3 索引 178
9.3.1 索引的分类 179
9.3.2 创建索引 181
9.3.3 查看索引 183
9.3.4 修改索引 184
9.3.5 删除索引 185
9.3.6 其他类型索引 186
9.3.7 优化索引 190
9.4 数据库关系图 192
9.5 习题 196
第10章 视图和用户定义函数 197
10.1 视图 197
10.1.1 视图概述 197
10.1.2 视图的类型 198
10.1.3 创建视图准则 199
10.1.4 创建视图 199
10.1.5 查询视图 202
10.1.6 可更新视图 202
10.1.7 修改视图定义 204
10.1.8 删除视图 205
10.2 用户定义函数 205
10.2.1 标量值函数 206
10.2.2 内嵌表值函数 209
10.2.3 多语句表值函数 210
10.2.4 修改和重命名用户定义函数 211
10.2.5 删除用户定义函数 212
10.3 习题 212
第11章 存储过程、触发器和游标 213
11.1 存储过程 213
11.1.1 存储过程概述 213
11.1.2 存储过程的类型 214
11.1.3 创建存储过程 215
11.1.4 调用存储过程 218
11.1.5 获取存储过程信息 219
11.1.6 修改和重命名存储过程 221
11.1.7 重新编译存储过程 222
11.1.8 删除存储过程 222
11.2 触发器 223
11.2.1 触发器概述 223
11.2.2 触发器的类型 223
11.2.3 触发器的设计规则 225
11.2.4 使用触发器 226
11.2.5 启用、禁用和删除触发器 228
11.2.6 嵌套触发器和递归触发器 228
11.3 游标 229
11.3.1 游标概述 230
11.3.2 游标的类型 231
11.3.3 游标的使用 232
11.4 习题 238
第12章 系统安全管理 239
12.1 身份验证模式 239
12.1.1 身份验证概述 239
12.1.2 身份验证方式设置 241
12.2 账号和角色 242
12.2.1 账号 242
12.2.2 角色 247
12.3 授权的主体 251
12.4 授权的安全对象 251
12.5 权限操作 253
12.5.1 在SQL Server Management Studio中设置权限 253
12.5.2 T-SQL语句授权 254
12.6 习题 258
第13章 事务、批、锁和作业 259
13.1 事务 259
13.1.1 事务概述 259
13.1.2 事务的类型 260
13.1.3 事务处理语句 262
13.1.4 事务和批 265
13.1.5 事务隔离级 266
13.2 锁 267
13.2.1 锁概述 267
13.2.2 锁的模式 268
13.2.3 锁的信息 269
13.2.4 死锁及处理 271
13.3 数据库引擎优化顾问 272
13.3.1 数据库引擎优化顾问概述 272
13.3.2 数据库引擎优化顾问的使用 272
13.4 作业 274
13.5 习题 275
第14章 数据库的备份还原与导入/导出 276
14.1 数据库的备份还原 276
14.1.1 备份还原概述 276
14.1.2 恢复模式 277
14.1.3 数据库备份 278
14.1.4 数据库还原 281
14.2 数据库的导入/导出 284
14.2.1 数据库表数据导出 284
14.2.2 数据库表数据导入 287
14.3 习题 289
第15章 VB 2010/SQL Server 2012开发 290
15.1 ADO.NET技术概述 290
15.1.1 ADO.NET模型 290
15.1.2 ADO.NET结构 291
15.1.3 数据控件 292
15.1.4 数据访问步骤控件 292
15.2 数据库应用程序实例 294
15.2.1 数据库设计 294
15.2.2 系统设计 294
15.2.3 程序设计 295
15.3 习题 298
第16章 C#2010/SQL Server 2012开发 299
16.1 C#语言简介 299
16.2 数据库应用程序实例 299
16.3 语言集成查询(LINQ) 302
16.3.1 LINQ简介 302
16.3.2 LINQ的使用 303
16.3.3 LINQ在C#中的使用 303
16.3.4 对象关系设计器(O/R设计器) 304
16.4 习题 305
第17章 ASP.NET/SQL Server 2012开发 306
17.1 ASP.NET简介 306
17.2 数据库应用程序实例 307
17.3 习题 310