第1章 数据库引论 1
1.1 引言 1
1.2 数据库的基本概念 2
1.2.1 数据、信息及其管理 2
1.2.2 数据库、数据库管理系统和数据库系统 3
1.2.3 数据库技术的发展 5
1.2.4 数据库技术的主要特点 6
1.2.5 数据技术的研究领域 8
1.3 数据库体系结构 9
1.3.1 数据库管理系统外部的体系结构 9
1.3.2 数据库管理系统内部的系统结构 10
1.3.3 三级模式间的映射 11
本章小结 13
习题 13
第2章 数据模型 15
2.1 数据模型的基本概念 15
2.1.1 概念世界与概念模型 15
2.1.2 逻辑模型 19
2.1.3 物理模型 19
2.2 数据模型的组成要素 19
2.2.1 数据结构 19
2.2.2 数据操作 20
2.2.3 完整性约束 20
2.3 常用的几种数据模型 20
2.3.1 层次模型 20
2.3.2 网状模型 21
2.3.3 关系模型 23
2.3.4 面向对象数据模型 24
本章小结 25
习题 25
第3章 关系数据库 27
3.1 关系数据结构及形式化定义 27
3.1.1 关系 27
3.1.2 关系模式 29
3.1.3 关系数据库 29
3.2 关系操作 30
3.2.1 基本的关系操作 30
3.2.2 关系数据语言的分类 30
3.3 关系的完整性 30
3.3.1 关系的三类完整性约束 30
3.3.2 实体完整性 31
3.3.3 参照完整性 31
3.3.4 用户定义的完整性 32
3.4 关系代数 32
3.4.1 传统的集合运算 33
3.4.2 专门的关系运算 34
本章小结 39
习题 39
第4章 关系数据库标准语言SQL 42
4.1 SQL语言概述 42
4.1.1 SQL的产生与发展 42
4.1.2 SQL数据库的体系结构 42
4.1.3 SQL的组成 43
4.1.4 SQL的特点 43
4.2 学生-课程数据库 44
4.3 数据定义 45
4.3.1 基本表的创建、删除和修改 45
4.3.2 索引的建立与删除 51
4.4 数据查询 51
4.4.1 SELECT的基本应用 52
4.4.2 连接查询 59
4.4.3 嵌套查询 63
4.4.4 集合查询 68
4.5 数据更新 69
4.5.1 插入数据 69
4.5.2 修改数据 70
4.5.3 删除数据 71
4.6 视图 72
4.6.1 创建视图 73
4.6.2 删除视图 75
4.6.3 查询视图 75
4.6.4 更新视图 76
4.6.5 视图的特点 77
本章小结 78
习题 78
第5章 数据库安全与保护 84
5.1 数据库的安全性 84
5.1.1 数据库系统的安全概述 84
5.1.2 数据库的安全性控制 85
5.1.3 用户标识和鉴别 86
5.1.4 存取控制 86
5.1.5 视图机制 92
5.1.6 审计 92
5.1.7 数据加密 92
5.2 数据库的完整性 93
5.2.1 完整性约束条件 94
5.2.2 完整性控制 95
5.3 数据库并发控制 98
5.3.1 并发控制概述 99
5.3.2 可串行性 104
5.3.3 封锁 105
5.3.4 封锁协议 106
5.3.5 活锁和死锁 109
5.4 数据库恢复技术 112
5.4.1 故障的种类 112
5.4.2 恢复的实现技术 113
5.4.3 恢复策略 116
5.4.4 检查点技术 118
本章小结 119
习题 120
第6章 关系数据库设计理论 123
6.1 数据依赖对关系模式的影响 123
6.2 关系模式的规范化 124
6.2.1 函数依赖 125
6.2.2 码 125
6.2.3 范式 126
6.3 多值依赖与第四范式(4NF) 128
6.3.1 多值依赖 128
6.3.2 第四范式 130
6.3.3 规范化小结 131
6.4 数据依赖的公理系统 131
6.4.1 Armstrong公理系统 131
6.4.2 闭包及其计算 132
6.4.3 函数依赖的覆盖 133
6.5 关系模式的分解 135
6.5.1 无损连接性 135
6.5.2 函数依赖保持性 137
本章小结 138
习题 139
第7章 数据库设计 140
7.1 数据库设计概述 140
7.1.1 数据库设计方法 141
7.1.2 数据库设计步骤 142
7.1.3 数据库设计过程中的各级模式 142
7.2 需求分析 143
7.2.1 需求调查 144
7.2.2 结构化分析方法 145
7.2.3 数据流图 145
7.2.4 数据字典 148
7.2.5 系统需求说明书 151
7.2.6 需求分析注意事项 153
7.3 概念结构设计 153
7.3.1 概念结构设计的方法与步骤 153
7.3.2 设计局部视图 155
7.3.3 集成视图 157
7.4 逻辑结构设计 161
7.4.1 E-R模型向关系模型转换 161
7.4.2 数据模型的优化方法 162
7.4.3 设计用户子模式 163
7.5 物理结构设计 164
7.5.1 确定数据库的物理结构 164
7.5.2 索引方法 165
7.5.3 聚簇方法 166
7.5.4 散列技术 167
7.5.5 评价物理结构 167
7.6 数据库实施 167
7.6.1 数据库实施步骤 168
7.6.2 数据库试运行和评价 169
7.7 数据库维护 169
本章小结 170
习题 170
第8章 Oracle 10g简介 173
8.1 Oracle 10g产品特性简介 173
8.2 Oracle数据库体系结构 175
8.2.1 Oracle数据库服务器的物理存储结构 175
8.2.2 Oracle数据库的逻辑存储结构 177
8.2.3 Oracle 10g实例 179
8.3 Oracle数据库安全性管理 181
8.3.1 数据库的存取控制 181
8.3.2 特权和角色 183
8.3.3 审计 184
8.4 Oracle数据库完整性管理 184
8.4.1 完整性约束 185
8.4.2 数据库触发器 185
8.5 Oracle数据库并发控制 186
8.5.1 封锁机制 186
8.5.2 手工的数据封锁 186
8.6 Oracle数据库备份与恢复 187
8.6.1 恢复数据库所使用的结构 187
8.6.2 联机日志 187
8.6.3 归档日志 188
8.6.4 数据库备份 189
8.6.5 数据库恢复 189
本章小结 190
习题 191
第9章 PL/SQL程序设计 192
9.1 PL/SQL编程基础知识 192
9.1.1 PL/SQL概述 192
9.1.2 PL/SQL块结构 193
9.1.3 PL/SQL程序标识符 193
9.1.4 变量和常量 194
9.2 条件语句和循环语句 197
9.2.1 单分支条件语句IF…THEN 197
9.2.2 双分支条件语句IF…THEN…ELSE 197
9.2.3 多路分支条件语句IF…THEN…ELSIF 198
9.2.4 多路判断CASE表达式 198
9.2.5 Loop…end loop循环 200
9.2.6 While循环 200
9.2.7 For循环 201
9.2.8 异常处理 201
9.3 游标的使用 203
9.3.1 隐式游标 203
9.3.2 显式游标 204
9.3.3 游标属性 205
9.3.4 游标控制语句 207
9.3.5 修改游标中的结果集 208
9.4 存储过程和函数 209
9.4.1 存储过程的应用 209
9.4.2 函数的应用 211
9.5 触发器 212
9.5.1 触发器种类 212
9.5.2 创建及使用DML触发器 215
9.5.3 创建替代(Instead_of)触发器 217
9.5.4 创建和使用用户事件触发器 218
9.5.5 创建和使用系统事件触发器 219
9.5.6 管理触发器 220
9.6 包 221
本章小结 223
习题 223
第10章 现代数据库系统及其典型代表 225
10.1 现代数据库系统概述 225
10.1.1 现代数据库的逻辑存储结构分类 225
10.1.2 现代数据库系统的新特征 228
10.2 分布式数据库系统 229
10.2.1 分布式数据库的概念 229
10.2.2 分布式数据库的特性 230
10.2.3 分布式数据库的数据存储方式 232
10.3 面向对象数据库 233
10.3.1 面向对象数据库的特征及功能 233
10.3.2 面向对象数据库模型 234
10.3.3 对象关系数据库和对象关系映射 237
10.3.4 对象持久性 237
本章小结 240
习题 240
参考文献 241