第Ⅰ篇 基础篇 2
第1章 数据库概述 2
1.1 概述 2
1.2 基本概念 2
1.3 数据管理技术的发展 4
1.3.1 文件管理 4
1.3.2 数据库管理 7
1.4 数据独立性 10
1.5 数据库系统的组成 11
习题 12
第2章 数据模型与数据库结构 13
2.1 数据和数据模型 13
2.1.1 数据与信息 13
2.1.2 数据模型 14
2.2 概念层数据模型 15
2.2.1 基本概念 15
2.2.2 实体-联系模型 16
2.3 组织层数据模型 18
2.3.1 层次数据模型 18
2.3.2 网状数据模型 20
2.3.3 关系数据模型 21
2.4 面向对象数据模型 22
2.5 数据库结构 23
2.5.1 模式的基本概念 23
2.5.2 三级模式结构 23
2.5.3 模式映像与数据独立性 25
习题 26
第3章 关系数据库 28
3.1 关系数据模型 28
3.1.1 数据结构 28
3.1.2 数据操作 28
3.1.3 数据完整性约束 30
3.2 关系模型的基本术语与形式化定义 31
3.2.1 基本术语 31
3.2.2 形式化定义 33
3.3 完整性约束 35
3.3.1 实体完整性 35
3.3.2 参照完整性 36
3.3.3 用户定义的完整性 38
3.4 关系代数 38
3.4.1 传统的集合运算 39
3.4.2 专门的关系运算 41
习题 50
第4章 SQL基础及数据定义功能 52
4.1 SQL概述 52
4.1.1 SQL的发展 52
4.1.2 SQL特点 53
4.1.3 SQL功能概述 53
4.2 SQL支持的数据类型 54
4.2.1 数值型 54
4.2.2 字符串类型 55
4.2.3 日期时间类型 56
4.3 数据定义功能 56
4.3.1 架构的定义与删除 57
4.3.2 基本表 58
习题 62
第5章 数据操作语句 64
5.1 数据查询语句的基本结构 64
5.2 单表查询 66
5.2.1 选择表中的若干列 66
5.2.2 选择表中的若干元组 68
5.2.3 对查询结果进行排序 76
5.2.4 使用聚合函数汇总数据 77
5.2.5 对数据进行分组统计 79
5.3 多表连接查询 84
5.3.1 内连接 85
5.3.2 自连接 89
5.3.3 外连接 90
5.4 使用TOP限制结果集行数 93
5.5 CASE表达式 95
5.5.1 CASE表达式介绍 95
5.5.2 CASE表达式应用示例 97
5.6 将查询结果保存到表中 99
5.7 子查询 102
5.7.1 使用子查询进行基于集合的测试 102
5.7.2 使用子查询进行比较测试 106
5.7.3 带EXISTS谓词的子查询 110
5.8 数据更改功能 112
5.8.1 插入数据 113
5.8.2 更新数据 114
5.8.3 删除数据 115
习题 117
第6章 索引和视图 120
6.1 索引 120
6.1.1 索引的基本概念 120
6.1.2 索引的存储结构及分类 121
6.1.3 创建和删除索引 126
6.2 视图 127
6.2.1 视图的基本概念 127
6.2.2 定义视图 128
6.2.3 通过视图查询数据 130
6.2.4 修改和删除视图 132
6.2.5 视图的作用 133
6.3 物化视图 134
习题 134
第7章 触发器和存储过程 136
7.1 触发器 136
7.1.1 创建触发器 136
7.1.2 后触发型触发器 137
7.1.3 前触发型触发器 138
7.1.4 删除触发器 139
7.2 存储过程 139
7.2.1 存储过程的概念 139
7.2.2 创建和执行存储过程 140
习题 144
第Ⅱ篇 设计篇 146
第8章 关系规范化理论 146
8.1 函数依赖 146
8.1.1 基本概念 146
8.1.2 术语和符号 147
8.1.3 函数依赖的推理规则 148
8.1.4 闭包及候选键求解方法 149
8.1.5 极小函数依赖集 152
8.1.6 为什么讨论函数依赖 154
8.2 范式 155
8.2.1 第一范式 156
8.2.2 第二范式 157
8.2.3 第三范式 158
8.2.4 Boyce-Codd范式 159
8.2.5 规范化小结 161
8.3 关系模式的分解准则 162
习题 165
第9章 实体-联系模型 167
9.1 E-R模型的基本概念 167
9.1.1 实体 167
9.1.2 联系 168
9.1.3 属性 170
9.1.4 约束 173
9.2 E-R图符号 174
习题 175
第10章 数据库设计 177
10.1 数据库设计概述 177
10.1.1 数据库设计的特点 178
10.1.2 数据库设计方法概述 178
10.1.3 数据库设计的基本步骤 179
10.2 数据库需求分析 180
10.2.1 需求分析的任务 180
10.2.2 需求分析的方法 180
10.2.3 需求分析工具 182
10.3 数据库结构设计 184
10.3.1 概念结构设计 184
10.3.2 逻辑结构设计 191
10.3.3 物理结构设计 195
10.4 数据库行为设计 197
10.4.1 功能分析 197
10.4.2 功能设计 198
10.4.3 事务设计 198
10.5 数据库实施 198
10.6 数据库的运行和维护 200
习题 200
第Ⅲ篇 系统篇 204
第11章 安全管理 204
11.1 安全控制概述 204
11.1.1 数据库安全控制的目标 204
11.1.2 数据库安全的威胁 205
11.1.3 数据库安全问题的类型 205
11.1.4 安全控制模型 205
11.1.5 授权和认证 206
11.2 存取控制 207
11.2.1 自主存取控制 207
11.2.2 强制存取控制 209
11.3 审计跟踪 211
11.4 防火墙 211
11.5 统计数据库的安全性 212
11.6 数据加密 212
11.7 SQLServer提供的安全控制 213
11.8 登录名 214
11.8.1 身份验证模式 214
11.8.2 建立登录名 215
11.8.3 删除登录名 216
11.9 数据库用户 217
11.9.1 建立数据库用户 218
11.9.2 删除数据库用户 220
11.10 权限管理 220
习题 228
第12章 事务与并发控制 230
12.1 事务 230
12.1.1 事务的基本概念 230
12.1.2 事务的特性 231
12.1.3 事务处理模型 232
12.1.4 事务日志 233
12.2 并发控制 234
12.2.1 并发控制概述 235
12.2.2 可交换的活动 237
12.2.3 调度 237
12.2.4 可串行化调度 237
12.3 并发控制中的加锁方法 238
12.3.1 锁的粒度 239
12.3.2 封锁协议 240
12.3.3 活锁和死锁 242
12.3.4 两阶段锁 244
12.4 乐观的并发控制方法 247
12.4.1 乐观的并发控制方法中的三个阶段 247
12.4.2 乐观的并发控制方法的优缺点 247
习题 248
第13章 数据库恢复技术 250
13.1 恢复的基本概念 250
13.2 数据库故障的种类 251
13.3 数据库恢复的类型 252
13.3.1 向前恢复(或重做) 252
13.3.2 向后恢复(或撤销) 253
13.3.3 介质故障恢复 255
13.4 恢复技术 256
13.4.1 延迟更新技术 256
13.4.2 立即更新技术 258
13.4.3 镜像页技术 260
13.4.4 检查点技术 260
13.5 缓冲区管理 262
习题 262
第14章 查询处理与优化 264
14.1 概述 264
14.2 关系数据库的查询处理 264
14.2.1 查询处理步骤 265
14.2.2 优化的一个简单示例 265
14.3 代数优化 267
14.3.1 转换规则 267
14.3.2 启发式规则 269
14.4 物理优化 272
14.4.1 选择操作的实现和优化 272
14.4.2 连接操作的实现和优化 273
14.4.3 投影操作的实现 277
14.4.4 集合操作的实现 277
14.4.5 组合操作 277
习题 278
第Ⅳ篇 发展篇 280
第15章 大规模数据库架构 280
15.1 分布式数据库 280
15.1.1 分布式数据库系统概述 280
15.1.2 分布式数据库目标与数据分布策略 280
15.1.3 分布式数据库系统体系结构 282
15.1.4 分布式数据库的相关技术 283
15.2 并行数据库 284
15.2.1 并行数据库概述 284
15.2.2 并行数据库系统结构 284
15.2.3 数据划分与并行算法 286
15.3 NoSQL数据库 288
15.3.1 NoSQL数据库概述 288
15.3.2 NoSQL数据库的分类 288
15.3.3 NoSQL数据库的发展现状及挑战 289
15.4 云计算数据库架构 289
15.4.1 云计算概述 289
15.4.2 云数据库体系结构 290
15.4.3 云数据库与传统数据库的比较 293
15.4.4 云数据库展望 294
15.5 XML数据库 294
15.5.1 XML数据库概述 294
15.5.2 SQLServer 2008与XML 295
附录A SQL Server 2008基础 299
A.1 SQLServer 2008的版本和组件 299
A.1.1 SQLServer 2008的版本 299
A.1.2 SQLServer 2008的组件 300
A.1.3 安装SQLServer2008需要的软硬件环境 300
A.1.4 实例 301
A.2 安装和配置SQLServer 2008 302
A.2.1 安装SQLServer 2008 302
A.2.2 设置SQLServer服务启动方式 309
A.2.3 SQLServer Management Studio工具 310
A.3 创建数据库 311
A.3.1 数据库的组成 311
A.3.2 数据库文件的属性 312
A.3.3 创建数据库 312
A.4 删除数据库 315
附录B 一些常用的系统函数 317
B.1 日期函数 317
B.2 字符串函数 319
B.3 类型转换函数 321
附录C 上机实验 323
C.1 第4章 上机实验 323
C.2 第5章 上机实验 324
C.3 第6章 上机实验 326
C.4 第7章 上机实验 326
C.5 第11章 上机实验 327