第1章 数据库概述 1
1.1 数据库技术的产生与发展 1
1.1.1 人工管理阶段 1
1.1.2 文件系统管理阶段 1
1.1.3 数据库管理阶段 2
1.2 数据库系统 5
1.2.1 数据库系统组成 5
1.2.2 数据库系统的效益 6
1.3 数据库管理系统 7
1.3.1 DBMS的主要功能 7
1.3.2 DBMS的组成 8
1.3.3 DBMS的工作过程 9
1.4 数据模型 10
1.4.1 信息和数据 10
1.4.2 数据模型的三个层次 11
1.4.3 信息世界中的基本概念 11
1.4.4 概念模型的E-R模型表示方法 13
1.4.5 数据库层次的数据模型 15
1.4.6 物理模型 19
1.5 数据库系统的模式结构 19
1.5.1 数据库系统的三级模式结构 20
1.5.2 数据库的二级映像功能与数据独立性 21
1.6 数据库系统的体系结构 21
1.6.1 单用户数据库系统 22
1.6.2 主从式结构的数据库系统 22
1.6.3 分布式结构的数据库系统 22
1.6.4 客户/服务器结构的数据库系统 22
本章小结 24
讨论小课堂 24
思考与练习 24
第2章 关系数据库理论基础 26
2.1 关系数据库概述 26
2.1.1 数据结构 26
2.1.2 关系操作 26
2.1.3 完整性 27
2.2 关系数据结构 27
2.2.1 关系的定义及性质 27
2.2.2 关系模式与关系数据库 28
2.2.3 关系的完整性规则 29
2.3 关系代数 29
2.3.1 传统的集合运算 30
2.3.2 专门的关系运算 32
2.3.3 关系代数表达式及其应用实例 35
2.4 关系演算 37
2.4.1 元组关系演算 37
2.4.2 域关系演算 39
2.4.3 关系运算的安全性和等价性 39
2.5 查询优化 40
2.5.1 关系代数表达式的优化问题 40
2.5.2 关系代数表达式的等价变换规则 41
2.5.3 优化的一般策略 43
2.5.4 优化算法 44
2.6 函数依赖 46
2.6.1 问题的提出 46
2.6.2 函数依赖定义 48
2.6.3 码 49
2.7 关系的规范化 49
2.7.1 第一范式 49
2.7.2 第二范式 50
2.7.3 第三范式 51
2.7.4 BC范式 51
2.7.5 模式分解 52
本章小结 53
讨论小课堂 53
思考与练习 53
第3章 数据库的设计 55
3.1 数据库设计的基本步骤 55
3.2 需求分析 57
3.2.1 需求描述与分析 57
3.2.2 需求分析分类 58
3.2.3 需求分析的内容与方法 58
3.2.4 需求分析的步骤 59
3.2.5 数据字典 60
3.3 概念设计 62
3.3.1 概念设计的必要性及要求 62
3.3.2 概念设计的方法与步骤 63
3.3.3 E-R模型的操作 64
3.3.4 采用E-R方法的数据库概念设计 66
3.4 逻辑结构设计 71
3.4.1 逻辑设计环境 71
3.4.2 逻辑设计的步骤 72
3.4.3 从E-R图向关系模型转换 73
3.4.4 设计用户子模式 74
3.4.5 对数据模型进行优化 74
3.5 数据库的物理设计 76
3.5.1 数据库设计人员需掌握的物理设计知识 76
3.5.2 数据库物理设计的主要内容 76
3.5.3 物理设计的性能评价 79
3.5.4 系统数据库的部分表物理设计 79
3.5.5 数据表结构 79
本章小结 81
讨论小课堂 81
思考与练习 82
第4章 SQL语言基础 83
4.1 SQL概述 83
4.2 SQL数据定义 84
4.2.1 基本表的创建、修改、删除及重命名 84
4.2.2 索引的定义和删除 88
4.2.3 视图的定义和删除 89
4.3 SQL数据查询 90
4.3.1 查询命令 91
4.3.2 简单查询 91
4.3.3 表连接操作 94
4.3.4 集合运算 96
4.3.5 聚合和分组查询 97
4.3.6 子查询 98
4.4 SQL数据操纵 100
4.4.1 向表中插入新行 100
4.4.2 表中记录更新 101
4.4.3 删除表记录 102
4.5 SQL数据控制 102
本章小结 104
思考与练习 104
第5章 Oracle系统概述及安装 106
5.1 Oracle系统概况 106
5.1.1 Oracle系统的特点 106
5.1.2 Oracle产品结构 107
5.2 Oracle数据库系统的安装 109
5.2.1 Oracle数据库系统服务器端的安装 109
5.2.2 Oracle数据库系统客户端的安装 116
5.3 客户机和服务器的连接 123
5.3.1 服务器端的设置 123
5.3.2 客户机端的设置 125
5.4 Oracle数据库服务器的体系结构 129
5.4.1 Oracle RDBMS文件结构 130
5.4.2 Oracle数据库的逻辑结构 132
5.4.3 Oracle数据库的存储结构 135
5.5 管理服务器的配置 135
5.5.1 数据库服务器的管理模式 135
5.5.2 管理服务器的配置 136
5.5.3 管理服务器的启动与关闭 139
5.6 数据库服务器的管理用户 140
5.6.1 system用户 140
5.6.2 sys用户 140
5.6.3 scott用户 140
5.6.4 sys和system用户的比较 141
5.7 管理工具的使用 141
5.7.1 SQL Plus的使用 141
5.7.2 SQL Plus Worksheet的使用 142
5.7.3 Enterprise Manager Console的使用 143
5.8 数据库服务器的启动与关闭 146
5.8.1 服务器的关闭 147
5.8.2 服务器的启动 148
本章小结 150
讨论小课堂 150
思考与练习 150
第6章 数据库的安全管理 151
6.1 数据库的安全性 151
6.1.1 数据库的存取控制和用户的建立 152
6.1.2 特权和角色 155
6.1.3 审计 160
6.2 数据完整性 161
6.2.1 完整性约束 161
6.2.2 数据库触发器 162
6.3 Oracle数据库的安全管理 164
6.3.1 系统安全性与授权 164
6.3.2 审计 169
6.3.3 利用视图实施安全性控制 172
6.4 Oracle数据库的备份和恢复 172
6.4.1 数据库的卸载实用程序 173
6.4.2 数据库的装载实用程序 175
本章小结 177
讨论小课堂 177
思考与练习 177
第7章 并发控制 178
7.1 事务的基本概念 178
7.1.1 事务定义 178
7.1.2 事务的性质 179
7.2 并发控制 180
7.2.1 丢失修改 180
7.2.2 不可重复读 180
7.2.3 读“脏”数据 181
7.3 封锁及封锁协议 181
7.3.1 封锁 181
7.3.2 封锁协议 182
7.3.3 活锁和死锁 183
7.4 并发调度的可串行性 185
7.4.1 并发调度的可串行性 185
7.4.2 两段锁协议 187
7.5 封锁的粒度 187
7.5.1 多粒度锁协议 188
7.5.2 意向锁 188
7.6 Oracle的并发控制机制 189
本章小结 190
讨论小课堂 190
思考与练习 190
第8章 应用案例分析 192
8.1 简单的学生信息管理系统的设计 192
8.1.1 系统功能需求 192
8.1.2 数据库的设计 192
8.1.3 C++BUILDER 6.0环境简介 194
8.1.4 简单学生信息管理系统的设计 198
8.2 集成化的学生信息管理系统的设计 210
8.2.1 表单界面的设计 210
8.2.2 内部代码的设计 211
8.3 基于ASP技术的企业网站新闻发布系统 216
8.3.1 数据库的设计 216
8.3.2 系统的文件结构 217
8.3.3 相关文件代码 217
本章小结 229
思考与练习 229
附录A SQL语言自主测试环境的使用方法 230
A.1 使用说明 230
A.2 使用方法 230
A.2.1 Access数据表的建立 230
A.2.2 数据库测试 232
A.2.3 数据库容量更改 234
附录B SQL语言进阶训练系统 236
B.1 使用说明 236
B.2 使用方法 236
参考文献 239