第1章 数据库引论 1
1.1 数据库系统概论 1
1.1.1 信息、数据与数据库 1
1.1.2 数据管理技术的发展 1
1.1.3 数据库系统的组成 3
1.1.4 数据库系统的模式结构 4
1.1.5 数据库系统的特点 5
1.2 数据模型 5
1.2.1 层次模型 6
1.2.2 网状模型 6
1.2.3 关系模型 7
1.3 数据描述 8
1.3.1 信息的三个层次 8
1.3.2 实体与属性 9
1.3.3 实体之间的关系 9
1.4 关系数据库 9
1.5 Oracle数据库简介 10
1.5.1 Oracle数据库及其版本 10
1.5.2 Oracle 10g的版本 11
1.5.3 Oracle 10g的技术特点 11
1.6 本章小结 13
习题一 13
第2章 Oracle数据库实用工具 16
2.1 iSQL*Plus的使用 16
2.2 SQL*Plus的使用 18
2.2.1 环境维护命令 18
2.2.2 格式设置命令 19
2.2.3 行编辑命令 20
2.2.4 输入输出命令 23
2.2.5 其他命令 24
2.3 WebDB开发工具简介 24
2.4 JDeveloper开发工具简介 25
2.4.1 Oracle JDeveloper的特点 26
2.4.2 JDeveloper工具的获得方法 28
2.5 本章小结 28
习题二 29
第3章 SQL语言与查询 30
3.1 SQL语言概述 30
3.2 SQL语言的功能种类 30
3.3 数据类型、运算符与表达式 31
3.3.1 简单数据类型 31
3.3.2 运算符 31
3.3.3 表达式 32
3.4 基本查询 33
3.4.1 简单查询 33
3.4.2 带条件的简单查询 36
3.4.3 单表查询应用 38
3.4.4 多表查询 43
3.5 子查询 43
3.5.1 简单子查询 44
3.5.2 单行子查询 44
3.6 集合运算 45
3.6.1 UNION 45
3.6.2 INTERSECT 46
3.6.3 MINUS 46
3.7 聚合函数 46
3.7.1 集合函数应用 47
3.7.2 GROUP BY的应用 48
3.7.3 HAVING与WHERE关键词的使用 49
3.7.4 ORDER BY的应用 49
3.8 本章小结 50
习题三 50
第4章 数据的定义、操纵与控制 52
4.1 数据定义语言 52
4.1.1 创建语句CREATE与数据类型 52
4.1.2 删除语句DROP 53
4.1.3 修改语句ALTER 53
4.1.4 数据删除语句TRUNCATE 55
4.2 数据操纵语言 56
4.2.1 插入语句INSERT 56
4.2.2 更新语句UPDATE 58
4.2.3 删除语句DELETE 59
4.3 事务与事务控制语言 59
4.3.1 事务 59
4.3.2 事务提交COMMIT 60
4.3.3 事务回滚ROLLBACK 61
4.4 上机实习 61
4.4.1 查找并删除一个表中重复的记录 61
4.4.2 ALTER语句的练习 63
4.4.3 创建视图的权限练习 63
4.5 本章小结 65
习题四 65
第5章 PL/SQL程序块 68
5.1 PL/SQL块的组成 68
5.2 PL/SQL块的类型 69
5.3 PL/SQL的数据类型 70
5.4 常量、变量和表达式 72
5.4.1 常量和变量 72
5.4.2 表达式 73
5.5 PL/SQL块的执行过程与运行环境 74
5.6 单行函数 75
5.6.1 NVL函数 76
5.6.2 字符串函数 76
5.6.3 数字函数 79
5.6.4 日期函数 80
5.6.5 转换函数 81
5.7 键盘输入和屏幕输出 82
5.8 条件控制 84
5.8.1 IF...THEN语句 84
5.8.2 IF...THEN...ELSE语句 85
5.8.3 IF...THEN...ELSIF语句 86
5.8.4 CASE语句 87
5.9 循环控制 88
5.10 PL/SQL的异常 91
5.10.1 PL/SQL异常 91
5.10.2 预定义异常 91
5.10.3 自定义异常 92
5.11 本章小结 94
习题五 94
第6章 存储过程与函数 96
6.1 存储过程 96
6.1.1 存储过程的优点 96
6.1.2 创建存储过程 96
6.2 PL/SQL中的SQL命令 100
6.3 函数 101
6.3.1 创建函数 101
6.3.2 调用函数 102
6.4 过程与函数的区别 103
6.5 PL/SQL的调用 103
6.6 上机实习 104
6.7 本章小结 105
习题六 106
第7章 PL/SQL包与触发器 108
7.1 创建包 108
7.1.1 包头 109
7.1.2 包体 110
7.2 调用和执行包组件 113
7.3 触发器介绍 114
7.3.1 触发器的作用与特点 114
7.3.2 触发器的类型和组成 115
7.4 建立DML触发器 115
7.4.1 语句触发器 116
7.4.2 行触发器 119
7.5 建立INSTEAD OF触发器 120
7.6 触发器的维护 120
7.7 上机实习 121
7.7.1 创建一个订单触发器 121
7.7.2 INSTEAD OF类型触发器的作用和使用方法 122
7.7.3 综合练习 123
7.8 本章小结 126
习题七 127
第8章 数据库对象 128
8.1 数据库方案 128
8.2 表 129
8.2.1 表的定义 129
8.2.2 表的建立 130
8.2.3 表的修改 130
8.2.4 表的删除 132
8.2.5 在OEM中管理表 132
8.3 视图 135
8.3.1 视图的定义 135
8.3.2 视图的创建 135
8.3.3 视图的修改 136
8.3.4 视图的删除 136
8.4 索引 137
8.4.1 索引的分类 137
8.4.2 索引的创建 138
8.4.3 索引的删除 139
8.4.4 在OEM中管理索引 139
8.5 上机实习 142
8.5.1 表的操作训练 142
8.5.2 表的完整性约束的训练 144
8.6 本章小结 147
习题八 147
第9章 权限、角色与用户 149
9.1 数据库的安全性 149
9.2 权限管理 150
9.2.1 权限种类 150
9.2.2 授予权限 151
9.2.3 取消权限 152
9.2.4 获取与权限有关的信息 152
9.3 角色管理 153
9.3.1 角色与用户和权限的关系 154
9.3.2 创建角色 155
9.3.3 修改角色 155
9.3.4 删除角色 155
9.3.5 获取角色有关的信息 156
9.4 用户管理 156
9.4.1 Oracle管理主要用户 156
9.4.2 用户的创建与验证 157
9.4.3 修改数据库用户 159
9.4.4 删除数据库用户 159
9.4.5 获取用户有关的信息 159
9.5 审计 160
9.6 上机实习 160
9.7 本章小结 162
习题九 162
第10章 Oracle数据库的逻辑备份 163
10.1 数据导出导入 163
10.1.1 数据导出EXP 164
10.1.2 数据导入IMP 166
10.2 Oracle的数据泵技术 168
10.2.1 概述 168
10.2.2 导入导出方法与目录对象 168
10.2.3 数据导出EXPDP 169
10.2.4 数据导入IMPDP 169
10.3 EXP/IMP和EXPDP/IMPDP区别 170
10.4 上机实训 170
10.4.1 使用EXP命令进行数据导出 170
10.4.2 使用IMP命令进行数据导入 170
10.5 本章小结 171
习题十 171
第11章 数据库设计过程与方法 172
11.1 数据库设计概述 172
11.2 需求分析阶段 173
11.2.1 需求分析的任务 173
11.2.2 需求分析的目标 173
11.3 建立概念模型 173
11.3.1 E-R图 174
11.3.2 E-R图的绘制 174
11.4 建立数据模型 175
11.5 数据库的实施与维护阶段 177
11.6 数据库设计原则 177
11.6.1 表的设计和命名原则 177
11.6.2 字段设计和命名原则 178
11.6.3 键的设计原则 179
11.6.4 命名 180
11.7 本章小结 180
习题十一 181
参考文献 182