本书是Oracle9i数据库的完全参考手册,全面讨论了Oracle9i数据库的相关特性和有效管理Oracle9i数据库需要的所有相关知识。本书的主要内容包括:关键的数据库概念、SQL和SQL*PLUS、PL/SQL、对象关系数据库、Oracle中的Java等内容,并在附加的指南中给出了Oracle9i数据字典指南、Oracle9i优化程序指南、Oracle9iAS指南、数据库管理指南以及XML指南。书后的附录A中还列出了所有Oracle命令、关键字、产品、特性、函数等。随书所附光备用中还包含了大量有用的内容,方便读者使用。本书内容极其全面,深入浅出,是Oracle用户、Oracle初学者、Oracle9i DBA等各类Oracle使用者的必备参考书。
序\r\n前言\r\n\r\n第一部分 关键数据库概念\r\n\r\n第1章 共享知识与成功 \r\n\r\n1.1 协作方法 \r\n1.2 每个人都有“数据” \r\n1.3 Oracle的一般介绍 \r\n1.3.1 信息表 \r\n1.3.2 结构化查询语言 \r\n1.3.3 一个简单的Oracle查询 \r\n1.3.4 为何称为“关系型的” \r\n1.4 某些常见的例子 \r\n\r\n第2章 关系数据库的危机 \r\n\r\n2.1 是否像所说的那样容易 \r\n2.2 风险是什么 \r\n2.3 新思维的重要性 \r\n2.4 代码、缩写及命名标准 \r\n2.4.1 为什么要使用代码而不用英语 \r\n2.4.2 用户反馈的益处 \r\n2.5 如何减少混乱 \r\n2.5.1 规范化 \r\n2.5.2 表和列的英文名称 \r\n2.5.3 用于表示数据的英文单词 \r\n2.6 名字和数据中的大写 \r\n2.7 名称的规范化 \r\n2.8 人是良好设计的决定因素 \r\n2.8.1 理解应用程序的任务 \r\n2.8.2 任务概要 \r\n2.9 理解数据 \r\n2.9.1 原子数据模型 \r\n2.9.2 原子业务模型 \r\n2.9.3 业务模型 \r\n2.9.4 数据录入 \r\n2.9.5 查询和报表 \r\n2.10 对象命名规范化 \r\n2.10.1 层次名完整性 \r\n2.10.2 外键 \r\n2.10.3 单数名字 \r\n2.10.4 简洁性 \r\n2.10.5 对象名词典 \r\n2.11 智能键和列值 \r\n2.12 戒律\r\n\r\n第3章 SQL语言基础 \r\n\r\n3.1 风格 \r\n3.2 建立NEWSPAPER表 \r\n3.3 使用SQL从表中选择数据 \r\n3.4 select、from、where和order by \r\n3.5 逻辑和值 \r\n3.5.1 单值测试 \r\n3.5.2 LIKE \r\n3.5.3 值列表的简单测试 \r\n3.5.4 组合逻辑 \r\n3.6 where的另一种用法:子查询 \r\n3.6.1 从子查询中返回单个值 \r\n3.6.2 从子查询中返回值的列表 \r\n3.7 组合表 \r\n3.8 建立视图 \r\n\r\n第4章 对象关系型数据库基础 \r\n\r\n4.1 是否必须使用对象 \r\n4.2 为什么要使用对象 \r\n4.3 人人都拥有对象 \r\n4.3.1 抽象数据类型 \r\n4.3.2 嵌套表 \r\n4.3.3 可变数组 \r\n4.3.4 大对象 \r\n4.3.5 引用 \r\n4.3.6 对象视图 \r\n4.3.7 对象的命名约定 \r\n4.4 一个常见的对象例子 \r\n4.4.1 简单对象的结构 \r\n4.4.2 将记录插入CUSTOMER表中 \r\n4.4.3 从抽象数据类型中选择 \r\n4.5 面向对象的分析与设计 \r\n4.6 深入学习 \r\n\r\n第5章 启用Web的数据库简介 \r\n\r\n5.1 SQL的位置\r\n5.2 Java的位置\r\n5.3 Oracle Portal的位置 \r\n\r\n第二部分 SQL和SQL*PLUS\r\n\r\n第6章 基本SQL*PLUS报表及命令 \r\n\r\n6.1 建立一个简单报表 \r\n6.1.1 ① remark \r\n6.1.2 ② set headsep\r\n6.1.3 ③ ttitle和btitle\r\n6.1.4 column\r\n6.1.5 ⑧ break on \r\n6.1.6 ⑨ compute avg\r\n6.1.7 ⑩ set linesize\r\n6.1.8 set pagesize\r\n6.1.9 set newpage 79\r\n6.1.10 spool 79\r\n6.1.11 /* */\r\n6.1.12 关于列标题的一些说明\r\n6.2 其他特性\r\n6.2.1 命令行编辑器\r\n6.2.2 设置停顿\r\n6.2.3 保存\r\n6.2.4 存储\r\n6.2.5 编辑\r\n6.2.6 host\r\n6.2.7 添加SQLPLUS命令\r\n6.2.8 启动\r\n6.3 检查SQLPLUS环境\r\n6.4 构件 \r\n\r\n第7章 文本信息的收集与更改 \r\n\r\n7.1 数据类型\r\n7.2 什么是串\r\n7.3 表示法 \r\n7.4 连接符 \r\n7.5 如何剪切和粘贴串\r\n7.5.1 RPAD 和LPAD\r\n7.5.2 LTRIM、RTRIM和TRIM \r\n7.5.3 组合两个函数 \r\n7.5.4 使用TRIM函数 \r\n7.5.5 添加多个函数\r\n7.5.6 LOWER、UPPER和INITCAP\r\n7.5.7 LENGTH \r\n7.5.8 SUBSTR \r\n7.5.9 INSTR \r\n7.5.10 ASCII和CHR \r\n7.6 在order by和where子句中使用串函数 \r\n7.6.1 SOUNDEX \r\n7.6.2 国家语言支持\r\n7.7 本章小结\r\n\r\n第8章 数值处理 \r\n\r\n8.1 三种类型的数值函数 \r\n8.2 表示法\r\n8.3 单值函数\r\n8.3.1 加减乘除\r\n8.3.2 NULL\r\n8.3.3 NVL:空值置换\r\n8.3.4 ABS:绝对值\r\n8.3.5 CEIL\r\n8.3.6 FLOOR\r\n8.3.7 MOD\r\n8.3.8 POWER\r\n8.3.9 SQRT:求平方根\r\n8.3.10 EXP、LN和LOG\r\n8.3.11 ROUND和TRUNC\r\n8.3.12 SIGN\r\n8.3.13 SIN、SINH、COS、COSH、TAN、TANH、ACOS、ATAN、ATAN2和ASIN\r\n8.4 组值函数\r\n8.4.1 组值函数中的NULL\r\n8.4.2 单值函数和组值函数的例子\r\n8.4.3 AVG、COUNT、MAX、MIN和SUM\r\n8.4.4 组值函数与单值函数的组合\r\n8.4.5 STDDEV和VARIANCE\r\n8.4.6 组值函数中的DISTINCT\r\n8.5 列表函数 \r\n8.6 用MAX或MIN查找行 \r\n8.7 优先级和括号 \r\n8.8 本章小结 \r\n\r\n第9章 日期:过去、现在及日期之差 \r\n\r\n9.1 日期的运算\r\n9.1.1 SYSDATE、CURRENT_DATE和SYSTIMESTAMP\r\n9.1.2 两个日期的差 \r\n9.1.3 增加月份\r\n9.1.4 减去月份\r\n9.1.5 GREATEST和LEAST\r\n9.1.6 NEXT_DAY\r\n9.1.7 LAST_DAY\r\n9.1.8 两个日期间的MONTHS_BETWEEN\r\n9.1.9 组合使用日期函数\r\n9.2 日期计算中的ROUND和TRUNC\r\n9.3 TO_DATE和TO_CHAR格式\r\n9.3.1 最常见的TO_CHAR错误\r\n9.3.2 NEW_TIME: 切换时区\r\n9.3.3 TO_DATE 计算 \r\n9.4 where子句中的日期 \r\n9.5 处理多个世纪 \r\n9.6 使用EXTRACT函数 \r\n9.7 使用TIMESTAMP数据类型 \r\n\r\n第10章 转换函数与变换函数 \r\n\r\n10.1 基本转换函数 \r\n10.1.1 数据类型的自动转换 \r\n10.1.2 使用自动转换的注意事项\r\n10.2 几个特殊的转换函数\r\n10.3 变换函数\r\n10.3.1 TRANSLATE\r\n10.3.2 DECODE\r\n10.4 本章小结 \r\n\r\n第11章 分组函数 \r\n\r\n11.1 group by和having的用法 \r\n11.1.1 增加一个order by \r\n11.1.2 执行顺序 \r\n11.2 分组视图 \r\n11.3 分组视图的功能 \r\n11.3.1 视图中的order by \r\n11.3.2 having子句中的逻辑 \r\n11.3.3 对列和分组函数进行排序 \r\n11.3.4 连接列\r\n11.4 本章小结\r\n\r\n第12章 当一个查询依赖于另一个查询时 \r\n\r\n12.1 高级子查询\r\n12.1.1 相关子查询\r\n12.1.2 并列的逻辑测试 \r\n12.1.3 EXISTS及其相关子查询的使用 \r\n12.2 外部连接 \r\n12.2.1 Oracle9i以前版本中的外部连接的语法 \r\n12.2.2 Oracle9i中外部连接的语法 \r\n12.2.3 用外部连接代替NOT IN \r\n12.2.4 用NOT EXISTS代替NOT IN\r\n12.3 NATURAL和INNER连接\r\n12.4 UNION、INTERSECT和MINUS\r\n12.4.1 IN子查询\r\n12.4.2 UNION、INTERSECT和MINUS的限制\r\n\r\n第13章 一些复杂技术 \r\n\r\n13.1 创建一个复杂的视图 \r\n13.2 使用临时表 \r\n13.3 使用ROLLUP、GROUPING和CUBE \r\n13.4 族树和connect by \r\n13.4.1 排除个体和分支 \r\n13.4.2 向根遍历 \r\n13.4.3 基本规则 \r\n\r\n第14章 用SQL*PLUS建立报表 \r\n\r\n14.1 高级格式化 \r\n14.1.1 break on \r\n14.1.2 break on 中列的顺序\r\n14.1.3 分隔行\r\n14.1.4 添加视图\r\n14.1.5 使用ttitle和btitle的列 \r\n14.1.6 关于break on和compute更多的内容 \r\n14.2 set termout off和set termout on\r\n14.3 SQLPLUS中的变量\r\n14.4 数值格式 \r\n14.5 使用mask.sql \r\n14.6 显示所有内容和假脱机\r\n14.7 折到新行上\r\n14.8 其他的报表控制 \r\n\r\n第15章 更改数据:插入、更新、合并和删除 \r\n\r\n15.1 插入\r\n15.1.1 插入时间\r\n15.1.2 用select插入\r\n15.1.3 使用APPEND提示改进插入的性能\r\n15.2 rollback、commit和autocommit\r\n15.2.1 使用savepoint\r\n15.2.2 隐式提交\r\n15.2.3 自动回退\r\n15.3 多行插入\r\n15.4 delete命令\r\n15.5 update命令\r\n15.5.1 嵌入选择语句进行更新\r\n15.5.2 用空值更新\r\n15.6 使用merge命令\r\n\r\n第16章 函数和变量的高级应用\r\n\r\n16.1 order by中的函数\r\n16.2 条形图和曲线图\r\n16.3 使用TRANSLATE \r\n16.4 复杂的剪切和粘贴 \r\n16.5 计算大串中串出现的次数 \r\n16.6 关于变量的其他问题 \r\n\r\n第17章 SQL中的DECODE和CASE:if、then和else \r\n\r\n17.1 if、then、else \r\n17.2 通过DECODE替换值 \r\n17.3 DECODE中的DECODE \r\n17.4 DECODE中的大于和小于 \r\n17.5 使用CASE \r\n\r\n第18章 建立、删除以及更改表和视图 \r\n\r\n18.1 建立表 \r\n18.1.1 字符宽度和数值精度 \r\n18.1.2 在插入时进行舍入 \r\n18.1.3 create table的约束 \r\n18.1.4 指定索引表空间 \r\n18.1.5 命名约束 \r\n18.2 删除表 \r\n18.3 更改表 \r\n18.3.1 增加或修改列的规则 \r\n18.3.2 删除列 \r\n18.4 建立视图\r\n18.4.1 视图的稳定性\r\n18.4.2 视图中的order by\r\n18.4.3 建立只读视图\r\n18.5 从一个表建立另一个表\r\n18.6 建立索引编排表\r\n18.7 使用分区表\r\n18.7.1 建立分区表 \r\n18.7.2 列表分区 \r\n18.7.3 索引分区\r\n18.7.4 管理分区表\r\n18.7.5 从分区中直接查询\r\n18.8 表的联机重定义\r\n\r\n第19章 授权 \r\n\r\n19.1 用户、角色和权限\r\n19.1.1 建立用户\r\n19.1.2 口令管理\r\n19.1.3 三种标准的角色\r\n19.1.4 grant命令的格式\r\n19.1.5 撤销权限\r\n19.2 用户可以授予何种权限 \r\n19.2.1 利用connect移动到另一用户 \r\n19.2.2 创建同义词\r\n19.2.3 使用未授权的权限\r\n19.2.4 权限的传递\r\n19.2.5 创建角色 \r\n19.2.6 为角色授权\r\n19.2.7 将一个角色授予另一个角色\r\n19.2.8 给角色加口令\r\n19.2.9 删除角色的口令\r\n19.2.10 启用和禁用角色\r\n19.2.11 撤销角色的权限\r\n19.2.12 删除角色\r\n19.2.13 给指定的列授予UPDATE权限\r\n19.2.14 撤销对象权限\r\n19.2.15 用户安全性\r\n19.2.16 给公众授予访问权\r\n19.3 有限资源的授权\r\n19.4 高级选项\r\n\r\n第20章 改变Oracle环境\r\n\r\n20.1 索引\r\n20.1.1 建立索引\r\n20.1.2 加强唯一性\r\n20.1.3 建立位图索引\r\n20.1.4 何时建立索引\r\n20.1.5 索引列的变化\r\n20.1.6 一个表能使用多少个索引\r\n20.1.7 在数据库中放置索引\r\n20.1.8 重建索引\r\n20.1.9 基于函数的索引\r\n20.2 数据库的表空间和结构\r\n20.2.1 建立表空间\r\n20.2.2 临时表空间\r\n20.3 回退段和系统管理的撤销\r\n20.3.1 数据库怎样使用回退段\r\n20.3.2 使用撤销表空间\r\n20.4 簇\r\n20.5 序列 \r\n\r\n第21章 用SQL*Loader加载数据 \r\n\r\n21.1 控制文件 \r\n21.2 启动加载 \r\n21.3 控制文件语法说明 \r\n21.4 管理数据加载 \r\n21.5 优化数据加载 \r\n21.6 Oracle9i的增强 \r\n\r\n第22章 访问远程数据 \r\n\r\n22.1 数据库链接\r\n22.1.1 数据库链接是如何工作的\r\n22.1.2 为远程查询使用数据库链接\r\n22.1.3 对同义词和视图使用数据库链接\r\n22.1.4 为远程更新操作使用数据库链接 \r\n22.1.5 数据库链接的语法 \r\n22.2 为位置透明性使用同义词 \r\n22.3 在视图中使用User伪列 \r\n22.4 动态链接:使用SQLPLUS的拷贝命令 \r\n22.5 连接到远程数据库 \r\n\r\n第23章 实体化视图 \r\n\r\n23.1 功能\r\n23.2 要求的系统权限\r\n23.3 要求的表权限\r\n23.4 只读与可更新\r\n23.5 建立实体化视图的语法\r\n23.5.1 基于RowID或基于主键的实体化视图 \r\n23.5.2 建立基础对象 \r\n23.5.3 用实体化视图更改查询执行路径\r\n23.6 刷新实体化视图\r\n23.6.1 可进行何种刷新\r\n23.6.2 自动刷新 \r\n23.6.3 人工刷新 \r\n23.7 建立实体化视图日志的语法 \r\n23.7.1 所需的系统权限\r\n23.7.2 本地对象与远程对象的建立\r\n23.8 更改实体化视图和日志\r\n23.9 删除实体化视图和日志\r\n\r\n第24章 使用Oracle Text进行文本搜索 \r\n\r\n24.1 将文本添加到数据库 \r\n24.2 文本查询和文本索引\r\n24.2.1 文本查询\r\n24.2.2 可使用的文本查询表达式\r\n24.2.3 单词的精确匹配搜索\r\n24.2.4 多个单词精确匹配的搜索 \r\n24.2.5 短语精确匹配的搜索 \r\n24.2.6 搜索互相接近的词\r\n24.2.7 在搜索中使用通配符\r\n24.2.8 搜索具有相同词根的词\r\n24.2.9 模糊匹配搜索\r\n24.2.10 搜索发音相似的词 \r\n24.2.11 使用ABOUT运算符\r\n24.2.12 索引同步\r\n24.3 索引集 \r\n\r\n第25章 使用外部表 \r\n\r\n25.1 访问外部数据 \r\n25.2 建立外部表 \r\n25.3 外部表的局限性、好处和潜在的用途 \r\n\r\n第26章 使用倒叙查询 \r\n\r\n26.1 基于时间的倒叙查询例子 \r\n26.2 保存数据 \r\n26.3 基于SCN的倒叙例子 \r\n\r\n第三部分 PL/SQL\r\n\r\n第27章 PL/SQL简介 \r\n\r\n27.1 PL/SQL概述\r\n27.2 声明部分\r\n27.3 可执行命令部分 \r\n27.3.1 条件逻辑 \r\n27.3.2 循环 \r\n27.3.3 CASE语句 \r\n27.4 异常处理部分 \r\n\r\n第28章 触发器 \r\n\r\n28.1 必需的系统权限\r\n28.2 必需的表权限\r\n28.3 触发器类型\r\n28.3.1 行级触发器\r\n28.3.2 语句级触发器\r\n28.3.3 BEFORE和AFTER触发器\r\n28.3.4 INSTEAD OF触发器\r\n28.3.5 模式触发器\r\n28.3.6 数据库级触发器\r\n28.4 触发器语法 \r\n28.4.1 各种DML触发器类型的组合使用 \r\n28.4.2 设置插入值\r\n28.4.3 维护复制的数据\r\n28.4.4 定制错误条件 \r\n28.4.5 在触发器中调用过程\r\n28.4.6 触发器的命名\r\n28.4.7 创建DDL事件触发器 \r\n28.4.8 创建数据库事件触发器\r\n28.5 启用和禁用触发器\r\n28.6 替换触发器\r\n28.7 删除触发器\r\n\r\n第29章 过程、函数和程序包 \r\n\r\n29.1 必需的系统权限 \r\n29.2 必需的表权限\r\n29.3 过程与函数\r\n29.4 过程与程序包\r\n29.5 建立过程的语法\r\n29.6 建立函数的语法 \r\n29.6.1 在过程中引用远程表 \r\n29.6.2 调试过程 \r\n29.6.3 创建自己的函数 \r\n29.6.4 定制错误条件 \r\n29.6.5 过程和函数的命名 \r\n29.7 建立程序包的语法 \r\n29.8 查看过程化对象的源代码 \r\n29.9 编译过程、函数和程序包 \r\n29.10 替换过程、函数和程序包\r\n29.11 删除过程、函数和程序包\r\n\r\n第四部分 对象关系数据库\r\n\r\n第30章 实现类型、对象视图和方法\r\n\r\n30.1 再论抽象数据类型\r\n30.1.1 抽象数据类型的安全性\r\n30.1.2 检索抽象数据类型属性 \r\n30.2 实现对象视图 \r\n30.2.1 通过对象视图操纵数据 \r\n30.2.2 使用INSTEAD OF触发器 \r\n30.3 方法\r\n30.3.1 建立方法的语法\r\n30.3.2 管理方法 \r\n\r\n第31章 收集器 \r\n\r\n31.1 可变数组\r\n31.1.1 建立可变数组\r\n31.1.2 描述可变数组\r\n31.1.3 向可变数组中插入记录 \r\n31.1.4 从可变数组中选择数据 \r\n31.2 嵌套表 \r\n31.2.1 向嵌套表中插入数据 \r\n31.2.2 查询嵌套表 \r\n31.3 嵌套表和可变数组的管理问题\r\n31.3.1 管理大集合\r\n31.3.2 收集器的可变性\r\n31.3.3 数据位置\r\n\r\n第32章 使用大对象 \r\n\r\n32.1 数据类型 \r\n32.2 为LOB数据指定存储参数 \r\n32.3 LOB值的处理和选择 \r\n32.3.1 初始化值 \r\n32.3.2 用子查询插入数据\r\n32.3.3 更新LOB数据\r\n32.3.4 使用串函数处理LOB值 \r\n32.3.5 使用DBMS_LOB处理LOB值 \r\n32.3.6 删除LOB \r\n\r\n第33章 面向对象的高级概念 \r\n\r\n33.1 行对象与列对象\r\n33.2 对象表与OID\r\n33.2.1 把行插入对象表\r\n33.2.2 从对象表中选择值\r\n33.2.3 从对象表中更新和删除数据\r\n33.2.4 REF函数\r\n33.2.5 使用DEREF函数 \r\n33.2.6 VALUE函数 \r\n33.2.7 无效的引用\r\n33.3 具有REF的对象视图\r\n33.3.1 对象视图的简要回顾\r\n33.3.2 包含引用的对象视图 \r\n33.4 对象PL/SQL \r\n33.5 数据库中的对象 \r\n\r\n第五部分 Oracle中的Java\r\n\r\n第34章 Java简介 \r\n\r\n34.1 Java与PL/SQL概述 \r\n34.2 准备\r\n34.3 声明\r\n34.4 可执行命令\r\n34.4.1 条件逻辑 \r\n34.4.2 循环 \r\n34.4.3 异常处理\r\n34.4.4 保留字\r\n34.5 类 \r\n\r\n第35章 JDBC和SQLJ程序设计 \r\n\r\n35.1 准备\r\n35.1.1 NT用户所需的额外步骤\r\n35.1.2 连接测试\r\n35.2 JDBC类的使用\r\n35.3 SQLJ\r\n35.3.1 SQLJ的额外的设置步骤\r\n35.3.2 测试SQLJ配置\r\n35.4 使用SQLJ类\r\n\r\n第36章 Java存储过程 \r\n\r\n36.1 将类装入数据库 \r\n36.2 怎样访问类 \r\n\r\n第六部分 附加的指南\r\n\r\n第37章 Oracle9i数据字典指南 \r\n\r\n37.1 关于名称的说明\r\n37.2 路线图:DICTIONARY和DICT_COLUMNS\r\n37.3 从表、列、视图、同义词和序列中进行选择\r\n37.3.1 目录:USER_CATALOG\r\n37.3.2 对象:USER_OBJECTS\r\n37.3.3 表:USER_TABLES \r\n37.3.4 列:USER_TAB_COLUMNS \r\n37.3.5 视图:USER_VIEWS \r\n37.3.6 同义词:USER_SYNONYMS \r\n37.3.7 序列:USER_SEQUENCES\r\n37.4 约束和注释\r\n37.4.1 约束:USER_CONSTRAINTS\r\n37.4.2 约束列:USER_CONS_COLUMNS \r\n37.4.3 约束异常:EXCEPTIONS \r\n37.4.4 表的注释:USER_TAB_COMMENTS \r\n37.4.5 列注释:USER_COL_COMMENTS\r\n37.5 索引和簇\r\n37.5.1 索引:USER_INDEXES\r\n37.5.2 索引列:USER_IND_COLUMNS \r\n37.5.3 簇:USER_CLUSTERS \r\n37.5.4 簇列:USER_CLU_COLUMNS\r\n37.6 抽象数据类型、与ORDBMS有关的结构和LOB\r\n37.6.1 抽象数据类型:USER_TYPES\r\n37.6.2 LOB:USER_LOBS \r\n37.7 数据库链接和实体化视图\r\n37.7.1 数据库链接:USER_DB_LINKS\r\n37.7.2 实体化视图\r\n37.7.3 实体化视图日志:USER_MVIEW_LOGS\r\n37.8 触发器、过程、函数和程序包\r\n37.8.1 触发器:USER_TRIGGERS\r\n37.8.2 过程、函数和程序包:USER_SOURCE \r\n37.9 维 \r\n37.10 包括分区和子分区的空间分配和使用\r\n37.10.1 表空间:USER_TABLESPACES\r\n37.10.2 空间限额:USER_TS_QUOTAS\r\n37.10.3 段和区:USER_SEGMENTS和USER_EXTENTS\r\n37.10.4 分区和子分区 \r\n37.10.5 可用空间:USER_FREE_SPACE \r\n37.11 用户和权限\r\n37.11.1 用户:USER_USERS\r\n37.11.2 资源限制:USER_RESOURCE_LIMITS\r\n37.11.3 表的权限:USER_TAB_PRIVS\r\n37.11.4 系统权限:USER_SYS_PRIVS\r\n37.12 角色\r\n37.13 审计 \r\n37.14 其他功能\r\n37.15 监控:V$动态性能表\r\n37.15.1 CHAINED_ROWS\r\n37.15.2 PLAN_TABLE\r\n37.15.3 相关性:USER_DEPENDEN-CIES和IDEPTREE\r\n37.15.4 只属于DBA的视图\r\n37.15.5 Oracle Label Security\r\n37.15.6 SQL*Loader直接加载视图\r\n37.15.7 国家语言支持视图\r\n37.15.8 库\r\n37.15.9 异构服务\r\n37.15.10 索引类型和运算符\r\n37.15.11 大纲 \r\n\r\n第38章 Oracle优化程序指南 \r\n\r\n38.1 选择优化程序 \r\n38.2 访问表的操作\r\n38.2.1 TABLE ACCESS FULL\r\n38.2.2 TABLE ACCESS BY ROWID\r\n38.2.3 相关提示\r\n38.3 使用索引的操作\r\n38.3.1 INDEX UNIQUE SCAN\r\n38.3.2 INDEX RANGE SCAN\r\n38.3.3 何时使用索引 \r\n38.3.4 组合多个索引扫描的输出 \r\n38.3.5 相关提示 \r\n38.3.6 索引的其他优化问题\r\n38.4 处理数据集的操作\r\n38.4.1 行的分类\r\n38.4.2 行分组\r\n38.4.3 使用RowNum的操作 \r\n38.4.4 UNION、MINUS和INTERSECT \r\n38.4.5 为更新而选择行\r\n38.4.6 从视图进行选择\r\n38.4.7 从子查询中进行选择\r\n38.4.8 其他优化问题\r\n38.5 执行连接的操作\r\n38.5.1 Oracle怎样处理多于两个表的连接\r\n38.5.2 MERGE JOIN\r\n38.5.3 NESTED LOOPS \r\n38.5.4 HASH JOIN \r\n38.5.5 处理外部连接 \r\n38.5.6 相关提示 \r\n38.5.7 其他优化问题 \r\n38.6 显示执行路径\r\n38.6.1 使用set autotrace on\r\n38.6.2 使用explain plan \r\n38.7 杂项操作\r\n38.7.1 过滤行\r\n38.7.2 使用connect by子句的查询\r\n38.7.3 使用序列的查询\r\n38.7.4 使用数据库链接的查询\r\n38.7.5 使用簇的查询\r\n38.7.6 相关提示\r\n38.7.7 其他优化问题\r\n38.8 本章小结 \r\n\r\n第39章 Oracle9iAS指南 \r\n\r\n39.1 通信服务\r\n39.1.1 Apache增强的通信服务的功能\r\n39.1.2 通信服务 — IIS\r\n39.2 内容管理服务\r\n39.3 Ultra Search \r\n39.4 业务逻辑服务\r\n39.4.1 用于Java的Oracle Business Components\r\n39.4.2 Oracle PL/SQL\r\n39.4.3 Oracle Forms Services\r\n39.5 表示服务\r\n39.5.1 Apache JServ\r\n39.5.2 Oracle JSP\r\n39.5.3 Oracle PSP\r\n39.5.4 Perl Interpreter\r\n39.6 业务智能服务\r\n39.6.1 Oracle Reports Services\r\n39.6.2 Oracle Discoverer 4i Viewer/Oracle9iAS Discoverer\r\n39.7 门户服务\r\n39.7.1 Oracle Portal\r\n39.7.2 Portal-to-Go\r\n39.7.3 9i Dynamic Services\r\n39.8 开发人员工具包\r\n39.8.1 Oracle Java Messaging Service工具包\r\n39.8.2 Oracle SQLJ\r\n39.8.3 Oracle XML Developer’s Kit\r\n39.8.4 Oracle LDAP Developer’s Kit\r\n39.9 高速缓存服务\r\n39.9.1 Oracle Database Cache\r\n39.9.2 Oracle Web Cache \r\n39.9.3 Oracle9iAS Clickstream分析\r\n39.10 系统服务\r\n39.10.1 Oracle Enterprise Manager\r\n39.10.2 Oracle Advanced Security\r\n39.11 数据库服务\r\n39.12 启动、停止和重启iAS \r\n\r\n第40章 数据库管理指南 \r\n\r\n40.1 建立数据库 \r\n40.2 启动和停止数据库 \r\n40.3 设置内存区域尺寸并管理内存区 \r\n40.4 分配和管理对象的空间 \r\n40.4.1 存储子句的含义 \r\n40.4.2 表段 \r\n40.4.3 索引段\r\n40.4.4 回退段和系统管理的撤销\r\n40.4.5 临时段 \r\n40.4.6 可用空间 \r\n40.4.7 定义数据库对象的大小 \r\n40.5 建立和管理回退段\r\n40.5.1 激活回退段\r\n40.5.2 怎样确定回退段的最大尺寸\r\n40.5.3 监控撤销表空间\r\n40.5.4 怎样将事务处理分配给指定的回退段\r\n40.6 进行备份\r\n40.6.1 Export和Import\r\n40.6.2 Export\r\n40.6.3 Import \r\n40.6.4 脱机备份 \r\n40.6.5 联机备份 \r\n40.6.6 Recovery Manager \r\n40.7 下一步 \r\n\r\n第41章 XML指南 \r\n\r\n41.1 文档类型定义、元素及属性 \r\n41.2 XML Schema \r\n41.3 利用XSU来选择、插入、更新和删除 XML值 \r\n41.3.1 用XSU进行插入、更新和删除处理 \r\n41.3.2 XSU和Java \r\n41.3.3 定制查询处理 \r\n41.4 使用XMLType \r\n41.5 其他功能 \r\n\r\n第七部分 附 录\r\n\r\n附录A 按字母顺序排列的参考 \r\n附录B 光盘说明
Oracle是世界上使用最广泛的数据库。它可以运行在各种计算机上。Oracle的功能在这些机器上都是相同的,因此在一种机器上学习的Oracle知识,可应用到另一种机器上。这一特性受到了知识丰富的Oracle用户和开发人员的欢迎,并且也使你的Oracle知识和技能很容易地应用到其他机器系统上。
Oracle的文献非常完整,卷数众多,要用多张光盘才能完整记录这些文档。本书是第一本将所有主要的Oracle定义、命令、函数、特性和产品汇集在一起的参考书籍,是一本Oracle的每个用户和开发人员都应常备在手边的参考书籍。
本书主要面向以下三类读者:
·Oracle的最终用户 Oracle当然可用来进行一些简单的操作,如录入数据和处理标准报表。但这样的用法会使其强大的功能无用武之地,这就像购买了一台高性能的跑车,然后用一匹马去拉它一样。通过本书前两个部分提供的介绍,即使是一位数据处理经验很少或没有数据处理经验的最终用户也能成为一个精通Oracle的用户,特别是在生成特定的英文报表、指导开发人员建立新特性、新功能以及改善业务活动的实际工作的速度和准确性方面更是如此。本书语言简炼、清晰,没有数据处理方面的晦涩难懂的术语,而且也不要求读者具有丰富的计算机或数据库方面的预备知识。本书将利用简单易学的形式以及众多的实际例子帮助初学者成为专家。
·Oracle的初级开发人员 从Oracle提供的众多文档中找出一个关键的命令或概念是一项非常耗时的工作。本书试图提供一种掌握Oracle的更有组织、更有效的方法。本书有助于Oracle的初级开发人员快速掌握基本概念、克服常见的困难、澄清对本产品及关系开发方面的误解,并建立用于有效的应用程序开发的准则。
·有经验的Oracle开发人员 与任何内容丰富且复杂的产品一样,Oracle中有很多重要的问题几乎都没有公布(如果有的话)。知识来源于长期的实践,但通常都不传授给他人。本书深入地研究了许多这样的问题(如UNION、INTERSECTION和MINUS操作符内的优先级、继承和CONNECT BY、利用外部连接消除NOT IN、实现对象关系和Java选项等)。书中揭示了许多常见的错误概念,推荐使用严格的命名约定、应用程序开发技术,并且还列出了设计与性能方面的一些问题。
本书结构
本书共有七个部分,随书附带一张光盘。
第一部分“关键数据库概念”中的章节基本上是为Oracle的用户(或新或老的用户,这些用户包括数据录入员到数据库管理员)准备的。这些章节定义了一些常用的词汇,最终用户和开发人员可借助这些词汇进行沟通,并保证开发工作的成功。这个导论性的部分是针对Oracle的开发人员和最终用户编写的。它探讨了关系数据库的基本思想和术语,并指出关系数据库应用程序的缺陷、经典的错误以及存在的机会。
第二部分“SQL和SQL*PLUS”讲授关系数据库系统和应用程序的理论和技术,包括SQL(结构化查询语言)和SQLPLUS。这个部分从与读者相关的几个数据处理知识假定开始,然后逐步深入,讨论一些较深的问题和复杂的技术。本部分的叙述有意识地采用了简洁的日常用语,再加上几个独特有趣的例子,绝对避免使用未定义的术语或行话。这个部分主要供Oracle的初级开发人员、初级用户,以及需要快速了解Oracle特性的人员阅读。它循序渐进地介绍SQL和Oracle的交互式查询实用程序SQLPLUS的基本功能。在阅读过这一部分后,读者应该能对所有SQL的关键字、函数和运算符有一个比较透彻的理解。读者还应该能生成复杂的报表,建立表并对Oracle数据库进行数据插入、更新和删除操作。
第二部分的后几章还介绍了SQLPLUS(Oracle的简单命令行界面)中的某些高级的方法,并深入地描述了Oracle的功能强大的新特性。该部分是专门为已经熟悉Oracle,特别是熟悉Oracle前几版的人员(并且认为Oracle的前几版不能方便地满足他们的要求)编写的。这些技术有的以前没有公布过,并且是被认为是不可能实现的。该部分所介绍的技巧和高级技术演示了怎样以强有力的和创造性的方式使用Oracle。这些内容包括利用分布式数据库功能、加载数据文件以及进行高级的基于文本的搜索等。该部分还包括最新的功能,诸如外部表、倒叙查询和新的数据类型和函数等。
第三部分“PL/SQL”主要介绍了PL/SQL的基本内容。主要内容包括PL/SQL结构、附加触发器、存储过程以及程序包等。
第四部分“对象关系数据库”介绍了大量面向对象的特性,如抽象数据类型、方法、对象视图、对象表、嵌套表、可变数组以及大对象。
第五部分“Oracle中的Java”介绍了Oracle数据库中引入的Java特性。该部分包括Java语法概述以及有关JDBC、SQLJ和Java存储过程的章节。
第六部分包含几个附加的指南,它们分别是Oracle9i数据字典指南、Oracle优化程序指南、Oracle9iAS指南、数据库管理及Oracle的XML指南。这些指南介绍了开发人员在其应用程序开发和管理中可能要涉及的各方面内容。
第七部分是“附录”,其中“按字母顺序排列的参考”是Oracle服务器的完全参考。阅读这个参考的介绍部分将使用户更为有效和容易地理解每个功能。该部分包含了最重要的Oracle命令、关键字、产品、特性和函数以及各内容的大量交叉引用。此参考主要用于Oracle开发人员和用户,不过在使用此参考前用户要对Oracle有所了解。为了最有效地利用参考中的每一项功能,应该先阅读此参考的前几页,这几页详细地说明了参考中包含和不包含的内容,以及怎样阅读所包含的条目。
本书所附的光盘含有本书的电子版(英文版)。利用这个电子版,可将本书中有价值的信息保存在自己的PC上,而本书的印刷版可放在办公室或家中。光盘中还包含本书中所有表的建立语句和插入的行。对于学习Oracle的人来说,可在自己的Oracle ID或一个实习ID上使用这些表,这使得试验或扩展这些例子就变得非常容易。