本书较全面地介绍了数据库系统的基本原理、基本操作、数据库设计和应用技术,包括数据库基础、关系数据库理论、Oracle数据库、关系数据库标准语言及表操作、单表査询、多表査询、数据库常用对象、PL/SQL编程、数据库设计、数据库规范化设计、事务及其并发控制、数据库安全性、数据库恢复技术、数据库应用系统开发和数据库技术的发展等。
本书以讲解数据库理论基础、培养数据库应用开发能力为目标,以大型数据库系统Oracle为开发平台,安排了9个实验任务,突出了实用技术的学习以及复杂问题的分析和解决。各章都配有适量的例题和习题,便于学生学习和练习。
本书既可以作为高等院校电子、通信、自动化以及计算机等相关专业的教材,也可以作为相关工程技术人员的培训用书或参考手册。
目录
- 章 数据库基础 1
- 1.1 信息、数据与数据处理 1
- 1.2 数据管理技术的发展历史 2
- 1.3 数据库概念 5
- 1.4 数据模型 5
- 1.4.1 数据模型3要素 6
- 1.4.2 关系模型 6
- 1.5 数据库体系结构 8
- 1.5.1 数据库体系结构中的3级模式 8
- 1.5.2 数据库体系结构中的两种映射与数据独立性 9
- 1.6 数据库管理系统 9
- 1.6.1 数据库管理系统的目标 9
- 1.6.2 数据库管理系统的基本功能 10
- 1.7 数据库系统 11
- 1.7.1 数据库系统的组成 11
- 1.7.2 数据库系统的分类 12
- 本章小结 13
- 习题1 13
- 第2章 关系数据库理论 15
- 2.1 域与笛卡儿积 15
- 2.2 关系的数据结构 16
- 2.3 关系的完整性 18
- 2.4 关系代数 20
- 2.5 传统的关系运算 20
- 2.6 选择运算和投影运算 22
- 2.7 连接运算 23
- 2.8 除运算 24
- 2.9 关系运算应用举例 25
- 2.10 关系数据库系统的查询优化 26
- 本章小结 27
- 习题2 27
- 第3章 Oracle数据库 30
- 3.1 Oracle数据库的发展 30
- 3.1.1 Oracle简介 30
- 3.1.2 Oracle 11g 31
- 3.2 搭建Oracle数据库学习环境 32
- 3.2.1 下载相关工具 32
- 3.2.2 安装相关工具 32
- 3.2.3 创建方案 33
- 3.2.4 启动SQLPlus连接数据库 35
- 3.3 Oracle数据库系统的体系结构 36
- 3.3.1 Oracle数据库的物理结构 36
- 3.3.2 Oracle数据库的逻辑结构 38
- 3.3.3 Oracle实例 40
- 3.3.4 Oracle实例的内存结构 40
- 3.3.5 Oracle实例的进程结构 42
- 本章小结 45
- 习题3 45
- 第4章 关系数据库标准语言及表操作 46
- 4.1 SQL概述 46
- 4.1.1 SQL的特点 47
- 4.1.2 SQL数据库的体系结构 47
- 4.1.3 SQL的组成 48
- 4.2 字符集与字符编码 48
- 4.2.1 字符集 49
- 4.2.2 字符编码 49
- 4.3 数据类型 49
- 4.4 创建与复制表 51
- 4.4.1 基本语法 51
- 4.4.2 创建表 52
- 4.4.3 复制表 54
- 4.5 修改表 54
- 4.5.1 修改表结构 54
- 4.5.2 重命名表 55
- 4.5.3 添加注释到表中 55
- 4.6 删除表和截断基本表 56
- 4.6.1 删除表 56
- 4.6.2 截断基本表 56
- 4.7 SQL的数据操作 57
- 4.7.1 插入数据 57
- 4.7.2 修改数据 58
- 4.7.3 删除数据 58
- 4.8 表空间 59
- 本章小结 60
- 习题4 60
- 实验一 数据定义和数据操作 61
- 第5章 单表查询 64
- 5.1 选择列 64
- 5.2 日期格式设置 66
- 5.3 比较运算 67
- 5.4 范围运算 67
- 5.5 集合运算 68
- 5.6 模糊查询运算 68
- 5.7 空值运算 69
- 5.8 混合运算 70
- 5.9 分组统计 70
- 5.10 排序 72
- 本章小结 72
- 习题5 72
- 实验二 单表查询 73
- 第6章 多表查询 75
- 6.1 连接查询 75
- 6.2 嵌套查询 77
- 6.2.1 不相关子查询 78
- 6.2.2 相关子查询 80
- 6.3 传统的集合运算 81
- 本章小结 82
- 习题6 82
- 实验三 多表查询 83
- 第7章 数据库常用对象 84
- 7.1 索引 84
- 7.1.1 索引的概念 84
- 7.1.2 创建索引 85
- 7.1.3 删除索引 85
- 7.2 视图 86
- 7.2.1 创建视图 86
- 7.2.2 删除视图 88
- 7.2.3 查询视图 89
- 7.2.4 更新视图 89
- 7.2.5 视图的特点 91
- 7.3 同义词 92
- 7.4 序列 92
- 本章小结 94
- 习题7 94
- 实验四 数据库常用对象 94
- 第8章 PL/SQL编程 96
- 8.1 PL/SQL编程概述 96
- 8.1.1 PL/SQL程序块 96
- 8.1.2 PL/SQL的变量、数据类型、常量、字符集与运算符 97
- 8.1.3 PL/SQL的控制语句 100
- 8.1.4 游标 103
- 8.1.5 PL/SQL中的异常 106
- 8.2 Oracle存储过程 109
- 8.2.1 存储过程基本知识 109
- 8.2.2 存储过程相关操作 109
- 8.2.3 存储过程示例 111
- 8.3 Oracle触发器 112
- 8.3.1 触发器基本知识 112
- 8.3.2 触发器相关操作 113
- 8.3.3 触发器示例 115
- 本章小结 117
- 习题8 117
- 实验五 存储过程与触发器 117
- 第9章 数据库设计 119
- 9.1 数据库设计概述 119
- 9.1.1 数据库设计的任务 119
- 9.1.2 数据库设计的内容 119
- 9.1.3 数据库设计方法 119
- 9.1.4 数据库设计的步骤 120
- 9.2 需求分析 121
- 9.2.1 需求分析的任务 121
- 9.2.2 需求分析的方法 123
- 9.2.3 需求分析注意点 126
- 9.3 概念结构设计 126
- 9.3.1 3个世界及其相互关系 126
- 9.3.2 概念模型 127
- 9.3.3 概念结构设计的方法与步骤 131
- 9.4 逻辑结构设计 136
- 9.5 物理结构设计 138
- 9.5.1 确定物理结构 139
- 9.5.2 评价物理结构 140
- 9.6 数据库实施 140
- 9.6.1 建立实际数据库结构 141
- 9.6.2 装入数据 141
- 9.6.3 应用程序编码与调试 141
- 9.6.4 数据库试运行 142
- 9.6.5 整理文档 142
- 9.7 数据库的运行与维护 142
- 9.7.1 维护数据库的安全性与完整性 143
- 9.7.2 监测并改善数据库性能 143
- 9.7.3 重新组织和构造数据库 143
- 本章小结 144
- 习题9 144
- 实验六 数据库设计 146
- 0章 数据库规范化设计 148
- 10.1 基本概念 148
- 10.1.1 函数依赖 148
- 10.1.2 完全函数依赖 149
- 10.1.3 传递函数依赖 149
- 10.1.4 码 150
- 10.2 函数依赖的公理系统 150
- 10.2.1 函数依赖的逻辑蕴含 150
- 10.2.2 Armstrong公理系统 150
- 10.2.3 函数依赖集闭包和属性依赖集闭包 151
- 10.2.4 Armstrong公理的有效性和完备性 152
- 10.2.5 函数依赖集的等价和覆盖 153
- 10.2.6 函数依赖集的小化 153
- 10.3 关系模式的规范化 155
- 10.3.1 范式 155
- 10.3.2 多值依赖与第四范式 159
- 10.3.3 关系模式的规范化 161
- 10.4 模式分解 162
- 10.4.1 函数依赖集的投影 162
- 10.4.2 模式分解概述 162
- 10.4.3 无损连接分解 162
- 10.4.4 保持函数依赖的分解 163
- 10.4.5 模式分解算法 164
- 本章小结 165
- 习题10 166
- 1章 事务及其并发控制 167
- 11.1 事务处理 167
- 11.2 JDBC事务处理 171
- 11.3 事务的特性 172
- 11.4 事务的并发控制 173
- 11.4.1 丢失修改 174
- 11.4.2 不可重复读 174
- 11.4.3 读“脏”数据 175
- 11.5 封锁 175
- 11.5.1 封锁机制 175
- 11.5.2 封锁协议 176
- 11.6 事务隔离级别 177
- 本章小结 178
- 习题11 179
- 实验七 事务处理 179
- 2章 数据库安全性 181
- 12.1 数据库安全概述 181
- 12.2 数据库的不安全因素 181
- 12.3 数据库安全控制技术 182
- 12.3.1 用户标识与鉴别 182
- 12.3.2 存取控制 182
- 12.3.3 数据库的视图机制 183
- 12.3.4 数据库的审计 184
- 12.3.5 数据加密 185
- 12.4 Oracle的自主存取控制 185
- 12.4.1 用户管理 185
- 12.4.2 权限管理 186
- 12.4.3 角色管理 187
- 12.4.4 授权 188
- 12.4.5 收回权限 190
- 12.5 Oracle审计 191
- 本章小结 194
- 习题12 194
- 实验八 数据控制语句 195
- 3章 数据库恢复技术 196
- 13.1 数据库故障 196
- 13.2 恢复的实现技术 198
- 13.2.1 数据转储 198
- 13.2.2 日志文件 200
- 13.2.3 归档日志文件 201
- 13.3 恢复策略 201
- 13.3.1 事务故障的恢复 201
- 13.3.2 系统故障的恢复 201
- 13.3.3 介质故障的恢复 202
- 13.4 具有检查点的恢复技术 202
- 13.5 冗余磁盘阵列与数据库镜像 203
- 13.6 Oracle备份与恢复技术 204
- 13.6.1 物理备份与恢复 205
- 13.6.2 逻辑备份与恢复 205
- 本章小结 210
- 习题13 210
- 实验九 数据备份与恢复 211
- 4章 数据库应用系统开发 212
- 14.1 数据库应用系统结构 212
- 14.1.1 基于C/S模式的数据库系统 213
- 14.1.2 基于B/S模式的数据库系统 214
- 14.1.3 B/S模式与C/S模式的比较 216
- 14.2 数据库访问接口方式 216
- 14.2.1 ODBC 217
- 14.2.2 ADO和ADO.NET 219
- 14.2.3 JDBC 220
- 14.3 数据库应用开发 222
- 14.3.1 数据库应用环境配置 222
- 14.3.2 数据库应用编程 222
- 14.3.3 建立连接 223
- 14.3.4 操作数据库 223
- 14.3.5 处理结果集 229
- 14.3.6 数据库的CRUD操作 232
- 14.3.7 安装WindowBuilder 235
- 本章小结 236
- 习题14 237
- 5章 数据库技术的发展 238
- 15.1 数据库发展的三个阶段 238
- 15.2 数据模型的发展 239
- 15.3 数据库技术与其他相关技术的结合 241
- 15.3.1 并行数据库系统 242
- 15.3.2 数据仓库系统 243
- 15.3.3 分布式数据库系统 246
- 15.4 数据管理技术的发展趋势 247
- 15.4.1 数据管理技术面临的挑战 247
- 15.4.2 数据管理技术的发展与展望 248
- 本章小结 249
- 习题15 250