1.1 数据库的意义 1
1.1.1 信息处理及数据处理 1
第1章 数据库的概念 1
1.1.2 数据模型和数据库技术 2
1.2 数据库的由来和发展 3
1.2.1 人工管理阶段(20世纪50年代中期以前) 3
1.2.2 文件系统阶段(20世纪50年代后期至60年代中后期) 4
1.2.3 数据库阶段(20世纪60年代末开始) 5
1.2.4 高级数据库阶段(20世纪70年代后期开始) 7
1.3 数据库的体系结构 11
1.4 数据库系统 16
1.5 数据库管理系统 19
习题 22
2.1 实体和实体集合 23
第2章 实体联系模型(E-R Model) 23
2.2 联系和联系集合 24
2.3 属性、映射限制和关键字 25
2.3.1 属性 25
2.3.2 映射限制 26
2.3.3 关键字 28
2.4 实体联系E-R图解和将之归纳为表 29
2.4.1 实体联系图 29
2.4.2 把E-R图转变为表 31
2.5 概括和聚集 34
2.5.1 概括 34
2.5.2 聚集 36
2.6.1 映射基本集 37
2.6 E-R数据库模式设计 37
2.6.2 实体集和联系集的使用 38
2.6.3 扩展E-R特征的使用 38
习题 39
第3章 关系模型及Oracle对象关系数据库 40
3.1 关系模型和基本概念 40
3.1.1 关系的定义 40
3.1.2 关系模型 41
3.1.3 关系数据语言概述 43
3.2 关系代数 43
3.2.1 传统的集合运算 43
3.2.2 专门的关系运算 44
3.3.1 元组关系演算 49
3.3 关系演算 49
3.3.2 域关系演算 51
3.4 关系数据库标准语言——SQL 52
3.5 Oracle对象关系数据库系统 55
3.5.1 Oracle系统的特点、产品结构及组成 56
3.5.2 Oracle的体系结构(实例的进程结构和内存结构) 58
3.5.3 Oracle的配置方案 66
3.5.4 Oracle运行过程 70
习题 70
第4章 Oracle的SQL和PL/SQL 72
4.1 Oracle的SQL介绍 72
4.2 定义、修改、删除表 74
4.2.1 创建表(CREATE TABLE) 74
4.2.2 修改表结构 81
4.2.3 索引的定义 83
4.2.4 删除表、索引 84
4.3 模式对象、直接量、函数和表达式 85
4.3.1 模式对象 85
4.3.2 对象及成分的命名 85
4.3.3 直接量 87
4.3.4 数据类型 88
4.3.5 空值 88
4.3.6 伪列 88
4.3.7 注释 89
4.3.8 算符 89
4.3.9 函数 92
4.3.10 表达式与条件 94
4.4.1 将新行插入(INSERT)表 95
4.4 数据操纵语言(Insert、Update和Delete) 95
4.4.2 修改(UPDATE)表的行 96
4.4.3 从表删除(DELETE)行 97
4.5 视图(View) 97
4.5.1 视图定义 97
4.5.2 视图的查询 98
4.5.3 视图修改 99
4.6 Oracle的PL/SQL 100
4.6.1 什么是PL/SQL 100
4.6.2 PL/SQL的结构 101
4.6.3 控制结构 109
4.6.4 游标(CURSOR) 113
习题 117
5.1 引言 121
第5章 关系数据库设计理论 121
5.2 函数依赖 122
5.3 范式 124
5.3.1 第一范式(1NF) 125
5.3.2 第二范式(2NF) 125
5.3.3 第三范式(3NF) 126
5.3.4 BCNF 126
5.4 多值依赖和4NF 128
习题 130
第6章 数据库的设计与维护 132
6.1 概述 132
6.2 需求分析 134
6.2.1 需求分析的基本步骤 134
6.3 概念结构设计 136
6.2.2 数据字典 136
6.3.1 概念模型 137
6.3.2 概念设计的主要步骤 137
6.4 逻辑结构设计 142
6.4.1 逻辑设计环境 142
6.4.2 关系数据库的逻辑设计 143
6.5 物理设计 145
6.5.1 物理设计的步骤 145
6.5.2 物理设计环境 146
6.5.3 物理设计性能的测量 147
6.6 实现与维护 148
6.6.1 数据库的实现 148
6.6.2 其他设计工作 149
6.6.3 运行与维护 150
6.7 用Oracle建立数据库 151
6.7.1 数据库结构和空间管理(数据文件、日志文件、表空间、段、模式和模式对象) 151
6.7.2 用Oracle建立和修改数据库 159
6.7.3 初始化参数文件 169
6.8 数据字典 171
6.8.1 数据字典的结构 172
6.8.2 数据字典的使用 172
习题 173
第7章 数据库保护 174
7.1 数据库的安全性(用户鉴别、特权、角色、审计) 174
7.1.1 数据库的存取控制和用户的建立 175
7.1.2 特权和角色 179
7.1.3 审计 185
7.2 数据完整性(数据库触发器) 186
7.2.1 完整性约束 186
7.2.2 数据库触发器 187
7.3 并发控制 190
7.3.1 数据库不一致的类型 191
7.3.2 封锁 191
7.3.3 Oracle多种一致性模型 192
7.3.4 封锁机制 192
7.3.5 手工的数据封锁 194
7.4 数据库后备和恢复 195
7.4.1 数据库恢复所使用的结构 195
7.4.2 在线日志 196
7.4.3 归档日志 197
7.4.4 数据库后备 198
7.4.5 数据库恢复 199
习题 200
第8章 Oracle的企业管理器(Enterprise Manager) 202
8.1 企业管理器的三层框架结构 202
8.1.1 客户层 203
8.1.2 管理服务层 204
8.1.3 节点层 204
8.1.4 独立启动(standalone) 205
8.2 企业管理器的配置 206
8.2.1 进入OMS(Oracle Management Server) 206
8.2.2 OEM、OMS功能简介 210
8.3 Oracle DBA(数据库管理员)的工作 212
8.3.1 使用OEM管理数据库 212
8.3.2 用户管理 224
8.3.3 管理表和表空间 226
8.3.4 管理视图、索引和触发器 233
8.3.5 管理其他数据库对象 238
8.4 客户端配置 239
8.4.1 配置连接数据库 239
8.4.2 客户端测试 244
习题 244
第9章 分布式数据库系统 246
9.1 概述(客户/服务器结构、服务器_服务器结构) 246
9.1.1 分布式数据库的特征 247
9.1.2 全功能分布式数据库的规则和目标 248
9.2 分布式数据库的连接 250
9.2.1 分布式数据库全局名和数据库链 251
9.2.2 连接客户(Clients)和服务器(Servers) 253
9.2.3 连接服务器(Servers)到其他服务器(Servers) 254
9.3 分布式查询处理及其他 255
9.3.1 建立分布式查询 255
9.3.2 在分布式事务(Distributed Transaction)中的其他语句 256
9.4 事务管理 256
9.4.1 事务 257
9.4.2 Oracle的事务管理 257
9.5 多协议信息交换 259
9.5.1 SQL*Net 259
9.5.2 SQL*Net连接组成成分 261
9.5.3 Multi Protocol Interchange(多协议交换) 262
9.5.4 配置SQL*Net V2客户机(Client) 264
9.5.5 配置listener 265
9.5.6 配置SQL*Net V2服务器(Server) 266
9.5.7 启动listener 267
9.6 表快照与复制 268
9.6.1 人工复制表 268
9.6.2 用触发器(TRIGGERS)复制表 269
9.6.3 自动复制和更新表 269
习题 269
第10章 数据库应用程序开发工具——Oracle Developer 271
10.1 Forms Builder 271
10.1.1 Form应用基础 271
10.1.2 Form应用设计 277
10.1.3 创建主从型Form 280
10.1.4 项属性 282
10.1.5 创建Form应用程序 284
10.1.6 触发器 288
10.2 Reports Builder 296
10.2.1 Reports Builder基础 296
10.2.2 创建一个简单的报表 297
10.2.3 创建图形(Graphics) 302
10.2.4 在主界面中调用报表 305
习题 306
第11章 Oracle J2EE高级技术与JDeveloper 307
11.1 Java2企业版(J2EE) 307
11.1.1 J2EE体系结构 307
11.1.2 J2EE应用程序构成 308
11.2 Oracle9i的J2EE技术与OC4J 310
11.3.1 BC4J 314
11.3 Oracle9i Java商业组件(BC4J) 314
11.3.2 BC4J应用结构 315
11.3.3 BC4J的组件 316
11.4 JDeveloper 317
11.4.1 创建基于BC4J的应用工程 318
11.4.2 BC4J JSP应用工程 322
习题 329
第12章 Oracle程序实例——图书管理信息系统 330
12.1 一个简单的图书管理系统 330
12.2 图书数据库上Form的建立 333
习题 340
附录A 《数据库原理及应用(Oracle)实用教程》教学大纲 341
附录B 实验指导书 343
参考文献 348