标题：Oracle11g数据库系统设计、开发、管理与应用
宣传语
设计·开发·管理·应用  面面俱到
命令·操作·例题·案例  样样精通  
内 容 简 介
Oracle是目前关系型数据库管理系统市场中应用最广泛的产品，Oracle 11g则是最新的Oracle版本。本书以电子商城为案例，从数据库设计、数据库开发、数据库管理和数据库应用等多个层次、多个角度和多个方面详细、耐心地介绍Oracle 11g数据库的使用。
本书共有19章，分4个部分，其中第1、2章属于基础篇，主要介绍数据库设计方面的内容；第3~11章属于开发篇，主要介绍Oracle数据库的开发；第12~15章属于管理篇，主要介绍Oracle 11g数据库的管理；第16~19章属于应用篇，主要介绍Oracle 11g数据库应用系统的开发知识。
读者即使没有数据库技术基础，也可以通过自学本书，熟悉最新Oracle系统，并掌握Oracle数据库系统的设计、开发、管理和应用方面的知识。本书的所有内容均结合电子商城进行讲解，通俗易懂，适合高职高专、本科院校或计算机培训机构作为Oracle数据库课程的教材或参考用书，也可以作为计算机爱好者和数据库管理员的参考用书。
前 言
本书主要内容
本书共有19章，分4个部分，其中第1、2章属于基础篇，主要介绍数据库设计方面的内容；第3～11章属于开发篇，主要介绍Oracle数据库的开发；第12～15章属于管理篇，主要介绍Oracle 11g数据库的管理；第16～19章属于应用篇，主要介绍Oracle 11g数据库应用系统的开发知识。各个章节的具体内容安排如下：
篇名    章  名    主 要 内 容
基础篇    第1章 数据库技术基础    介绍了数据库技术的基本概念、数据模型、E-R模型、数据库的规范化和高级数据库技术
第2章 进入Oracle世界    介绍了Oracle产品的发展变迁、Oracle 11g的新特性、体系结构、安装过程、基本组件和Oracle服务的启动、关闭
开发篇    第3章 SQL语言与PL/SQL    介绍了SQL和PL/SQL的基本知识，以及PL/SQL运算符、控制结构和常用函数
第4章 数据库    介绍了数据库和数据库实例的基本知识、创建数据库、修改数据库、删除数据库和管理表空间的操作
第5章 数据表、约束和数据记录    介绍了管理数据表、数据库完整性的约束实现、数据记录操作、管理序列、管理同义词和管理评注等操作
第6章 数据查询    介绍了查询的基本语法、简单查询、连接查询、子查询和联合查询等操作
第7章 索引    介绍了索引的基本知识、管理索引和管理聚集等操作
第8章 视图    介绍了视图的基本知识、管理视图和使用视图等操作
第9章 存储过程、函数和包    介绍了存储过程的基本知识、管理存储过程、嵌套存储过程、管理函数和管理包等操作
第10章 触发器    介绍了触发器的基本知识、管理触发器和使用触发器的操作
第11章 游标、事务和锁    介绍了游标的基础知识和基本操作、事务和锁的基本知识
续表
篇名    章  名    主 要 内 容
管理篇    第12章 Oracle 11g企业管理器    介绍了OEM的基本环境和使用OEM监视Oracle 11g环境、管理数据库、管理部署和管理作业系统等操作
第13章 数据库安全性    介绍了数据库安全性基本知识、管理用户、管理角色、授权和数据库审计等操作
第14章 备份与恢复    介绍了数据库备份、恢复、数据导入、导出等操作
第15章 Oracle配置和管理工具    介绍了Oracle 11g配置和管理工具概况、配置和管理网络服务、配置本地规则和安装、配置客户端等操作
应用篇    第16章 Java访问Oracle数据库    介绍了JDBC的基本结构、ODBC连接数据库、JDBC连接数据库和访问数据库等操作
第17章 .NET访问Oracle数据库    介绍了ADO.NET模型、绑定连接数据库、ODBC连接数据库、手动连接数据库和调用存储过程等操作
第18章 开发J2EE应用    介绍了J2EE开发和部署环境、开发JSP程序、开发Servlet和开发EJB等内容
第19章 Oracle XML DB    介绍了Oracle XML DB的基本体系结构、XML模式、二进制XML表和XQuery查询等内容
本书特点
（1）本书内容根据数据库开发的一般特点进行讲解，内容通俗易懂。
（2）结合实际开发案例的大量例题，使读者可以直观感受Oracle 11g的内容。
（3）对每种Oracle技术均通过GUI方式和命令方式进行讲解，既方便初学者快速入门，也方便对Oracle有一定了解的读者更上一层楼。
本书既适合高职高专、本科院校或计算机培训机构作为Oracle数据库课程的教材或参考用书，也可以作为计算机爱好者和数据库管理员的参考用书。
本书由来自湖南铁道职业技术学院的希赛顾问团顾问冯向科（国家认证软件设计师、系统分析师）和邓莹担任主编。
由于作者水平有限，书中的错误和不妥之处在所难免，敬请读者批评指正。有关本书的反馈和咨询，读者可以发送邮件至（请见扩展阅读），也可以从（请见扩展阅读）免费下载书中所用到的软件、工具和源代码。
编    者
2009年3月
目 录
基 础 篇
第1章 数据库技术基础    2
1.1  数据库技术概述    2
1.1.1  数据库的基本概念    2
1.1.2  数据处理发展简史    4
1.2  数据模型    6
1.2.1  层次模型    6
1.2.2  网状模型    7
1.2.3  关系模型    8
1.3  E-R模型    9
1.3.1  E-R模型    9
1.3.2  E-R模型转换为关系模型    13
1.3.3  使用PowerDesigner设计数据库    14
1.4   数据库的规范化    19
1.4.1  第一范式（1NF）    19
1.4.2  第二范式（2NF）    20
1.4.3  第三范式（3NF）    21
1.4.4  Boyce-Code范式（BCNF）    21
1.5  高级数据库技术    23
1.5.1  数据仓库    23
1.5.2  分布式数据库    23
1.5.3  面向对象数据库    24
1.6  小结    25
第2章 进入Oracle世界    26
2.1  Oracle的发展变迁    26
2.2  Oracle 11g的新特性    28
2.3  Oracle 11g的体系结构    31
2.3.1  Oracle进程结构    32
2.3.2  Oracle内存结构    33
2.4  Oracle 11g的安装过程    34
2.5  Oracle 11g的基本组件    40
2.5.1  SQL*Plus    41
2.5.2  SQL Developer    42
2.5.3  Database Console    44
2.6  Oracle 11g服务的启动与关闭    45
2.7  小结    47
开 发 篇
第3章 SQL语言与PL/SQL    49
3.1  SQL语言简介    49
3.1.1  SQL的产生    49
3.1.2  SQL的组成    50
3.2  PL/SQL语言基础    50
3.2.1  PL/SQL简介    50
3.2.2  PL/SQL块    50
3.2.3  PL/SQL数据类型    52
3.2.4  PL/SQL标识符    53
3.2.5  常量和变量    54
3.2.6  PL/SQL注释    55
3.3  PL/SQL运算符    55
3.3.1  算术运算符    55
3.3.2  关系运算符    56
3.3.3  逻辑运算符    57
3.4  PL/SQL控制结构    57
3.4.1  条件结构    57
3.4.2  循环结构    61
3.4.3  跳转语句    64
3.5  PL/SQL常用系统函数    64
3.5.1  数学函数    64
3.5.2  字符串函数    66
3.5.3  日期函数    67
3.5.4  转换函数    68
3.6  小结    68
第4章 数据库    70
4.1  数据库概述    70
4.1.1  数据库结构    70
4.1.2  数据库实例    73
4.2  创建数据库实例    73
4.2.1  使用Oracle Database Configuration Assistant创建数据库实例    73
4.2.2  使用PL/SQL创建数据库    82
4.3  修改数据库实例    89
4.3.1  使用DBCA修改数据库实例    89
4.3.2  使用PL/SQL修改数据库    91
4.4  删除数据库实例    93
4.4.1  使用DBCA删除数据库实例    93
4.4.2  使用PL/SQL删除数据库    94
4.5  管理表空间    95
4.5.1  使用OEM管理表空间    95
4.5.2  使用PL/SQL管理表空间    98
4.6  小结    101
第5章 数据表、约束和数据记录    102
5.1  管理数据表    102
5.1.1  创建数据表    102
5.1.2  修改数据表    105
5.1.3  查看和删除表    107
5.2  数据完整性与约束    110
5.2.1  数据完整性概述    110
5.2.2  约束的实现    110
5.3  数据记录操作    120
5.3.1  使用SQL Developer操作数据记录    121
5.3.2  使用PL/SQL操作数据记录    122
5.4  管理序列    125
5.4.1  使用SQL Developer管理序列    125
5.4.2  使用PL/SQL操作序列    126
5.5  管理同义词    129
5.5.1  使用SQL Developer管理同义词    129
5.5.2  使用PL/SQL操作同义词    130
5.6  管理评注    131
5.7  小结    133
第6章 数据查询    134
6.1  查询的基本语法    134
6.2  简单查询    135
6.2.1  选择列    135
6.2.2  选择行    139
6.2.3  排序查询数据记录集    147
6.2.4  分组数据记录集    149
6.3  连接查询    155
6.3.1  内连接查询    155
6.3.2  外连接查询    158
6.3.3  交叉连接查询    160
6.4  子查询    161
6.4.1  IN子查询    161
6.4.2  EXISTS子查询    163
6.4.3  使用比较运算符的子查询    164
6.4.4  使用ANY或ALL的子查询    165
6.4.5  数据记录操作中的子查询    166
6.5  联合查询    168
6.6  小结    171
第7章 索引    172
7.1  索引概述    172
7.2  创建索引    175
7.2.1  使用SQL Developer创建索引    175
7.2.2  使用PL/SQL创建索引    175
7.3  修改索引    176
7.3.1  使用SQL Developer修改索引    177
7.3.2  使用PL/SQL修改索引    177
7.4  查看索引    178
7.5  删除索引    178
7.5.1  使用SQL Developer删除索引    178
7.5.2  使用PL/SQL删除索引    179
7.6  聚集    180
7.6.1  创建聚集    180
7.6.2  修改聚集    184
7.6.3  删除聚集    184
7.7  小结    185
第8章 视图    186
8.1  视图概述    186
8.2  创建视图    187
8.2.1  使用SQL Developer创建视图    187
8.2.2  使用PL/SQL创建视图    189
8.3  修改视图    191
8.3.1  使用SQL Developer修改视图    191
8.3.2  使用PL/SQL修改视图    192
8.4  查看视图    194
8.4.1  使用SQL Developer查看视图    194
8.4.2  使用PL/SQL查看视图    194
8.5  删除视图    195
8.5.1  使用SQL Developer删除视图    195
8.5.2  使用PL/SQL删除视图    196
8.6  使用视图    196
8.6.1  查询视图    196
8.6.2  更新视图数据    198
8.7  小结    200
第9章 存储过程、函数和包    201
9.1  存储过程概述    201
9.2  创建和调用存储过程    202
9.2.1  使用SQL Developer创建和
调用存储过程    202
9.2.2  使用PL/SQL创建和调用
存储过程    203
9.3  查看、修改和删除存储过程    208
9.3.1  查看存储过程    208
9.3.2  修改存储过程    209
9.3.3  删除存储过程    210
9.4  存储过程的嵌套    211
9.5  函数    212
9.5.1  创建函数    213
9.5.2  调用函数    215
9.5.3  删除函数    215
9.6  包    216
9.6.1  定义包头    217
9.6.2  定义包体    218
9.6.3  引用包中对象    219
9.6.4  包的初始化    219
9.6.5  Oracle 11g的内置包    219
9.6.6  在包中定义函数和存储过程    219
9.7  小结    222
第10章 触发器    223
10.1  触发器概述    223
10.1.1  触发器简介    223
10.1.2  触发器的类型    224
10.1.3  OLD和NEW修饰访问操作    225
10.2  创建触发器    226
10.2.1  使用SQL Developer创建
触发器    226
10.2.2  使用PL/SQL创建触发器    227
10.3  查看、修改和删除触发器    229
10.3.1  查看触发器    229
10.3.2  修改触发器    231
10.3.3  删除触发器    232
10.4  使用触发器    234
10.4.1  插入型触发器    234
10.4.2  删除型触发器    235
10.4.3  更新型触发器    236
10.4.4  混合型触发器    237
10.5  AFTER和INSTEAD OF触发器    238
10.6  小结    240
第11章 游标、事务和锁    241
11.1  游标    241
11.1.1  游标的概念    241
11.1.2  游标操作    242
11.1.3  游标的属性    245
11.1.4  在游标中使用循环    246
11.1.5  游标的更新    248
11.2  事务    249
11.2.1  事务的属性    249
11.2.2  事务处理    250
11.3  锁    253
11.3.1  锁的概述    253
11.3.2  锁的类型    253
11.4  小结    255 
管 理 篇
第12章 Oracle 11g企业管理器    257
12.1  认识Oracle 11g企业管理器    257
12.2  监视Oracle 11g环境    259
12.2.1  执行监视    260
12.2.2  自监视体系结构    268
12.3  数据库管理    269
12.3.1  数据库管理概述    269
12.3.2  监视数据库    270
12.3.3  管理数据库    274
12.3.4  维护数据库    275
12.3.5  管理数据库组    277
12.4  管理部署    277
12.4.1  收集主机配置信息    277
12.4.2  监视和管理部署    278
12.5  作业系统    283
12.5.1  概述    283
12.5.2  使用和定义作业    284
12.5.3  分析作业活动    284
12.5.4  作业库    285
12.6  小结    285
第13章 数据库安全性    286
13.1  数据库安全管理概述    286
13.2  安全策略    287
13.2.1  系统安全策略    287
13.2.2  数据安全策略    288
13.2.3  用户安全策略    288
13.2.4  口令管理安全策略    289
13.2.5  审计策略    289
13.3  用户管理    289
13.3.1  创建用户    290
13.3.2  修改用户    292
13.3.3  删除用户    294
13.3.4  监控用户    294
13.4  角色管理    295
13.4.1  创建角色    296
13.4.2  修改角色    298
13.4.3  删除角色    299
13.4.4  预定义角色    299
13.5  授权    300
13.5.1  授予权限    300
13.5.2  收回权限    303
13.6  数据库审计    304
13.6.1  审计策略    304
13.6.2  审计类型    305
13.6.3  审计踪迹    306
13.6.4  查看审计踪迹    311
13.7  小结    313
第14章 备份与恢复    314
14.1  备份数据库    314
14.1.1  数据库故障分类    314
14.1.2  备份的类型    315
14.1.3  以命令方式执行数据库备份    317
14.1.4  使用OEM执行数据库备份    324
14.2  恢复数据库    330
14.2.1  恢复的类型    332
14.2.2  以命令方式执行数据库恢复    332
14.2.3  使用OEM执行数据库恢复    334
14.3  备份和恢复策略    337
14.3.1  备份的策略    338
14.3.2  恢复的策略    339
14.4  数据导入/导出    339
14.4.1  Export    340
14.4.2  Import    348
14.5  小结    354
第15章 Oracle配置和管理工具    355
15.1  配置和管理工具概述    355
15.1.1  Oracle网络管理器    355
15.1.2  Oracle网络配置助手    356
15.1.3  Oracle网络控制工具    356
15.2  配置和管理Oracle网络服务    357
15.2.1  创建目录服务器    357
15.2.2  配置概要文件    359
15.2.3  配置和管理监听器    360
15.2.4  配置Oracle服务    361
15.3  Oracle Locale Builder    361
15.4  Oracle客户端工具    364
15.4.1  安装Oracle客户端    364
15.4.2  配置Oracle客户端    367
15.5  小结    370 
应 用 篇 
第16章 Java访问Oracle数据库    372
16.1  JDBC概述    372
16.2  ODBC连接Oracle数据库    373
16.3  JDBC连接Oracle数据库    374
16.3.1  注册数据库驱动程序    374
16.3.2  获得数据库连接    374
16.3.3  发送和执行SQL语句    376
16.3.4  访问元数据    377
16.4  JDBC访问Oracle数据库    378
16.5  小结    387
第17章 .NET访问Oracle数据库    388
17.1  ADO.NET概述    388
17.1.1  ADO.NET模型    389
17.1.2  ADO.NET对象    390
17.2  绑定连接Oracle数据库    393
17.3  ODBC连接Oracle数据库    397
17.4  手动连接Oracle数据库    399
17.5  调用Oracle存储过程    402
17.6  小结    405
第18章 开发J2EE应用    406
18.1  配置开发和部署环境    406
18.1.1  JDeveloper工具    406
18.1.2  OC4J服务器    408
18.2  开发JSP程序    413
18.2.1  创建JSP程序    413
18.2.2  部署JSP程序    416
18.2.3  配置数据源    418
18.3  开发Servlet程序    421
18.3.1  创建Servlet程序    421
18.3.2  部署Servlet程序    427
18.4  开发EJB应用    427
18.4.1  EJB概述    427
18.4.2  开发EJB应用    429
18.4.3  测试EJB    432
18.5  小结    433
第19章 Oracle XML DB    434
19.1  Oracle XML DB概述    434
19.2  Oracle XML DB体系结构    435
19.3  XML模式    436
19.3.1  XML模式概述    436
19.3.2  查看XML模式    436
19.4   二进制XML表    441
19.4.1  二进制XML存储模型    442
19.4.2  创建二进制XML表    442
19.4.3  在二进制XML表上使用关系视图    443
19.5   XQuery查询    444
19.5.1  XQuery查询概述    444
19.5.2  使用索引增强XQuery查询的性能    445
19.5.3  通过XQuery使用XMLType    449
19.6  小结    452
附录A  ESHOPPE数据库    453
附录B  数据字典视图    455
附录C  系统权限和对象权限    471