第1部分 实用教程 1
第1章 数据库的基本概念 1
1.1 数据库 1
1.1.1 数据库、数据库管理系统和数据库系统 1
1.1.2 数据模型 2
1.1.3 关系型数据库语言 3
1.2 数据库设计 4
1.2.1 概念结构设计 4
1.2.2 逻辑结构设计 6
1.2.3 物理结构设计 7
1.3 数据库应用系统 7
1.3.1 C/S模式应用系统 7
1.3.2 B/S模式应用系统 8
第2章 Oracle 12c数据库介绍 9
2.1 Oracle简介与安装 9
2.1.1 Oracle数据库简介 9
2.1.2 Oracle 12c的安装 9
2.2 Oracle数据库的基本结构 14
2.2.1 内部结构 14
2.2.2 外部结构 17
2.2.3 数据库实例 18
2.3 Oracle12c数据库工具 21
第3章 数据库的创建和操作 25
3.1 以界面方式创建数据库(采用DBCA) 25
3.2 以界面方式操作数据库(采用SQLDeveloper) 30
3.2.1 表操作 30
3.2.2 表数据操作 35
3.2.3 执行SQL命令 38
3.3 命令方式操作数据库(采用SQL*Plus) 39
3.3.1 创建表 39
3.3.2 修改表 41
3.3.3 删除表 43
3.3.4 插入记录 44
3.3.5 删除记录 47
3.3.6 修改记录 48
第4章 数据库的查询和视图 50
4.1 选择、投影和连接 50
4.1.1 选择 50
4.1.2 投影 50
4.1.3 连接 51
4.2 数据库的查询 52
4.2.1 选择列 52
4.2.2 选择行 56
4.2.3 查询对象 63
4.2.4 连接 64
4.2.5 汇总 67
4.2.6 排序 71
4.2.7 合并 72
4.3 数据库视图 72
4.3.1 视图的概念 72
4.3.2 创建视图 73
4.3.3 查询视图 75
4.3.4 更新视图 76
4.3.5 修改视图的定义 77
4.3.6 删除视图 78
4.4 含替换变量的查询 79
4.4.1 &替换变量 79
4.4.2 &&替换变量 81
4.4.3 DEFINE和ACCEPT命令 81
第5章 索引与数据完整性 83
5.1 索引 83
5.1.1 索引的分类 83
5.1.2 使用索引的原则 84
5.1.3 创建索引 85
5.1.4 维护索引 87
5.1.5 删除索引 88
5.2 数据完整性 89
5.2.1 数据完整性的分类 89
5.2.2 域完整性的实现 91
5.2.3 实体完整性的实现 94
5.2.4 参照完整性的实现 97
第6章 PL/SQL.语言 101
6.1 PL/SQL概述 101
6.1.1 PL/SQL的组成 101
6.1.2 PL/SQL的特点 102
6.1.3 PL/SQL的开发和运行环境 104
6.2 PL/SQL字符集 104
6.2.1 合法字符 104
6.2.2 运算符 104
6.2.3 其他符号 106
6.3 PL/SQL变量、常量和数据类型 107
6.3.1 变量 107
6.3.2 常量 109
6.3.3 常用数据类型 109
6.3.4 对象类型 110
6.3.5 数据类型转换 111
6.4 PL/SQL基本程序结构和语句 111
6.4.1 PL/SQL程序块 111
6.4.2 条件结构 112
6.4.3 循环结构 115
6.4.4 选择和跳转语句 118
6.4.5 异常 120
6.5 系统内置函数 123
6.6 用户定义函数 127
6.6.1 创建函数 127
6.6.2 调用函数 129
6.6.3 删除函数 129
6.7 游标 129
6.7.1 显式游标 130
6.7.2 隐式游标 132
6.7.3 游标FOR循环 133
6.7.4 游标变量 134
6.8 包 136
6.8.1 包的创建 136
6.8.2 包的初始化 139
6.8.3 重载 140
6.8.4 Oracle 12c内置包 141
6.9 集合 141
6.9.1 联合数组 141
6.9.2 嵌套表 143
6.9.3 可变数组 144
6.9.4 集合的属性和方法 145
第7章 存储过程和触发器 150
7.1 存储过程 150
7.1.1 存储过程的创建 150
7.1.2 存储过程的调用 152
7.1.3 存储过程的修改 154
7.1.4 存储过程的删除 154
7.2 触发器 155
7.2.1 以命令方式创建触发器 155
7.2.2 以界面方式创建触发器 159
7.2.3 启用和禁用触发器 160
7.2.4 触发器的删除 161
第8章 系统安全管理 162
8.1 用户 162
8.1.1 创建用户 162
8.1.2 管理用户 167
8.2 权限管理 168
8.2.1 权限概述 168
8.2.2 系统权限管理 169
8.2.3 对象权限管理 173
8.2.4 安全特性 174
8.3 角色管理 176
8.3.1 角色概述 176
8.3.2 创建用户角色 177
8.3.3 管理用户角色 178
8.4 概要文件和数据字典视图 179
8.4.1 创建概要文件 179
8.4.2 修改概要文件 181
8.4.3 数据字典视图 181
8.5 审计 183
8.5.1 登录审计 183
8.5.2 操作审计 184
8.5.3 对象审计 185
8.5.4 权限审计 186
第9章 表空间、备份和恢复 187
9.1 表空间 187
9.1.1 创建表空间 187
9.1.2 管理表空间 189
9.1.3 删除表空间 191
9.2 备份和恢复概述 191
9.2.1 备份概述 191
9.2.2 恢复概述 194
9.3 导入/导出 195
9.3.1 导出 195
9.3.2 导入 197
9.4 脱机备份 200
9.5 联机备份 201
9.5.1 以ARCHIVELOG方式运行数据库 201
9.5.2 执行数据库联机备份 202
9.6 数据泵 202
9.6.1 概述 202
9.6.2 EXPDP导出 202
9.6.3 IMPDP导入 204
第10章 事务、锁、闪回和Undo表空间 206
10.1 事务 206
10.1.1 事务的概念 206
10.1.2 事务处理 207
10.1.3 自治事务 211
10.2 锁 212
10.2.1 锁机制和死锁 213
10.2.2 锁的类型 213
10.2.3 表锁和事务锁 214
10.3 闪回操作 215
10.3.1 基本概念 215
10.3.2 查询闪回 215
10.3.3 表闪回 216
10.3.4 删除闪回 218
10.3.5 数据库闪回 220
10.3.6 归档闪回 224
10.4 Undo表空间 225
10.4.1 自动Undo管理 225
10.4.2 Undo表空间的优点 226
10.4.3 Undo表空间管理参数 226
10.4.4 创建和管理Undo表空间 226
第11章 其他概念 229
11.1 同义词 229
11.1.1 创建同义词 229
11.1.2 使用同义词 230
11.1.3 删除同义词 230
11.2 数据库链接 231
11.2.1 创建数据库链接 232
11.2.2 使用数据库链接 233
11.2.3 删除数据库链接 234
11.3 快照 234
11.3.1 创建快照 234
11.3.2 修改快照 238
11.3.3 删除快照 239
11.4 序列 239
11.4.1 创建序列 240
11.4.2 修改序列 241
11.4.3 删除序列 242
第2部分 实验 243
实验1创建数据库和表 243
实验2表数据插入、修改和删除 246
实验3数据库的查询和视图 249
实验4索引和完整性 257
实验5 PL/SQL编程 259
实验6存储过程和触发器的使用 261
实验7用户、角色与安全性 263
第3部分 Oracle 12c综合应用 266
实习0 创建实习数据库 266
实习0.1 创建数据库及其对象 266
实习0.2 功能和界面 269
实习1 PHP5/Oracle 12c学生成绩管理系统 272
实习1.1 PHP开发平台搭建 272
实习1.1.1 创建PHP环境 272
实习1.1.2 Eclipse安装与配置 275
实习1.2 PHP开发入门 277
实习1.2.1 PHP项目的建立 277
实习1.2.2 PHP项目的运行 278
实习1.2.3 PHP连接Oracle 12c 279
实习1.3 系统主页设计 281
实习1.3.1 主界面 281
实习1.3.2 功能导航 282
实习1.4 学生管理 283
实习1.4.1 界面设计 283
实习1.4.2 功能实现 286
实习1.5 成绩管理 288
实习1.5.1 界面设计 288
实习1.5.2 功能实现 291
实习2 Java EE 7/Oracle 12c学生成绩管理系统 293
实习2.1 JavaEE开发平台搭建 293
实习2.1.1 安装软件 293
实习2.1.2 环境整合 295
实习2.2 创建Struts 2项目 297
实习2.2.1 创建JavaEE项目 297
实习2.2.2 加载Struts2包 299
实习2.2.3 连接Oracle 12c 300
实习2.3 系统主页设计 302
实习2.3.1 主界面 302
实习2.3.2 功能导航 303
实习2.4 学生管理 305
实习2.4.1 界面设计 305
实习2.4.2 功能实现 308
实习2.5 成绩管理 313
实习2.5.1 界面设计 313
实习2.5.2 功能实现 316
实习3 Visual C#2013/Oracle 12c学生成绩管理系统 321
实习3.1 ADO.NET架构原理 321
实习3.2 创建VisualC#项目 322
实习3.2.1 Visual C#项目的建立 322
实习3.2.2 VS2013连接Oracle 12c 322
实习3.3 系统主界面设计 324
实习3.3.1 总体布局 324
实习3.3.2 详细设计 325
实习3.4 学生管理 327
实习3.4.1 程序主体结构 327
实习3.4.2 功能实现 328
实习3.5 成绩管理 332
实习3.5.1 课程名加载 332
实习3.5.2 功能实现 334
附录A XSCJ数据库样本数据 338