第1章 概述 1
1.1 数据库的基本概念 1
1.1.1 数据 1
1.1.2 数据库 1
1.1.3 数据库管理系统 3
1.1.4 数据库系统 5
1.2 数据模型 6
1.2.1 数据模型的三要素 6
1.2.2 3种数据模型 7
1.3 数据库系统的三级模式结构 8
1.4 数据库系统的特点 9
1.5 数据库系统的分类 11
1.6 数据库管理系统的演变 12
小结 12
习题 13
第2章 关系模型 14
2.1 关系模型概述 14
2.1.1 关系模型的数据结构 14
2.1.2 关系模型的数据操作 17
2.1.3 关系模型的完整性约束 18
2.2 关系代数 19
2.2.1 传统的集合运算 20
2.2.2 专门的关系运算 21
2.3 事例数据库 23
小结 25
习题 25
第3章 关系数据库标准语言SQL 28
3.1 SQL概述 28
3.1.1 SQL的产生和发展 28
3.1.2 SQL的组成 28
3.1.3 SQL的特点 29
3.2 数据查询 30
3.2.1 单表查询 31
3.2.2 多表查询 41
3.2.3 集合操作 47
3.2.4 子查询 48
3.3 数据定义 56
3.3.1 表的定义 57
3.3.2 索引的定义 61
3.3.3 视图的定义 63
3.4 数据更新 68
3.5 存取控制 70
3.6 空值的处理 74
小结 75
习题 76
第4章 查询处理及优化 78
4.1 查询处理的步骤 78
4.2 查询处理算法 78
4.2.1 外部排序 79
4.2.2 集合操作算法 80
4.2.3 选择操作算法 82
4.2.4 连接操作算法 83
4.3 查询优化 84
4.3.1 概述 84
4.3.2 一个实例 85
4.3.3 查询优化的一般准则 87
4.3.4 关系代数等价变换规则 87
4.3.5 关系代数表达式的优化算法 88
4.3.6 优化的一般步骤 89
小结 90
习题 91
第5章 事务管理 92
5.1 事务 92
5.1.1 事务的特性 92
5.1.2 定义事务的SQL语句 93
5.2 恢复技术 94
5.2.1 故障种类 94
5.2.2 应对措施 95
5.2.3 恢复过程 97
5.3 并发控制 98
5.3.1 并发带来的问题 99
5.3.2 封锁技术 101
5.3.3 隔离级别 103
小结 104
习题 104
第6章 客户机/服务器数据库环境 106
6.1 客户机/服务器的一般概念 106
6.2 数据库应用系统结构的演变 107
6.3 两层与多层客户机/服务器结构 110
小结 113
习题 114
第7章 在应用中使用SQL 115
7.1 嵌入式SQL 115
7.1.1 嵌入式SQL的一般形式 115
7.1.2 嵌入式SQL语句与宿主语言之间的通信 116
7.1.3 查询结果为单个记录的SELECT语句 116
7.1.4 游标 117
7.1.5 动态SQL简介 120
7.1.6 实例 122
7.2 存储过程 124
7.2.1 SQL/PSM 124
7.2.2 PL/SQL 128
7.2.3 Transact-SQL 136
7.3 ODBC简介 147
7.3.1 ODBC原理概述 147
7.3.2 ODBC驱动程序的分类 150
7.3.3 ODBC的工作流程及相关函数 152
7.3.4 实例 157
7.4 JDBC简介 159
7.4.1 JDBC原理概述 159
7.4.2 JDBC的工作流程 160
7.4.3 实例 164
7.5 触发器 168
小结 173
习题 174
第8章 实体联系模型 176
8.1 基本的实体联系模型 176
8.1.1 基本概念 177
8.1.2 常见问题及解决方法 181
8.2 扩充的实体联系模型 183
8.2.1 IsA联系 183
8.2.2 part-of联系 184
8.3 从E-R图到关系数据库模式 185
8.3.1 实体型的表示方法 185
8.3.2 联系型的表示方法 187
8.3.3 IsA联系的表示方法 188
小结 189
习题 189
第9章 关系规范化理论 191
9.1 数据依赖对关系模式的影响 191
9.2 函数依赖 192
9.2.1 函数依赖的基本概念 192
9.2.2 码 193
9.3 范式 193
9.3.1 第1范式(1NF) 194
9.3.2 第2范式(2NF) 195
9.3.3 第3范式(3NF) 196
9.3.4 BC范式(BCNF) 197
9.4 多值依赖与第4范式(4NF) 198
9.4.1 多值依赖 198
9.4.2 第4范式(4NF) 200
9.5 关系模式的规范化 200
9.6 数据依赖的公理系统 201
9.7 模式分解 204
9.7.1 模式分解的3个定义 204
9.7.2 分解的无损连接性和保持函数依赖性 206
9.7.3 模式分解的算法 207
小结 210
习题 211
第10章 对象关系数据库 212
10.1 关系模型的不足 212
10.2 面向对象数据模型 214
10.2.1 面向对象的基本概念 214
10.2.2 面向对象数据模型的核心 216
10.3 对象关系数据模型 219
10.3.1 类型系统 220
10.3.2 对象关系 223
10.3.3 子表和超表 224
10.3.4 查询和更新 224
小结 226
习题 226
第11章 XML数据库 228
11.1 XML简介 228
11.1.1 XML的特点 228
11.1.2 XML的应用 229
11.1.3 XML的相关标准 229
11.1.4 XML的存储 230
11.2 XML文档 231
11.3 DTD-XML模式定义语言 233
11.4 XML Schema-XML模式定义语言 234
11.5 XPath查询语言 237
11.5.1 数据模型 237
11.5.2 路径表达式 239
11.5.3 XPath函数 241
11.6 XQuery查询语言 242
11.6.1 FLWOR表达式 242
11.6.2 连接 243
11.6.3 嵌套查询 245
11.6.4 排序 245
11.7 XML应用程序接口 245
11.7.1 SAX 246
11.7.2 DOM 248
11.8 SQL/XML标准 252
11.8.1 发布XML文档 252
11.8.2 存储和查询XML文档 260
小结 264
习题 265
第12章 数据仓库技术 266
12.1 从数据库到数据仓库 266
12.2 数据仓库的基本概念 268
12.2.1 什么是数据仓库 268
12.2.2 主题与面向主题 268
12.2.3 数据仓库的数据是集成的 270
12.2.4 数据仓库的数据是不可更新的 271
12.2.5 数据仓库数据是随时间不断变化的 271
12.3 数据仓库中的数据组织 271
12.4 数据仓库系统的体系结构 273
12.4.1 数据仓库的后台工具 273
12.4.2 数据仓库服务器和OLAP服务器 274
12.4.3 前台工具 274
12.5 企业的体系化数据环境 275
12.5.1 数据环境的层次 275
12.5.2 数据集市 275
12.6 创建数据仓库 276
小结 277
习题 277
第13章 联机分析处理(OLAP)技术 278
13.1 什么是OLAP 278
13.2 多维数据模型 278
13.2.1 多维数据模型的基本概念 278
13.2.2 多维分析的基本操作 281
13.3 OLAP的实现 283
13.3.1 MOLAP结构 283
13.3.2 ROLAP结构 284
小结 285
习题 285
参考文献 286