第一章 数据管理及基本概念 1
1.1 数据管理技术的发展 1
1.1.1 人工管理阶段 2
1.1.2 文件系统阶段 2
1.1.3 数据库系统阶段 2
1.2 数据管理在不同范围中使用的术语 7
1.2.1 三种范围 7
1.2.2 常用术语的说明 8
1.3 记录型的定义 9
1.4 联系 10
1.4.1 记录型之间的联系 10
1.4.2 记录值之间的联系 10
1.4.2.1 简单联系(1∶1联系) 11
1.4.2.2 1∶N联系 12
1.4.2.3 M∶N联系 12
第二章 数据库组织 13
2.1 三种数据模型 13
2.1.1 层次模型 13
2.1.2.1 网状模型的定义和特点 14
2.1.2 网状模型 14
2.1.2.2 系型 15
2.1.2.3 系值 15
2.1.3 关系模型 16
2.2 数据库的结构 17
2.2.1 全局逻辑级 18
2.2.2 局部逻辑级 18
2.2.3 存储级 18
2.2.4 物理级 18
2.3.1.1 顺序组织 19
2.3.1 存储记录的设计 19
2.3 数据库的存储结构 19
2.3.1.2 顺序带链的组织 20
2.3.1.3 带次码索引的顺序组织 20
2.3.1.4 多表组织 20
2.3.1.5 完全倒排组织 21
2.3.1.6 Hash定址组织 21
2.3.2 联系的存储结构 22
2.3.2.1 层次结构的存储结构 22
2.3.2.2 网状结构的存储结构 24
3.1.1 数据描述语言 28
3.1 数据语言 28
第三章 数据库系统的结构 28
3.1.2 数据操作语言 29
3.2 数据库管理系统的一般结构 30
3.2.1 用户存取数据库数据的流程 30
3.2.2 数据库管理系统的组成 31
3.2.2.1 语言编译处理程序 31
3.2.2.2 系统运行控制程序 31
3.2.2.3 服务性程序 32
3.3 数据库管理员 32
4.1 DBTG的发展概况 33
第四章 网状方法————DBTG系统 33
4.2 DBTG的数据结构 34
4.2.1 系型 34
4.2.2 各种结构的系型表示 34
4.2.3 系值 37
4.3 DBTG对一些重要特性的规定 37
4.3.1 系序 37
4.3.1.1 排序的系 38
4.3.1.2 时序系 40
4.3.2 成员籍的类别 41
4.3.1.3 系统决定方式 41
4.3.3 系值的选择 43
4.3.4 域 46
4.3.5 记录的码和数据库码 46
4.4 模式描述语言和模式 47
4.4.1 模式的组成 47
4.4.2 描述语法的符号说明 48
4.4.3 模式的实例 48
4.4.4 每部分主要的子句和功能 51
4.5 数据存储描述语言和存储模式 52
4.5.1 存储模式对系统性能影响的分析 53
4.5.2 存储模式的组成 54
4.5.3 每部分主要的子句及功能介绍 55
4.5.3.1 存储模式条目的子句 55
4.5.3.2 映象描述条目子句 55
4.5.3.3 存储域条目子句 55
4.5.3.4 存储记录条目子句 56
4.5.3.5 索引条目子句 60
4.6 子模式描述语言和子模式 61
4.6.1 子模式与模式之间的差别 61
4.6.2 子模式的组成 62
4.6.3 子模式的实例 63
4.7 数据操作语言和应用程序 65
4.7.1 当前值 65
4.7.2 运行单位与DBMS之间的通信 66
4.7.3 DML语句 67
4.7.3.1 FIND语句 67
4.7.3.2 GET语句 72
4.7.3.3 MODIFY语句 73
4.7.3.4 STORE语句 73
4.7.3.7 DISCONNECT语句 74
4.7.3.5 ERASE语句 74
4.7.3.6 CONNECT语句 74
4.7.3.8 RECONNECT语句 75
4.7.3.9 对keep-list的操作 75
4.7.3.10 对域的操作 76
4.7.3.11 COMMIT语句和ROLLBACK语句 77
4.7.4 应用程序实例 77
4.8 数据保护 80
4.8.1 数据的存取控制 80
4.8.2 数据完整性控制 81
4.8.3 并发控制 82
第五章 层次方法————IMS系统 83
5.1 IMS的数据结构 83
5.1.1 基本概念 83
5.1.2 物理数据库的描述 85
5.1.3 层次序列 86
5.2 IMS的局部逻辑结构 87
5.2.1 IMS外部级所涉及的概念 87
5.2.2 程序通信块和程序说明块 88
5.3 IMS系统的结构 90
5.4 IMS的存储结构 91
5.4.1 HSAM存储数据库的组织 92
5.4.2 HISAM存储数据库的组织 93
5.4.2.1 使用ISAM/OSAM的HISAM组织 93
5.4.2.2 使用VSAM的HISAM组织 95
5.4.3 HDAM存储数据库的组织 95
5.4.4 HIDAM存储数据库的组织 97
5.5 IMS数据的操作 98
5.5.1 DL/I的语句及其功能 99
5.5.2 操作的例子 99
5.5.3 SSA的命令码 102
5.5.4 应用程序的结构 103
5.6 IMS的逻辑数据库 104
5.7 IMS辅助索引 107
5.7.1 根片段非排序码字段对根片段的索引 107
5.7.2 下属片段的字段对根片段的索引 108
5.7.3 下属片段的字段对该下属片段的索引 108
5.7.4 下属片段的字段对其祖先片段的索引 109
5.8 数据的保护 109
5.8.1 存取控制 109
5.8.2 完整性控制 110
第六章 关系方法 111
6.1 基本概念 111
6.1.1 关系的数学定义 111
6.1.2 数据模型 111
6.1.3 码 113
6.1.4 外来码 113
6.1.5 窗口与快照 114
6.2 关系数据语言 115
6.2.1 关系代数 115
6.2.1.1 五种基本运算 116
6.2.1.2 其他一些代数运算 117
6.2.1.3 数据库操作例子 119
6.2.2 元组关系演算语言QUEL 120
第七章 实验关系数据库系统System R 125
7.1 引言 125
7.2 System R的总体结构 126
7.3 用户接口————SQL 127
7.3.1 数据定义功能 127
7.3.2 数据查询与更新功能 130
7.3.3 数据控制功能 134
7.3.4 SQL语言对主语言的嵌入 135
7.4 关系数据系统(RDS) 136
7.4.1 预编译 136
7.4.2 滑标的处理 137
7.4.3 窗口的合成 138
7.4.4 执行 139
7.4.5 一些特殊的SQL语句的处理 141
7.4.6 节类型和操作类型 143
7.4.7 UFI 144
7.4.8 存取控制 144
7.5 研究存储系统(RSS) 148
7.5.1 空间/设备管理 148
7.4.9 小结 148
7.5.2 路径管理 149
7.5.3 并发控制 149
7.5.4 恢复 150
第八章 关系数据库的设计 153
8.1 关系模式的一般表示及设计中的问题 153
8.2 函数依赖性 154
8.2.1 函数依赖的定义 154
8.2.2 函数依赖的逻辑蕴涵 155
8.2.3 码 156
8.2.4 函数依赖公理 156
8.2.5 函数依赖集合F的闭包的计算 159
8.2.6 计算X+的算法 159
8.2.7 函数依赖集合的等价性 160
8.3 关系模式的分解 161
8.3.1 分解的无损失的连接性 162
8.3.2 保持函数?赖的分解 165
8.4.1 第一范式(1NF) 167
8.4.2 第二范式(2NF) 167
8.4 关系模式的范式 167
8.4.3 第三范式(3NF) 168
8.4.4 BCNF 169
8.4.5 具有无损失连接性和保持函数依赖的分解 170
8.5 多值依赖和第四范式 173
8.5.1 多值依赖定义 173
8.5.2 多值依赖公理 174
8.5.3 第四范式(4NF) 175
8.6 连接依赖与第五范式 176
8.6.2 第五范式(5NF) 177
8.6.1 连接依赖的定义 177
第九章 查询优化 179
9.1 表达式优化 179
9.1.1 选择(Select)操作的处理(尽可能早地执行选择操作) 179
9.1.2 提前执行投影操作 180
9.1.3 同一关系的选择操作序列或投影操作系列的合并 180
9.1.4 简化多余的操作 181
9.1.5 公共子表达式的处理 181
9.1.6 优化顺序 181
9.2 INGRES的优化方法 182
9.2.1 分解处理 182
9.2.2 结局(END GAME)处理 185
9.3 System R的优化技术 186
9.3.1 简单查询 187
9.3.2 多元查询 190
9.3.3 嵌套查询 195
第十章 并发控制与恢复 197
10.1 引言 197
10.2 封锁管理 198
10.2.1 死锁 198
10.2.2 死锁的预防 199
10.2.3 死锁的诊断 202
10.2.4 死锁的排除 203
10.3 并发调度 205
10.3.1 一致性调度 205
10.3.2 调度的等价 207
10.3.3 可串行化调度的判定算法 210
10.3.4 具有共享封锁方式的可串行化调度的判定算法 212
10.4 一致性级别 214
10.4.1 不一致性的分类 215
10.4.2 一致性的级别 216
10.5.1 层次封锁 218
10.5 封锁的尺度 218
10.5.1.1 封锁方式 219
10.5.1.2 封锁方式的相容性 219
10.5.1.3 封锁方式的并发度 219
10.5.1.4 封锁协议 220
10.5.1.5 封锁的例子 221
10.5.2 封锁的调度与转换 222
10.6 恢复管理 223
10.6.1 事务的失败 224
10.6.2 软故障 224
10.6.3 硬故障 226
第十一章 数据库设计方法 227
11.1 数据库设计的一般过程 227
11.1.1 要求分析 228
11.1.2 视图定义 229
11.1.3 模式与子模式设计 230
11.1.4 物理设计 230
11.2 E-R方法(实体-联系方法) 231
11.2.1 E-R图 231
11.2.2 E-R图对其他数据模型的转换 234
11.2.3 例子 235
11.3 数据库设计的LRA方法 237
11.3.1 设计的基本步骤 238
11.3.1.1 要求分析 238
11.3.1.2 逻辑设计 238
11.3.2 数据结构的性能分析 239
11.3.3 设计例子 242
11.3.3.1 要求分析 242
11.3.3.2 信息结构设计 243
11.3.3.3 信息结构的改进 244
11.4 计算机辅助逻辑数据库设计 248
11.4.1 基本概念 249
11.4.2 设计的例子 251
11.4.3 DBDA的执行过程 254
11.5 数据库的物理设计 257
11.5.1 文件结构的选择 257
11.5.2 数据的群集 260
第十二章 AIM的数据库设计及使用 264
12.1 AIM数据库系统结构 264
12.2.1 数据库的逻辑结构 266
12.2.1.1 记录型及记录 266
12.2 AIM数据库的数据结构 266
12.2.1.2 系型和系值 267
12.2.2 数据库的存储结构 267
12.2.2.1 页的组成 268
12.2.2.2 逻辑页 268
12.2.2.3 域 268
12.2.2.4 子域 272
12.2.3 数据库的物理结构 273
12.3.1 设计步骤 274
12.3.2 模式的设计 274
12.3 数据库的设计和ADL语言 274
12.3.2.1 模式条目 275
12.3.2.2 记录类型的设计及记录条目 275
12.3.2.3 系型设计及系条目 279
12.3.2.4 存储结构的设计及域条目 280
12.3.2.5 物理结构设计和文件条目 283
12.3.3 ADLGEN程序 284
12.3.3.1 ADLGEN的输入/输出文件 284
12.3.3.2 ADLGEN的控制语句 286
12.3.3.3 建立模式的控制语句样板 287
12.3.4 模式实例 288
12.4.1 子模式的设计和定义 290
12.4 应用程序的开发 290
12.4.2 PED的设计和定义 291
12.4.3 DML语言 294
12.4.3.1 当前值 294
12.4.3.2 文件通信区(FCOM) 294
12.4.3.3 数据库的操作命令 296
12.4.4 数据库应用程序的实例 303
12.4.5 应用程序的划分 305
12.4.6 应用程序和事务管理 307
12.5 数据库的故障处理 308
12.4.7 应用程序和并发控制 308
12.5.1 监测 309
12.5.2 故障管理和恢复 310
第十三章 IDBS数据库管理系统的分析 312
13.1 IDBS的简介 312
13.1.1 IDBS的数据定义 312
13.1.2 IDBS的数据处理 313
13.1.2.1 当前值及IDBS运行环境 313
13.1.2.2 数据操作语言 313
13.1.3 教学数据库的设计和实现 318
13.3.1 数据库的组织 336
13.2 IDBS的系统结构 336
13.3 IDBS数据库的存储结构 336
13.3.2 块的结构 337
13.3.3 数据区的数据结构 337
13.3.3.1 数据库目录 337
13.3.3.2 数据库结构区 338
13.3.3.3 文件内容块数据区的结构 338
13.4 IDBS管理系统的结构 342
13.4.2 子文件子系统 343
13.4.2.1 管理对象 343
13.4.1 IDBS接口子系统 343
13.4.2.2 管理功能 344
13.4.3 动态存储子系统 344
13.4.3.1 域段子系统 344
13.4.3.2 主块子系统 345
13.4.3.3 表子系统 349
13.4.4 输入/输出子系统 352
13.4.4.1 文件保存子系统 353
13.4.4.2 缓冲区子系统 355
13.4.4.3 文件处理子系统 356
参考文献 357