第一章 绪 论 1
1.1 关系数据库的由来 1
1.2 关系数据库系统的特点 2
1.3 关系数据库技术的新进展 6
1.4 主要厂商及数据库产品特点 6
1.4.1 几家主导厂商简介 6
1.4.2 ORACLE的产品线 8
第二章 数据库的存储方式 11
2.1 数据库的逻辑载体:表空间 11
2.1.1 表空间与数据文件的关系 11
2.1.2 设计表空间和数据文件考虑的因素 12
2.1.3 表空间的操作 13
2.2 表空间的逻辑构成:段、区间和数据块 15
2.2.1 段、区间和数据块之间的关系 15
2.2.2 数据块 16
2.2.3 区间和段 17
2.3 存储参数的选择 17
2.3.1 存储参数 17
2.3.2 一次到位原则 18
第三章 数据表示与查询(表和视图) 21
3.1 数据类型 21
3.1.1 数据库中的主要数据类型 21
3.1.2 关于数据类型的ANSI标准 24
3.1.3 数据类型的转换 25
3.2 表 26
3.2.1 表的存储方式 26
3.2.2 空值和缺省值 27
3.2.3 管理表的SQL语句 27
3.3 查询语句及表达式、函数 29
3.3.1 SQL的查询语句概述 29
3.3.2 运算符和表达式 30
3.3.3 函数 32
3.4 查询的基本技术与条件 36
3.4.1 查询三要素 36
3.4.2 表达式的组织和应用 36
3.4.3 查询输出顺序 37
3.4.4 聚组函数的计算过程 38
3.4.5 暂存段 40
3.5 视图 41
3.5.1 视图与表的关系 41
3.5.2 视图的操作和特点 41
3.5.3 视图上的查询 42
第四章 数据表示与查询(索引和聚簇) 44
4.1 索引 44
4.1.1 索引的概念 44
4.1.2 索引的操作 45
4.1.3 应用索引提高效率 48
4.2 连接 52
4.2.1 表连接的概念与分类 52
4.2.2 连接优化原则 54
4.2.3 连接模型分析 56
4.3 聚簇 57
4.3.1 聚簇的概念 57
4.3.2 聚族空间需求计算 58
4.3.3 聚簇操作 60
4.4 HASH簇存储 61
4.4.1 HASH簇的概念 61
4.4.2 HASH簇操作 62
4.4.3 HASH函数 64
第五章 数据完整性 66
5.1 数据的完整性概念 66
5.1.1 数据完整性及基本实现方法 66
5.1.2 单一表上的完整性模型 67
5.1.3 参照完整性模型 70
5.2 数据完整性的定义方法 73
5.2.1 相关的SQL语句 73
5.2.2 增加和删除约束定义 76
5.2.3 对数据完整性约束的控制 78
5.3 数据输入设计 81
5.3.1 减少错误数据输入 81
5.3.2 减少输入操作量 83
第六章 动态存储与进程管理 85
6.1 动态存储 85
6.1.1 动态存储结构 85
6.1.2 系统全局区和程序全局区 86
6.2 进程管理 88
6.2.1 例程与进程结构 88
6.2.2 后台进程 91
6.2.3 多线索结构 93
6.2.4 程序接口 94
6.3 SQL语句处理 95
6.3.1 SQL指针 95
6.3.2 SQL语句的处理阶段 96
6.4 数据库与例程管理 98
6.4.1 启动与关闭的概念 98
6.4.2 启动例程和数据库 99
6.4.3 初始化参数文件 100
6.4.4 关闭例程和数据库 101
第七章 事务控制 103
7.1 回退段结构 103
7.1.1 回退段的作用 103
7.1.2 回退段的区间分配 104
7.1.3 回退段的状态 105
7.1.4 创建回退段的原则 106
7.2 提交与回退 109
7.2.1 事务定义 109
7.2.2 事务控制语句 110
7.3 两阶段提交 112
7.3.1 两阶段提交的概念 112
7.3.2 会话树 114
7.3.3 事务级容错分析 117
第八章 数据并发性 121
8.1 数据并发性和一致性 121
8.1.1 基本概念 121
8.1.2 基本控制方法 123
8.1.3 用回退段保证读一致性 124
8.2 数据锁 126
8.2.1 数据锁的类型 126
8.2.2 数据锁的操作特点 128
8.3 字典锁和内部锁 129
8.3.1 字典锁 129
8.3.2 内部锁 130
8.4 改善数据并发性 131
8.4.1 按约定顺序封锁表 131
8.4.2 行级封锁中的问题 133
8.4.3 减少封锁时间的方法 135
第九章 数据库系统的可靠性 137
9.1 故障类型与基本对策 137
9.1.1 故障类型 137
9.1.2 前卷与回退 138
9.1.3 故障的基本对策 139
9.2 日志文件 140
9.2.1 日志文件工作方式 140
9.2.2 检查点 141
9.2.3 日志文件与检查点的优化 142
9.2.4 日志文件操作 143
9.3 数据冗余保存 144
9.3.1 在归档方式下的日志数据 144
9.3.2 影像备份 145
9.3.3 卸出和装入 147
9.4 介质故障恢复过程 148
9.4.1 恢复SYSTEM以外的表空间 148
9.4.2 日志文件和控制文件的恢复 150
9.4.3 共享磁盘系统的备份和恢复 151
第十章 数据库系统的安全性 153
10.1 用户管理 153
10.1.1 用户分类 153
10.1.2 用户的权限管理 155
10.1.3 用户管理 156
10.1.4 系统权限和对象权限 157
10.1.5 角色管理 158
10.2 资源管理 159
10.2.1 资源限制文件 159
10.2.2 资源限制文件的用途 160
10.3 数据库访问的安全性 162
10.3.1 三种基本访问角色 162
10.3.2 数据库用户的创建与删除 165
10.3.3 数据库访问的审计 166
10.4 数据库对象的安全性 167
10.4.1 访问表中的数据 167
10.4.2 审计数据库对象 168
10.4.3 统计数据库中的数据安全性 169
第十一章 数据库系统的网络平台 172
11.1 网络设备与硬件 172
11.1.1 基本网络设备:网卡 172
11.1.2 基本拓扑结构 174
11.1.3 扩充网络的范围 176
11.1.4 平衡网络传送能力 177
11.1.5 高速网络平台 180
11.2 网络设计 180
11.2.1 网络性能需求 180
11.2.2 合理划分网段 181
11.3 影响网络平台的因素 183
11.3.1 运行管理的影响 183
11.3.2 应用设计的影响 184
11.3.3 数据库系统软件的影响 186
第十二章 数据库服务器的硬件平台 188
12.1 中央处理器 188
12.1.1 比较标准 188
12.1.2 技术特征 189
12.2 体系结构 190
12.2.1 总线 190
12.2.2 多机并行结构 191
12.3 内存 192
12.3.1 容错能力 192
12.3.2 容量 193
12.4 硬盘子系统 195
12.4.1 硬盘配置 195
12.4.2 硬盘冗余 196