第1章 数据库系统的基本概念 6
1.1 数据库、数据库管理系统与数据库系统 6
1.1.1 数据库 6
1.1.2 数据库管理系统 6
1.1.3 数据库应用 7
1.1.4 数据库管理员 8
1.1.5 系统硬件及相关软件 8
1.2 数据库系统的基本特点 8
1.3 数据库系统的工作过程 10
1.4 数据库技术的研究要点 11
习题1 12
2.1.1 三个抽象层次的数据模型 14
2.1 数据模型的基本概念 14
第2章 数据模型 14
2.1.2 数据模型的三个要素 15
2.2 数据模型所对应的不同抽象层次 15
2.3 概念世界与概念模型 16
2.3.1 E-R模型 16
2.3.2 EE-R模型 21
2.3.3 面向对象模型 23
2.4 信息世界与逻辑模型 24
2.4.1 概述 24
2.4.2 层次模型与层次模型数据库系统 25
2.4.3 网络模型与网络模型数据库系统 26
2.4.4 关系模型与关系模型数据库系统 28
2.5.1 概述 30
2.5 计算机世界与物理模型 30
2.5.2 文件系统 31
2.5.3 关系模型的存储结构 32
2.6 描述数据库系统结构的重要概念——数据模式 32
习题2 34
第3章 关系数据库系统及其标准语言SQL 36
3.1 关系数据库系统特点及其标准 36
3.1.1 关系数据库系统概述 36
3.1.2 对关系数据库系统的衡量和评价准则 38
3.2 关系模型的数学理论基础 39
3.2.1 关系的表示 39
3.2.2 数据操纵的表示 40
3.2.4 关系代数中的扩充运算 42
3.2.3 关系模型与关系代数 42
3.2.5 关系代数运算实例 44
3.3 SQL及其特点 46
3.3.1 SQL概述 46
3.3.2 SQL的数据查询 47
3.3.3 SQL的数据更新 58
3.3.4 SQL的数据定义 60
3.3.5 定义视图和操作视图 64
3.3.6 嵌入式SQL 66
3.4 SQL总结与应用举例 71
3.4.1 SQL的数据定义小结 71
3.4.2 SQL的数据操纵举例 72
3.4.3 SQL的更新功能举例 78
3.4.4 有关视图的举例 79
3.4.5 嵌入式SQL小结 81
3.4.6 SQL的特点小结 82
习题3 83
第4章 关系数据库的优化理论与系统实现技术 87
4.1 关系数据库的规范化理论 87
4.1.1 问题的引出 87
4.1.2 规范化理论 88
4.1.3 规范化所引起的相关问题 98
4.2 数据库的并发控制 98
4.2.1 数据的不一致性与并发控制 98
4.2.2 封锁 99
4.2.3 事务 100
4.3 数据库的完整性 101
4.3.1 完整性约束 101
4.4 数据库的安全性 102
4.3.2 触发器 102
4.4.1 使用权的鉴别 103
4.4.2 使用范围限制 103
4.4.3 存取控制权鉴别 103
4.5 数据库的恢复技术 105
4.5.1 数据转储 106
4.5.2 日志 106
4.6 数据库的物理存储问题 106
4.6.1 数据存储介质 107
4.6.2 文件组织 108
4.6.3 文件中记录的组织 110
4.6.4 索引技术 111
4.6.5 散列技术 115
习题4 117
5.1.1 数据库工程 120
第5章 数据库设计 120
5.1 数据库设计方法与软件工程学理念 120
5.1.2 数据库系统生存期 121
5.1.3 数据库设计的具体步骤 121
5.2 规划阶段 122
5.3 需求分析阶段 122
5.4 概念设计阶段 124
5.4.1 概念设计的重要性 124
5.4.2 数据抽象 124
5.4.3 基本ER模型的扩充 124
5.4.4 采用E-R方法的概念设计步骤 125
5.5 逻辑设计阶段 125
5.7.1 编码与编译 127
5.7 编码测试与数据库的实现 127
5.6 物理设计阶段 127
5.7.2 测试与调试 129
5.7.3 数据库的实现 131
5.8 数据库的运行和维护 131
习题5 132
第6章 数据库系统的成熟新技术 134
6.1 分布式数据库系统 134
6.1.1 分布式数据库概述 134
6.1.2 分布式数据库系统的分类和结构 137
6.1.3 数据分布策略 141
6.1.4 查询的分解和优化 143
6.1.5 分布式数据库系统中的并发控制和恢复技术 149
6.2.1 新型数据库应用 153
6.2 面向对象数据库技术 153
6.2.2 面向对象数据模型 154
6.2.3 面向对象语言 159
6.2.4 持久化程序设计语言 159
6.2.5 持久化C++系统 162
6.3 对象关系数据库技术 164
6.3.1 嵌套关系 164
6.3.2 复杂类型和面向对象 165
6.3.3 复杂类型查询 169
6.3.4 面向对象和对象关系数据库的比较 173
习题6 174
7.1.1 常见的桌面数据库产品 176
7.1 流行数据库应用开发系统简介 176
第7章 常见关系数据库及应用开发系统简介 176
7.1.2 数据库应用程序开发工具 177
7.1.3 数据库应用程序的开发步骤 178
7.2 主流关系数据库简介 179
7.2.1 ORACLE 180
7.2.2 SYBASE 185
7.2.3 INFORMIX 190
7.2.4 DB2 194
7.2.5 INGRES 199
7.3 关系数据库管理系统产品特性 202
习题7 204
8.1.1 数据库结构概述 205
8.1.2 Oracle数据库的物理结构 205
8.1 Oracle数据库的结构 205
第8章 Oracle数据库简介 205
8.1.3 数据库的逻辑结构 206
8.1.4 数据库的存储对象 206
8.1.5 数据字典 208
8.1.6 ORACLE多线索服务器结构 208
8.2 应用Oracle数据库应该了解的预备知识 209
8.2.1 ORACLE数据库的技术特点 209
8.2.2 分布式数据库管理功能简介 210
8.2.3 ORACLE的互联网功能 211
8.3 ORACLE的安装 211
8.4 验证安装的结果 220
8.5 ORACLE的启用 220
8.6 ORACLE的卸载 221
习题8 222
第9章 Oracle数据库的SQL 223
9.1 ORACLE中SQL的分类与SQL?PLUS的应用 223
9.1.1 ORACLE中SQL的分类 223
9.1.2 SQL?PLUS的构成 223
9.1.3 程序块结构语言PL/SQL 224
9.1.4 用PL/SQL说明变量 225
9.1.5 一些常见的PL/SQL程序控制结构 227
9.2 ORACLE中SQL的使用 227
9.2.1 SQL DML语句的类型 227
9.2.2 创建若干Oracle表 227
9.2.3 使用INSERT语句 229
9.2.4 SELECT语句 230
9.2.5 使用UPDATE语句和DELETE语句 231
9.2.7 使用LOCK TABLE语句 232
9.2.6 PL/SQL对异常的处理 232
9.2.9 记录的使用 233
9.2.8 事务控制语句 233
9.2.10 伪列 238
习题9 239
第10章 Oracle的DBA 243
10.1 Oracle的DBA的分类 243
10.2 可供DBA使用的工具 243
10.2.1 DBA Studio 243
10.2.2 SQL?Plus Worksheet 244
10.3 例程管理 245
10.4 方案管理 246
10.5 安全性管理 249
10.7 利用ORACLE提供的数据库管理向导 250
10.6 存储管理 250
10.7.1 分析向导 251
10.7.2 导出向导 251
10.7.3 导入向导 252
10.7.4 装载向导 252
10.7.5 备份向导 253
10.7.6 其他向导 253
10.8 数据库人工管理简介 255
10.8.1 数据库的存取管理 255
10.8.2 数据库程序结构管理 259
10.8.3 数据库维护和安全性管理 259
习题10 259
11.1 Oracle的数据库的安全性 261
第11章 数据库系统的基本概念 261
11.1.1 数据库的存取控制 262
11.1.2 特权和角色 264
11.1.3 审计 265
11.2 Oracle的数据完整性 266
11.2.1 完整性约束 266
11.2.2 数据库触发器 267
11.3 Oracle的并发控制技术 268
11.3.1 数据库不一致的类型 269
11.3.2 封锁 269
11.3.3 Oracle多种一致性模型 269
11.3.4 封锁机制 270
11.3.5 手工的数据封锁 271
11.4.1 数据库恢复所使用的结构 272
11.4 Oracle的数据库备份和恢复 272
11.4.2 在线日志 273
11.4.3 归档日志 274
11.4.4 数据库备份 275
11.4.5 数据库恢复 276
习题11 277
第12章 数据库技术的热点与前沿问题 278
12.1 数据库系统的崛起及其快速的发展道路 278
12.2 数据库技术的发展现状 279
12.3 新型数据库的应用 280
12.4 对数据库技术的展望 284
习题12 286
参考文献 287