第1章 绪论 1
1.1 基本概念 1
1.1.1 信息和数据 1
1.1.2 数据与数据管理 2
1.1.3 数据库、数据库管理系统和数据库系统 2
1.1.4 数据库系统的主要目标 3
1.2 数据管理技术的发展 4
1.2.1 人工管理阶段 4
1.2.2 文件系统阶段 4
1.2.3 数据库系统阶段 4
1.2.4 数据库技术发展新趋势 6
1.3 数据库管理系统 6
1.3.1 数据库管理系统的功能 6
1.3.2 数据库管理系统的组成 7
1.3.3 DBMS的工作过程 7
小结 7
习题 8
第2章 数据模型 9
2.1 数据建模的过程 9
2.1.1 数据模型的三个层次 9
2.1.2 信息世界中的基本概念 10
2.1.3 实体-联系模型 12
2.1.4 面向对象模型 13
2.2 数据模型 16
2.2.1 数据模型及其组成要素 16
2.2.2 数据模型的分类 17
2.3 数据库系统的模式结构 20
2.3.1 数据库系统的三级模式结构 20
2.3.2 数据库的二级映像功能与数据独立性 21
2.4 数据库系统的体系结构 22
2.4.1 单用户数据库系统 22
2.4.2 主从式结构的数据库系统 23
2.4.3 分布式结构的数据库系统 23
2.4.4 客户/服务器结构的数据库系统 24
小结 25
习题 25
第3章 关系模型和关系代数 28
3.1 关系模型 28
3.1.1 关系模型定义 28
3.1.2 关系性质 30
3.1.3 关系模式组成 30
3.1.4 关系模式与关系数据库 31
3.1.5 关系操作 31
3.1.6 关系完整性约束 31
3.2 关系语言 32
3.3 关系代数 33
3.3.1 关系代数运算符 34
3.3.2 关系演算 42
3.3.3 查询优化 44
3.4 函数依赖 49
3.4.1 问题的提出 49
3.4.2 函数依赖定义 50
3.4.3 码 55
3.5 关系的规范化 56
3.5.1 第一范式(1NF) 56
3.5.2 第二范式(2NF) 57
3.5.3 第三范式(3NF) 58
3.5.4 BC范式(BCNF) 59
3.5.5 多值依赖与第四范式(4NF) 60
3.5.6 模式分解 62
小结 65
习题 65
第4章 SQL语言 68
4.1 SQL语言概述及特点 68
4.2 数据定义语句 69
4.2.1 基本表的定义 70
4.2.2 是基本表的修改 73
4.2.3 基本表的删除 73
4.2.4 索引的建立和删除 74
4.3 数据查询语句 74
4.3.1 查询格式 75
4.3.2 简单查询 75
4.3.3 连接查询 83
4.3.4 嵌套查询 87
4.3.5 集合查询 92
4.4 数据操作语句 93
4.4.1 数据插入 93
4.4.2 数据修改 94
4.4.3 数据删除 95
4.5 视图 96
4.5.1 定义视图 96
4.5.2 删除视图 98
4.5.3 查询视图 98
4.5.4 更新视图 99
4.5.5 视图的作用 100
4.6 数据控制 101
4.6.1 授予权限 101
4.6.2 收回权限 102
4.7 嵌入式SQL 103
4.8 存储过程 104
4.9 游标 104
4.10 触发器 105
小结 105
习题 106
第5章 Oracle 109
5.1 Oracle系统 109
5.1.1 Oracle系统发展历程 109
5.1.2 Oracle系统特点 109
5.2 Oracle的安装 110
5.2.1 Oracle服务器端的安装 110
5.2.2 Oracle客户端的安装 120
5.3 Oracle体系结构 124
5.3.1 Oracle RDBMS文件结构 124
5.3.2 Oracle逻辑结构 125
5.3.3 Oracle存储物理结构 126
5.4 Oracle的连接 126
5.4.1 服务端的设置 126
5.4.2 客户端的设置 128
5.5 服务器的配置 131
5.5.1 服务器的管理模式 131
5.5.2 服务器的配置 132
5.5.3 服务器的启动与关闭 132
5.6 用户管理 133
5.6.1 System用户 133
5.6.2 Sys用户 134
5.6.3 Scott用户 134
5.6.4 Sys和System用户的比较 134
5.7 管理工具的使用 134
5.7.1 SQL Plus的使用 134
5.7.2 Enterprise Manager Console的使用 136
小结 138
习题 138
第6章 PL/SQL基础 140
6.1 PL/SQL简介 140
6.1.1 概述 140
6.1.2 PL/SQL作用 140
6.2 语法基础 141
6.2.1 块 141
6.2.2 标识符 142
6.2.3 数据与数据类型 143
6.2.4 变量的声明与赋值 144
6.2.5 常量 144
6.2.6 操作符 144
6.2.7 注释 145
6.3 控制语句 146
6.3.1 选择控制语句 146
6.3.2 循环控制语句 148
6.3.3 顺序控制语句 150
6.4 游标 151
6.4.1 隐式游标 151
6.4.2 显式游标 152
6.4.3 游标的使用 154
6.5 存储过程和函数 155
6.5.1 存储过程的创建 155
6.5.2 存储过程的调用 156
6.5.3 存储过程的删除 156
6.5.4 函数的创建 156
6.5.5 函数的调用 157
6.5.6 函数的删除 158
6.5.7 过程与函数的比较 158
6.6 触发器 158
6.6.1 触发器的种类 158
6.6.2 触发器的组成 159
6.6.3 触发器的创建 159
6.6.4 触发器的状态 163
6.6.5 触发器的删除 163
6.7 包 164
6.7.1 包的定义 164
6.7.2 包的使用 166
6.7.3 删除包 166
小结 166
习题 167
第7章 数据库设计 168
7.1 数据库设计 168
7.1.1 数据库设计的特点 168
7.1.2 数据库设计的基本步骤 169
7.2 需求分析 171
7.2.1 需求分析的任务和方法 172
7.2.2 数据流图 174
7.2.3 数据字典 175
7.3 概念结构设计 176
7.3.1 概念结构设计的方法与步骤 176
7.3.2 局部E-R模型设计 178
7.3.3 全局E-R模型设计 181
7.3.4 UML模型的设计 186
7.4 逻辑结构设计 194
7.4.1 逻辑结构设计的方法和步骤 194
7.4.2 E-R模型向关系模型的转换 194
7.4.3 关系模型的优化 195
7.4.4 用户子模式的设计 196
7.5 数据库的物理设计 196
7.5.1 物理设计的内容与方法 197
7.5.2 存取方法的选择与存储结构的确定 197
7.5.3 物理设计性能的评价 200
7.6 数据库的实施和维护 200
7.6.1 数据载入和应用程序的调试 201
7.6.2 数据库试运行 201
7.6.3 数据库的运行与维护 201
7.7 自动数据库设计工具介绍 202
7.7.1 PowerDesigner 203
7.7.2 更多的设计工具 203
小结 204
习题 204
第8章 数据库系统技术 207
8.1 查询优化 207
8.1.1 查询优化的动机 207
8.1.2 查询优化的一般准则 209
8.1.3 关系代数的等价变换规则 209
8.1.4 查询优化的一般处理步骤 209
8.2 并发控制 210
8.2.1 事务的概念 210
8.2.2 并发操作及带来的问题 212
8.2.3 事务调度的可串行化 212
8.2.4 并发控制技术 212
8.2.5 时间戳排序协议 214
8.3 数据库恢复 215
8.3.1 故障分类及影响 215
8.3.2 数据库恢复技术 216
8.3.3 数据库恢复策略 218
8.3.4 Oracle数据库备份 219
8.3.5 Oracle数据库恢复 221
8.4 数据库完整性 222
8.4.1 完整性约束条件的分类 223
8.4.2 完整性控制技术 223
8.5 数据库安全性 224
8.5.1 数据库的安全性概念 225
8.5.2 数据库安全性控制技术 225
小结 228
习题 228
第9章 数据库新技术 231
9.1 数据库新技术综述 231
9.1.1 数据库新技术的特点 231
9.1.2 面向对象数据库系统 232
9.1.3 分布式数据库系统 234
9.2 高级查询和信息检索 236
9.2.1 决策支持系统 236
9.2.2 数据仓库 240
9.2.3 数据挖掘 247
9.2.4 信息检索系统 254
9.3 新型数据库应用 258
9.3.1 空间数据库 259
9.3.2 移动数据库 261
9.3.3 主存数据库 263
9.3.4 分布式数据库 264
9.3.5 云存储技术及云数据库 268
小结 271
习题 271