第一篇 基础篇 1
第1章 数据库系统概论 1
1.1 数据库系统基本概念 1
1.1.1 信息、数据与数据处理 1
1.1.2 数据库 2
1.1.3 数据库管理系统与管理信息系统 3
1.1.4 数据库系统 4
1.2 数据库技术的产生与发展 6
1.2.1 数据管理技术的发展 6
1.2.2 数据库系统的特点 9
1.3 数据模型 10
1.3.1 信息的三个世界 10
1.3.2 模型与数据模型 12
1.3.3 数据模型的基本组成 12
1.3.4 数据模型的分类 13
1.4 数据库系统的体系结构 15
1.4.1 数据库三级模式结构 16
1.4.2 数据库应用系统的体系结构 18
1.5 数据库系统研究领域 20
1.5.1 数据库技术、方法、理论 20
1.5.2 DBMS产品及工具 20
1.5.3 数据库技术与相关技术的融合 21
本章小结 21
习题一 22
第2章 关系数据库 23
2.1 关系数据库的基本概念 23
2.1.1 关系的数学定义 23
2.1.2 关系的性质 26
2.1.3 关系模式与关系数据库 27
2.2 关系数据库的数据模型 28
2.2.1 关系模型结构 28
2.2.2 关系模型的数据操作 29
2.2.3 关系完整性约束 30
2.3 关系代数 31
2.3.1 关系代数的传统集合运算 32
2.3.2 关系代数专门的关系运算 33
2.3.3 关系代数表达式应用举例 37
2.4 关系演算 37
2.4.1 元组关系演算 37
2.4.2 域关系演算 39
2.5 关系系统的查询优化技术 40
2.5.1 查询优化问题的提出 41
2.5.2 查询优化的一般策略 43
2.5.3 关系代数表达式的等价变换规则 43
2.5.4 关系表达式的优化算法 44
本章小结 47
习题二 48
第3章 关系数据库设计理论 50
3.1 关系模式设计问题 50
3.1.1 数据冗余与操作异常 50
3.1.2 冗余产生原因分析和问题解决思路 51
3.2 关系模式的规范化 52
3.2.1 函数依赖 52
3.2.2 码的形式定义 54
3.2.3 关系模式基础范式 55
3.2.4 多值依赖与第四范式 59
3.3 数据依赖的公理系统 62
3.3.1 Armstrong公理 62
3.3.2 属性集的闭包及其算法 63
3.3.3 候选码的求解理论和算法 65
3.3.4 函数依赖集的等价与覆盖 66
3.3.5 最小函数依赖集 66
3.4 关系模式的分解 68
3.4.1 模式分解的等价性 68
3.4.2 无损连接分解 69
3.4.3 保持依赖性分解 71
3.4.4 关系模式分解算法 73
3.5 规范化理论的应用 75
3.5.1 规范化的优缺点 75
3.5.2 反规范化设计 75
3.5.3 规范化设计与反规范化设计 76
3.5.4 规范化示例 76
本章小结 78
习题三 79
第二篇 应用篇 81
第4章 SQL Server 2008和关系数据库标准语言SQL 81
4.1 SQL Server 2008概述 81
4.1.1 SQL Server 2008的发展历史 81
4.1.2 SQL Server 2008简介 82
4.1.3 SQL Server 2008的版本 83
4.1.4 SQL Server 2008的安装与配置 86
4.2 SQL Server 2008的管理工具 97
4.2.1 SQL Server 2008管理工具一览 97
4.2.2 SQL Server 2008 Management Studio 98
4.2.3 SQL Server 2008配置管理器 100
4.3 SQL Server 2008的体系结构 101
4.3.1 逻辑结构 101
4.3.2 物理结构 102
4.4 关系数据库语言SQL 104
4.4.1 SQL的发展史 104
4.4.2 SQL的功能特点 105
4.4.3 SQL的基本组成 105
4.5 Transact-SQL的数据定义语言 107
4.5.1 数据库管理与使用 107
4.5.2 表的管理与使用 118
4.5.3 视图的管理与使用 126
4.5.4 索引的管理与使用 132
4.5.5 同义词的管理和使用 134
4.6 Transact-SQL的数据查询语言 135
4.6.1 SELECT的基本结构 136
4.6.2 简单查询 136
4.6.3 连接查询 144
4.6.4 子查询 147
4.6.5 集合查询 149
4.6.6 递归合并查询 150
4.7 Transact-SQL的数据操纵语言 152
4.7.1 数据插入 152
4.7.2 数据修改 153
4.7.3 数据删除 154
4.8 Transact-SQL的数据控制语言 155
4.8.1 数据控制的方法 155
4.8.2 权限的授予与收回 155
4.9 嵌入式SQL 157
4.9.1 嵌入式SQL的实现方式 158
4.9.2 嵌入式SQL语言的分类 158
4.9.3 嵌入式SQL和宿主语言之间的通信 159
4.9.4 嵌入式SQL的使用规定 160
4.9.5 嵌入式SQL的使用技术 160
4.9.6 嵌入式SQL应用实例 163
本章小结 164
习题四 164
第5章 SQL Server 2008高级应用 167
5.1 Transact-SQL程序设计 167
5.1.1 Transact-SQL程序结构 167
5.1.2 Transact-SQL程序的批处理 168
5.1.3 系统数据类型 168
5.1.4 常量与变量 171
5.1.5 注释符与运算符 173
5.1.6 标准(库)函数 174
5.1.7 流程控制语句 175
5.1.8 常用命令 179
5.2 存储过程 180
5.2.1 存储过程的概念 181
5.2.2 存储过程的优点 181
5.2.3 存储过程的分类 181
5.2.4 存储过程的建立 182
5.2.5 执行存储过程 184
5.2.6 修改存储过程 185
5.2.7 删除存储过程 186
5.3 触发器 187
5.3.1 触发器的概念 187
5.3.2 触发器的作用 187
5.3.3 触发器的种类 188
5.3.4 DML触发器的分类 188
5.3.5 DML触发器的工作原理 188
5.3.6 设计DML触发器的注意事项及技巧 189
5.3.7 创建DML触发器 191
5.3.8 创建Instead Of触发器 194
5.3.9 查看DML触发器 195
5.3.10 修改DML触发器 196
5.3.11 删除DML触发器 197
5.3.12 DDL触发器 197
5.3.13 存储过程和触发器的区别 200
5.4 用户自定义函数 200
5.4.1 创建用户自定义函数 201
5.4.2 修改和删除用户自定义函数 204
本章小结 204
习题五 204
第6章 数据库设计 207
6.1 数据库设计概述 207
6.1.1 数据库设计的任务、特点和方法 207
6.1.2 数据库设计过程 209
6.2 需求分析 211
6.2.1 需求分析的任务 211
6.2.2 需求分析的步骤 211
6.2.3 数据流图 213
6.2.4 数据字典 213
6.3 概念设计 215
6.3.1 E-R模型 216
6.3.2 概念设计的方法和步骤 220
6.3.3 数据抽象与局部概念模式设计 220
6.3.4 全局概念模式设计 222
6.4 逻辑设计 224
6.4.1 逻辑设计的步骤 224
6.4.2 E-R模型向关系模型的转换 224
6.4.3 模型的优化 228
6.4.4 设计用户外模式 230
6.4.5 E-R模型实例分析 230
6.5 物理设计 233
6.5.1 物理设计的要求和内容 233
6.5.2 存取方法 234
6.5.3 存储结构 235
6.5.4 性能评价 236
6.6 数据库的实施 236
6.6.1 数据库结构建立 236
6.6.2 数据载入 236
6.6.3 编写、调试应用程序 237
6.6.4 数据库试运行 237
6.6.5 整理文档 237
6.7 数据库的运行维护 238
6.8 数据库应用系统设计实例 239
6.8.1 系统需求分析 239
6.8.2 系统概念设计 242
6.8.3 系统的逻辑设计 243
6.8.4 系统物理设计 247
本章小结 251
习题六 252
第7章 数据库安全性与完整性 254
7.1 数据安全与保护概述 254
7.2 数据库的安全性 255
7.2.1 对数据库安全的威胁 255
7.2.2 数据库安全性级别 255
7.2.3 数据库安全性控制 256
7.2.4 SQL Server的安全性控制 259
7.3 数据库的完整性 275
7.3.1 完整性约束条件 276
7.3.2 完整性控制 278
7.3.3 SQL Server完整性的实现 280
本章小结 286
习题七 286
第8章 数据库事务管理 288
8.1 事务与事务管理 288
8.1.1 事务的概念及ACID特性 288
8.1.2 事务的基本操作与活动状态 290
8.2 并发控制 291
8.2.1 事务的并发执行 291
8.2.2 并发操作引起的不一致问题 291
8.2.3 封锁与封锁协议 293
8.2.4 活锁与死锁 295
8.2.5 并发调度的可串行性 297
8.2.6 两段锁协议 299
8.2.7 SQL Server并发控制的实现 301
8.3 数据库恢复技术 305
8.3.1 数据库故障分类 305
8.3.2 数据库恢复实现技术 306
8.3.3 SQL Server数据恢复机制的实现 310
本章小结 322
习题八 322
第三篇 高级篇 324
第9章 分布式数据库 324
9.1 分布式数据库简介 324
9.1.1 分布式数据库的特点 324
9.1.2 分布式数据库的优缺点 325
9.1.3 分布式数据库的分类 326
9.2 分布式数据库的体系结构 326
9.3 分布式数据库管理系统 329
9.4 分布式数据存储 330
9.4.1 数据分片 330
9.4.2 数据分配 332
9.5 分布式数据库的组成 333
9.6 分布式查询 333
9.7 分布式数据库的发展及应用趋势 335
本章小结 336
习题九 337
第10章 对象数据库 338
10.1 面向对象数据库 338
10.1.1 面向对象数据模型 339
10.1.2 面向对象数据库管理系统 339
10.1.3 面向对象数据库系统 340
10.1.4 面向对象技术与数据库技术相结合的多种方法 340
10.1.5 面向对象数据库的不足 341
10.2 对象关系数据库 341
10.2.1 关系模型扩充——后关系模型 342
10.2.2 后关系模型扩充——对象关系数据模型 345
10.3 对象关系数据库管理系统 348
10.4 对象关系数据库的定义语言 350
10.4.1 对象关系数据库模型的定义 350
10.4.2 数据类型定义 350
10.4.3 继承性定义 352
10.4.4 引用类型定义 353
10.5 对象关系数据库的数据查询 356
10.5.1 嵌套与元组变量设置 356
10.5.2 路径表达式 356
10.5.3 复合值创建和查询 357
10.5.4 面向对象数据库与对象关系数据库的比较 358
本章小结 358
习题十 359
参考文献 360