Oracle 10g数据库管理、应用与开发标准教程
定 价:39.8 元
丛书名:清华电脑学堂
- 作者:马晓玉、孙岩、孙江玮等
- 出版时间:2007/11/1
- ISBN:9787302161844
- 出 版 社:清华大学出版社
- 中图法分类:TP311.138
- 页码:
- 纸张:胶版纸
- 版次:1
- 开本:16
Oracle数据库作为世界范围内性能最优异的数据库系统之一,其在数据库市场的占有率始终处于数据库领域的领先地位。本书以Oracle 10g for Windows XP为平台,由浅入深地介绍了Oracle 10g系统的使用方法和基本管理。主要内容包括:Oracle关系数据库,Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构和基本的备份与恢复等知识。
本书全面介绍使用Oracle数据库管理应用与开发知识,适合作为普通高校计算机专业Oracle教材,也可以作为Oracle数据库开发和应用人员的参考资料。
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
Oracle数据库是世界范围内性能最优异的数据库系统之一,它在数据库市场的占有率远远超过其对手,始终处于数据库领域的领先地位。2003年,Oracle公司又推出了代表数据库领域最新技术的网格数据库系统——Oracle 10g,其中的g代表网格。这标志着Oracle数据库完成了从互联网“i”到网格“g”的演进。
本书以Oracle 10g for Windows XP为平台,由浅入深地介绍了Oracle 10g系统的使用方法和基本管理技术。主要包括:Oracle关系数据库、Oracle数据库体系结构、SQL语言基础、PL/SQL程序设计、模式对象管理、存储管理和基本的备份与恢复等知识。
本书内容
第1章 Oracle关系数据库。介绍关系数据库的系统设计,数据库系统的应用系统结构,Oracle 10g数据库安装注意事项,使用DBCA创建数据库,以及Oracle数据库服务的启动和可用的数据库用户等知识。
第2章 Oracle数据库体系结构。介绍Oracle 10g强大的体系结构,包括数据库的物理存储结构、逻辑存储结构、内存结构和实例的进程结构,以及数据字典。
第3章 SQL基本查询。介绍使用SQL SELECT语句对数据库进行各种查询,包括SELECT语句及其各种子句的使用,以及SQL*Plus中函数的使用。
第4章 修改SQL数据与SQL*Plus命令。介绍对存储的数据进行修改和SQL*Plus命令的应用知识,包括添加数据、修改数据、删除数据,以及SQL*Plus命令的使用。
第5章 用户、模式和表。介绍用户与模式的概念和模式对象——表的创建,主要包括模式、模式对象、用户的基本创建、基本表的创建、基本表结构的修改、基于表的约束等。
第6章 高级查询。介绍多表查询和子查询,主要包括使用逗号连接的多表查询、JOIN连接的多表查询、集合操作和子查询的使用。
第7章 PL/SQL编程基础。介绍PL/SQL程序的编程知识,包括PL/SQL程序结构、变量和常量的使用、特殊类型变量、复合变量、条件判断语句、循环语句、游标和异常处理。
第8章 过程、函数和程序包。介绍PL/SQL的存储过程和函数,以及程序包,包括存储过程和函数的创建与调用,程序包主体和规范,以及过程、函数和程序包的依 赖性。
第9章 表类型。介绍Oracle支持的表类型,包括外部表的使用、索引组织表、临时表、对象和对象表、分区表和簇表的创建与使用。
第10章 索引。介绍Oracle的另一个重要模式对象——索引,主要包括索引的作用、类型和工作原理,各种索引的创建,以及对索引的管理。
第11章 视图、序列和同义词。介绍Oracle其他模式对象——视图、序列和同义词,包括视图的创建、视图的使用、可更新视图,以及序列和同义词的创建与使用。
第12章 触发器。介绍Oracle中触发器的使用,包括触发器的组成、Oracle支持的触发器类型,以及各种触发器的修改。
第13章 事务与并发控制。介绍Oracle中事务机制和多事务访问控制,包括事务的概念、对事务ACID特性的支持、事务控制语句,以及通过各种锁对多个事务并发访问的控制机制。
第14章 安全。介绍Oracle的用户、权限和角色管理,包括用户配置文件的创建和应用、对用户账号的管理、系统权限、对象权限的授予与撤销,以及角色的概念和授予、撤销。
第15章 管理存储结构。介绍表空间的创建,以及对段、盘区、数据块的管理,主要包括创建本地化管理表空间、调整表空间属性、调整与表空间相关的数据文件、临时表空间、大文件表空间、非标准表空间,以及自动撤销表空间管理。
第16章 备份与恢复。介绍为避免数据库出现故障而丢失数据,而进行的备份与恢复,包括数据库的物理备份与恢复、逻辑备份与恢复和RMAN管理的备份与恢复。
本书特色
本书是一本完整介绍Oracle 10g数据库开发与应用知识的教程,在编写过程中,我们精心设计了丰富的示例,帮助读者顺利学习本书内容。
? 理论结合实践:全书提供了丰富的分析示例,通过示例分析、设计过程,讲解Oracle的应用知识。
? 网站互动:我们在网站上提供了本书示例和扩展内容的资料链接,便于学生继续学习相关知识;授课教师也可以下载本书教学课件和其他教学资源。
? 思考与练习:选择题测试读者对本章所介绍内容的掌握程度;简答题理论结合实际,引导学生深入掌握Oracle理论知识。
读者对象
本书全面介绍使用Oracle数据库应用与开发知识,适合作为普通高校计算机专业Oracle教材,也可以作为Oracle数据库开发和应用人员的参考资料。
本书作者长期从事应用Oracle数据库开发实践和教学培训工作。参与本书编写人员除了封面署名人员之外,还有吴俊海、张瑞萍、董志鹏、祝红涛、郝相林、刘万军、杨宁宁、郭晓俊、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏静、赵元庆、王蕾、亢凤林、韦潜、郝安林等人。
由于时间仓促,书中疏漏之处在所难免,敬请读者批评指正。读者可以通过清华大学出版社网站www.tup.tsinghua.edu.cn与我们联系。
编 者
2007年8月
前言 III
第1章 Oracle关系数据库1
1.1 关系数据模型1
1.1.1 数据结构1
1.1.2 关系操作3
1.1.3 关系的完整性约束3
1.2 关系与关系模式4
1.3 数据库的设计4
1.3.1 实体-关系模型5
1.3.2 E-R图的绘制6
1.3.3 将E-R模型转化为
关系模式7
1.4 关系数据库规范化理论7
1.4.1 函数依赖8
1.4.2 范式理论9
1.5 Oracle数据库的应用系统结构12
1.5.1 Oracle分布式数据库
系统结构12
1.5.2 Oracle客户/服务器
系统结构13
1.5.3 Oracle浏览器/服务器
系统结构14
1.6 Oracle 10g安装14
1.6.1 安装Oracle 10g系统需求14
1.6.2 在Windows环境下的
安装过程15
1.6.3 查看Oracle系统20
1.7 创建数据库20
1.8 数据库的启动与关闭25
1.9 Oracle默认用户26
第2章 Oracle数据库体系结构27
2.1 物理存储结构27
2.1.1 数据文件27
2.1.2 日志文件29
2.1.3 控制文件31
2.1.4 参数文件31
2.2 逻辑存储结构32
2.2.1 数据块32
2.2.2 盘区33
2.2.3 段33
2.2.4 表空间34
2.3 内存结构34
2.3.1 系统全局区35
2.3.2 程序全局区37
2.3.3 排序区37
2.3.4 大池37
2.3.5 Java池37
2.4 实例的进程结构37
2.4.1 DBWR39
2.4.2 LGWR40
2.4.3 ARCH40
2.4.4 CKPT41
2.4.5 SMON42
2.4.6 PMON42
2.4.7 RECO42
2.4.8 Dnnn42
2.5 数据字典44
2.6 思考与练习45
第3章 SQL基本查询47
3.1 SQL语句概述47
3.2 SQL*Plus48
3.3 本书所用的示例模式49
3.3.1 VENDITION模式49
3.3.2 SCHOOL模式51
3.4 SQL SELECT语句51
3.4.1 SELECT子句和FROM
子句52
3.4.2 WHERE子句54
3.4.3 ORDER BY子句58
3.4.4 使用统计函数60
3.4.5 GROUP BY子句62
3.4.6 HAVING子句64
3.5 在SQL*Plus中使用函数65
3.5.1 字符串函数65
3.5.2 数字函数67
3.5.3 日期时间函数68
3.5.4 转换函数69
3.6 实验指导70
3.7 思考与练习71
第4章 修改SQL数据与SQL*Plus
命令73
4.1 添加数据73
4.1.1 简单的INSERT语句74
4.1.2 省略列表清单75
4.1.3 INSERT语句与SELECT
语句76
4.2 更新数据77
4.3 删除数据79
4.3.1 DELETE语句79
4.3.2 TRUNCATE语句80
4.4 SQL*Plus命令81
4.4.1 设置环境变量命令81
4.4.2 格式化查询结果命令84
4.4.3 文件操作命令87
4.4.4 交互命令90
4.4.5 帮助命令92
4.4.6 其他的SQL*Plus命令92
4.5 实验指导93
4.6 思考与练习94
第5章 用户、模式和表96
5.1 用户和模式96
5.1.1 模式96
5.1.2 模式对象与非模式对象97
5.1.3 用户97
5.2 表99
5.2.1 数据类型99
5.2.2 创建表103
5.2.3 表特性106
5.2.4 默认值和NULL值111
5.3 修改表112
5.3.1 增加和删除字段112
5.3.2 调整表特性113
5.3.3 手动给表分配存储空间114
5.4 删除表定义115
5.5 数据完整性116
5.5.1 定义PRIMARY KEY
约束117
5.5.2 定义NOT NULL约束118
5.5.3 定义UNIQUE约束119
5.5.4 定义FOREIGN KEY
约束120
5.5.5 定义CHECK约束123
5.5.6 约束的状态124
5.6 查看表信息125
5.6.1 查看表的基本信息125
5.6.2 分析表的存储空间125
5.7 实验指导128
5.8 思考与练习131
第6章 高级查询133
6.1 简单连接133
6.1.1 基本连接133
6.1.2 表别名136
6.1.3 多个表之间的连接136
6.2 使用JOIN连接查询137
6.2.1 内连接138
6.2.2 外连接139
6.2.3 交叉连接141
6.3 集合操作141
6.3.1 UNION142
6.3.2 INTERSECT143
6.3.3 MINUS 143
6.4 子查询144
6.4.1 使用返回多行的子查询144
6.4.2 使用单值子查询147
6.4.3 使用嵌套子查询148
6.5 实验指导149
6.6 思考与练习151
第7章 PL/SQL编程基础154
7.1 PL/SQL程序结构154
7.2 变量与常量156
7.2.1 PL/SQL标识符156
7.2.2 标量变量157
7.2.3 为变量和常量赋值158
7.2.4 作用域158
7.3 PL/SQL块中的SQL语句159
7.4 使用%TYPE和%ROWTYPE
类型的变量160
7.4.1 %TYPE变量161
7.4.2 %ROWTYPE变量161
7.5 复合变量162
7.5.1 记录类型163
7.5.2 记录表类型165
7.6 条件判断语句168
7.6.1 IF语句169
7.6.2 CASE语句171
7.7 循环语句172
7.7.1 无条件循环173
7.7.2 WHILE循环174
7.7.3 FOR循环175
7.8 游标176
7.8.1 隐式游标176
7.8.2 显式游标178
7.8.3 游标FOR循环181
7.8.4 游标变量181
7.8.5 使用游标更新数据库184
7.9 异常处理185
7.9.1 预定义的Oracle异常185
7.9.2 非预定义的异常188
7.9.3 用户自定义的异常处理189
7.9.4 异常传播190
7.9.5 在PL/SQL中使用SQLCODE
和SQLERRM193
7.10 实验指导194
7.11 思考与练习197
第8章 过程、函数和程序包199
8.1 存储过程199
8.1.1 创建存储过程199
8.1.2 调用存储过程200
8.1.3 修改存储过程201
8.1.4 参数201
8.1.5 局部变量和子过程205
8.2 函数206
8.2.1 创建函数206
8.2.2 调用函数207
8.3 程序包208
8.3.1 规范209
8.3.2 主体210
8.3.3 私有成员212
8.3.4 实例化214
8.3.5 重载215
8.3.6 管理程序包和执行权限217
8.4 依赖性218
8.5 实验指导219
8.6 思考与练习222
第9章 表类型225
9.1 外部表225
9.1.1 建立外部表226
9.1.2 处理外部表错误228
9.1.3 修改外部表230
9.1.4 外部表的局限性231
9.2 索引组织表231
9.2.1 什么是索引组织表231
9.2.2 创建索引组织表232
9.2.3 维护索引组织表235
9.3 临时表235
9.4 对象和对象表237
9.4.1 创建对象类型237
9.4.2 构造函数238
9.4.3 引用对象类型239
9.4.4 方法240
9.4.5 继承244
9.4.6 重写246
9.4.7 对象表247
9.5 分区表250
9.5.1 创建分区表250
9.5.2 分区表的操作253
9.5.3 分区表的维护254
9.6 簇表255
9.6.1 创建簇和簇表255
9.6.2 管理簇256
9.7 散列聚簇表257
9.8 实验指导258
9.9 思考与练习263
第10章 索引266
10.1 了解索引266
10.1.1 B树索引267
10.1.2 位图索引267
10.1.3 反向键索引269
10.1.4 基于函数的索引269
10.1.5 全局索引和局部索引270
10.2 创建索引271
10.2.1 创建B树索引272
10.2.2 创建位图索引274
10.2.3 创建反向键索引274
10.2.4 创建基于函数的索引274
10.2.5 创建全局和局部索引275
10.3 索引与约束277
10.4 管理索引278
10.4.1 合并索引和重建索引278
10.4.2 监视索引279
10.4.3 删除索引281
10.5 何时使用索引281
10.6 实验指导282
10.7 思考与练习283
第11章 视图、序列和同义词285
11.1 视图285
11.1.1 创建视图285
11.1.2 检索视图定义286
11.1.3 连接视图287
11.1.4 视图的相关性287
11.1.5 带错误创建视图288
11.1.6 删除视图289
11.2 可更新的视图289
11.3 管理序列291
11.3.1 创建序列291
11.3.2 修改序列293
11.3.3 查询序列293
11.4 管理同义词294
11.5 实验指导295
11.6 思考与练习297
第12章 触发器298
12.1 触发器的组成298
12.2 Oracle触发器的类型299
12.2.1 DML触发器300
12.2.2 替代触发器305
12.2.3 系统事件触发器307
12.2.4 用户事件触发器307
12.3 ALTER TRIGGER语句308
12.4 与触发器相关的数据字典309
12.5 实验指导310
12.6 思考与练习313
第13章 事务与并发控制315
13.1 了解事务315
13.2 事务的ACID特性316
13.2.1 原子性316
13.2.2 一致性316
13.2.3 隔离性317
13.2.4 持久性318
13.3 事务控制语句318
13.3.1 设置事务属性319
13.3.2 结束事务322
13.3.3 存储点323
13.3.4 设置约束延期性325
13.4 并发控制327
13.4.1 锁327
13.4.2 锁模式327
13.5 锁粒度329
13.5.1 TX锁330
13.5.2 TM锁330
13.5.3 数据库级锁331
13.6 查询锁331
13.7 死锁334
13.8 实验指导335
13.9 思考与练习336
第14章 安全338
14.1 用户账号338
14.1.1 用户配置文件339
14.1.2 修改用户账号342
14.1.3 删除用户账号344
14.1.4 监视用户345
14.2 权限管理345
14.2.1 系统权限346
14.2.2 对象权限349
14.3 角色管理352
14.3.1 系统预定义角色352
14.3.2 自定义角色353
14.3.3 启用和禁用角色355
14.3.4 修改用户时设置角色357
14.3.5 删除角色357
14.4 实验指导358
14.5 思考与练习359
第15章 管理存储结构360
15.1 表空间360
15.1.1 创建表空间360
15.1.2 表空间属性364
15.1.3 调整表空间的
数据文件366
15.1.4 临时表空间371
15.1.5 大文件表空间373
15.1.6 非标准块表空间374
15.1.7 删除表空间375
15.2 撤销表空间375
15.2.1 什么是自动撤销管理375
15.2.2 撤销表空间管理参数376
15.2.3 管理撤销表空间377
15.2.4 监视撤销表空间379
15.3 段379
15.4 盘区381
15.5 数据块382
15.6 实验指导383
15.7 思考与练习384
第16章 备份与恢复385
16.1 数据库备份概述385
16.2 数据库备份模式386
16.3 备份数据库387
16.3.1 物理备份387
16.3.2 逻辑备份389
16.4 数据库手动恢复395
16.4.1 实例恢复395
16.4.2 介质恢复396
16.5 恢复管理器(RMAN)401
16.5.1 设置RMAN401
16.5.2 连接到目标数据库402
16.5.3 RMAN操作目标
数据库404
16.5.4 RMAN通道404
16.5.5 RMAN备份数据库408
16.5.6 RMAN恢复数据库413
16.5.7 RMAN管理恢复目录416
16.6 实验指导421
16.7 思考与练习422