第1章 数据库系统概论 1
1.1数据库系统应用 1
1.2数据库系统与文件系统 1
1.3数据视图 3
1.3.1数据抽象 3
1.3.2实例与模式 4
1.4数据模型简介 4
1.4.1实体-关联模型 5
1.4.2关系模型 5
1.4.3对象模型 6
1.5数据库语言 7
1.5.1数据定义语言 7
1.5.2数据操纵语言 7
1.5.3应用程序访问数据库机制 8
1.6数据库系统体系结构 8
1.6.1数据库的分层结构 8
1.6.2体系结构中的关键要素 10
1.6.3数据库的独立性 11
1.6.4集中式体系结构与C/S体系结构 12
1.6.5分布式体系结构 13
1.6.6异构数据库体系结构 14
1.6.7其他数据库体系结构 14
1.7数据库管理系统 15
1.8数据库系统 15
1.8.1 DBS构成 16
1.8.2 DBS结构 16
1.8.3数据库系统的发展史 17
习题 18
第2章 数据模型 19
2.1实体-关联模型 19
2.1.1实体、属性关联 20
2.1.2实体关联集 21
2.1.3实体-关联图 21
2.2扩展的E-R特性 23
2.2.1特殊化 23
2.2.2一般化 23
2.2.3属性与继承 23
2.2.4一般化/特殊化约束 24
2.2.5聚集 24
2.2.6扩展的E-R符号 24
2.3将E-R模式转换为表 25
2.3.1用表表示实体集 25
2.3.2用表表示关联集 26
2.3.3用表表示一般化 28
2.3.4用表表示聚集 29
2.4 E-R模型设计实例 29
2.5 UML模型 30
2.5.1 UML基本元素 30
2.5.2 UML和E-R模型的关系 31
2.5.3 UML设计实例 31
2.6 XML 32
2.6.1 XML数据结构 33
2.6.2 XML文档格式 34
2.6.3查询与转换 36
2.6.4 XML应用程序接口 39
习题 40
第3章 关系数据库与SQL语言 41
3.1关系数据库的结构 41
3.1.1基本关系结构 41
3.1.2数据库模式 42
3.1.3查询语言 44
3.1.4关系数据模型的优缺点 44
3.2关系代数 45
3.2.1基本运算 45
3.2.2扩展运算 48
3.3扩展的关系代数 50
3.3.1广义投影 51
3.3.2聚集运算 51
3.3.3外连接 52
3.4数据库的修改操作 54
3.4.1数据删除 54
3.4.2数据插入 54
3.4.3数据更新 55
3.5 SQL 55
3.5.1 SQL基本结构 56
3.5.2聚集函数 73
3.5.3空值操作 75
3.5.4嵌套查询 76
3.5.5复杂查询 79
3.5.6 SQL的集合查询 86
3.5.7数据库的更新 89
3.5.8视图操作 94
3.5.9 SQL事务 101
3.6查询优化技术 103
3.6.1概述 103
3.6.2关系表达式的转换 105
3.6.3查询计划的构建与选择方法 107
3.6.4优化器工作过程 109
习题 110
第4章 关系数据库理论 117
4.1第一范式 117
4.2函数依赖 117
4.2.1基本概念 118
4.2.2函数依赖集及闭包 119
4.2.3属性集的闭包 120
4.2.4最小覆盖 121
4.3模式分解 123
4.3.1基本分解定义 123
4.3.2无损连接分解 123
4.3.3保持依赖 125
4.3.4模式信息冗余 126
4.4第二范式 127
4.4.1定义 128
4.4.2分解算法 128
4.5第三范式 129
4.5.1定义 129
4.5.2分解算法 131
4.6 BC范式 132
4.6.1 BC范式的定义 132
4.6.2分解算法 132
4.7第四范式 133
4.7.1多值依赖 133
4.7.2第四范式定义 134
4.7.3分解算法 135
4.8范式小结 135
习题 136
第5章 对象及对象—关系数据库理论 137
5.1面向对象的数据模型 137
5.1.1对象结构 138
5.1.2对象类 139
5.1.3继承 140
5.1.4多重继承 141
5.1.5对象标识 142
5.1.6对象包含 143
5.2面向对象的语言 143
5.3持久化程序设计语言 144
5.3.1对象的持久化 145
5.3.2对象标志与指针 146
5.3.3持久化对象的存储与访问 146
5.3.4持久化C++系统 147
5.3.5持久化的Java系统 149
5.4对象—关系模型 149
5.4.1嵌套关系 150
5.4.2复杂数据类型 150
5.4.3继承(类型继承、表继承) 152
5.4.4引用类型 154
5.5与复杂类型有关的查询 154
5.5.1基于关系值的属性 154
5.5.2路径表达式 155
5.5.3聚组与析组 156
5.6函数和过程 156
5.6.1 SQL函数和过程 157
5.6.2外部语言程序 157
5.6.3过程构造 158
5.7面向对象及对象—关系数据库应用 159
习题 160
第6章 数据库事务管理 162
6.1事务 162
6.1.1事务概念 162
6.1.2事务的状态与特性 162
6.1.3原子性与持久性的实现 164
6.1.4并发性与可串行化 164
6.1.5可串行化的判定 166
6.1.6事务的隔离性的实现 168
6.1.7 SQL中的事务定义 169
6.2并发控制 169
6.2.1基于锁的协议 171
6.2.2多粒度锁 174
6.2.3死锁 175
6.2.4基于时间印的协议 177
6.2.5多版本控制 178
6.3数据库恢复系统 179
6.3.1故障与恢复概述 179
6.3.2基于日志的恢复 181
6.3.3恢复技术 182
6.3.4并发事务的恢复 184
习题 184
第7章 完整性与安全性 185
7.1域约束 185
7.2参照完整性 186
7.2.1基本概念 186
7.2.2 E-R模型和SQL中的参照完整性 187
7.3断言 189
7.4触发器 189
7.4.1 SQL中的触发器 190
7.4.2触发器的应用 191
7.5安全性与授权 192
7.5.1安全性概述 192
7.5.2授权、视图 193
7.5.3角色与权限 194
7.5.4审计 195
7.6 SQL中安全性与授权 196
7.7加密与认证机制 198
习题 199
第8章 数据库设计 201
8.1数据库设计概述 201
8.1.1需求分析 203
8.1.2概念模型设计 205
8.1.3逻辑设计 207
8.1.4物理设计 208
8.1.5数据库实施 209
8.1.6数据库运行与维护 210
8.2数据库存储环境 211
8.2.1存储控制结构 211
8.2.2 RAID技术 213
8.2.3存储区域网络(SAN) 214
8.2.4网络连接存储(NAS) 215
8.2.5多级混合存储 216
8.2.6存储缓冲区 217
8.2.7存储设备的性能评价 217
8.3高速网络互连 219
8.3.1网络性能参数 220
8.3.2高速网络技术 221
8.3.3 ServerNet 222
8.3.4 InfiniBand 224
8.4网络数据库关键技术 226
8.4.1数据字典 226
8.4.2局部缓冲技术 228
8.4.3全局目录技术 230
8.4.4网络数据库的完整性与一致性 231
8.4.5网络数据库的大规模并发设计技术 234
8.4.6安全与恢复系统配置 236
8.5基于E-R模型的设计 239
8.5.1 E-R图的构建 239
8.5.2 E-R图的合并、冲突解决与冗余消除 241
8.5.3 E-R图向关系模型转换 245
8.5.4模型优化 246
8.5.5 E-R模型数据库设计实例 247
8.6对象数据库的存储 249
8.6.1对象到文件的映射 249
8.6.2对象标识的实现 249
8.6.3持久化指针的管理 250
8.6.4大对象 252
8.6.5对象在关系数据库中的存储与访问 253
习题 255
第9章Web数据库设计 256
9.1 WWW服务器的特点 256
9.1.1 Web服务器的配置与运行 256
9.1.2映射与多Web支持 257
9.1.3自动目录索引 258
9.1.4 Web的安全性 259
9.2数据库的Web接口 261
9.2.1 Web服务器和会话 261
9.2.2 Servlet与服务器脚本(JSP) 262
9.3性能调整 263
9.3.1瓶颈的定位 263
9.3.2参数调整 264
9.3.3硬件的调整 265
9.3.4模式的调整 265
9.3.5索引的调整 265
9.3.6事务的调整 267
9.4开发技术 267
9.4.1 JDBC 268
9.4.2 Java Servlet和JSP技术 270
9.4.3 XML数据的存储 277
9.4.4 XML数据中介与数据交换 279
9.5 Web数据库应用实例 280
习题 300
第10章 机群数据库 301
10.1计算机机群概述 301
10.1.1可扩展的并行计算体系结构 301
10.1.2计算机机群及其体系结构 302
10.1.3计算机机群中间件 303
10.1.4计算机机群的种类及用途 305
10.1.5计算机机群构建与管理 307
10.2机群数据库 311
10.2.1机群数据库的应用背景 311
10.2.2网络数据库工作模式 313
10.2.3机群数据库架构 314
10.2.4机群数据库节点 316
10.2.5机群数据库中间件技术 316
10.3 Oracle机群数据库简介 319
10.3.1 RAC的应用构架 320
10.3.2 RAC的软硬件环境 320
10.3.3 RAC的逻辑架构 322
10.3.4 RAC机群中间件 324
10.3.5机群文件系统 327
10.3.6 Oracle RAC工作结构 328
10.4应用实例 328
习题 330
第11章 基于Internet的集团公司 331
财务数据监管系统 331
11.1基本财务知识 331
11.1.1科目代码 331
11.1.2记账凭证 332
11.1.3科目汇总 332
11.2集团公司财务系统应用现状 333
11.3系统需求分析 334
11.3.1网络环境及优劣势分析 334
11.3.2集团公司监管业务数据流量和存储容量分析 335
11.3.3监管系统功能的需求 335
11.3.4明确系统的开发边界 336
11.4财务监管系统设计 337
11.4.1系统模型的数据抽取 337
11.4.2数据流模型及E-R模型 339
11.4.3关系模型设计 342
11.4.4进程描述 347
11.5进程和数据库配置 355
11.6总结与分析 356
参考文献 357