Oracle完全学习手册


Oracle完全学习手册

文章插图
Oracle完全学习手册【Oracle完全学习手册】《Oracle完全学习手册》是2011年清华大学出版社出版的图书,作者是郭郑州 。本书以Oracle 11g for Windows XP为平台,由浅入深地介绍Oracle Database 11g系统的使用方法和基本管理 。
基本介绍书名:Oracle完全学习手册
作者:郭郑州
ISBN:9787302224983
定价:79.50元
出版社:清华大学出版社
出版时间: 2011年1月1日
开本: 16开
内容简介《Oracle完全学习手册》作为世界範围内性能最优异的资料库系统之一,它在国内资料库市场的占有率远远超过其对手,始终处于资料库领域的领先地位 。《Oracle完全学习手册》主要包括:关係资料库设计、Oracle资料库的基本体系结构、存储管理、管理控制档案和日誌档案、SQL语言基础、使用SQL*Plus、PL/SQL程式设计、存储过程、触发器和程式包、表、模式对象管理、安全管理以及基本的备份与恢复等,最后以4个套用实例分别结合Java Swing、JSP、ASP NET和PHP技术来讲述Oracle的实际套用 。《Oracle完全学习手册》适合大专院校在校学生、网站开发人员、Java学习和开发人员以及编程爱好者学习和参考 。图书目录第一篇 Oracle基础篇第1章 Oracle关係资料库 11.1 关係数据模型 11.1.1 二维表 11.1.2 关係术语 21.1.3 关係数据模型的特点 31.2 关係资料库 41.2.1 关係操作 41.2.2 关係的完整性 41.3 关係资料库规範化理论 61.3.1 函式依赖 61.3.2 範式理论 71.4 资料库设计 81.4.1 实体-关係模型 91.4.2 E-R图的绘製 91.4.3 将E-R数据模型转化为关係模式 101.5 Oracle套用系统结构 111.5.1 单磁碟独立主机结构 111.5.2 多磁碟独立主机结构 111.5.3 多资料库独立主机结构 121.5.4 Oracle客户/伺服器系统结构 121.5.5 Oracle浏览器/伺服器系统结构 131.5.6 Oracle分散式资料库系统结构 141.6 安装Oracle 11g 151.6.1 在Windows环境下的安装过程 151.6.2 查看Oracle系统 211.7 创建资料库 211.8 Oracle默认用户 261.9 使用OEM 27第2章 Oracle体系结构概述 312.1 物理存储结构 312.1.1 数据档案 312.1.2 控制档案 332.1.3 重做日誌档案 342.1.4 其他档案 352.2 逻辑存储结构 352.2.1 表空间 362.2.2 段 362.2.3 区 372.2.4 块 372.3 Oracle进程结构 382.3.1 进程结构概述 392.3.2 DBWn进程 392.3.3 LGWR进程 412.3.4 CKPT进程 412.3.5 SMON进程 422.3.6 PMON进程 422.3.7 ARCn进程 422.3.8 RECO进程 432.3.9 LCKn进程 432.3.10 Dnnn进程 432.3.11 SNPn进程 442.4 Oracle记忆体结构 442.4.1 记忆体结构概述 442.4.2 系统全局区 452.4.3 程式全局区 462.4.4 排序区 462.4.5 大池 472.4.6 Java池 472.5 数据字典 472.5.1 Oracle数据字典介绍 472.5.2 Oracle常用数据字典 48第3章 使用SQL*Plus 513.1 SQL*Plus的主要功能 513.2 SQL*Plus连线资料库 513.2.1 启动SQL*Plus 513.2.2 从命令行启动SQL*Plus 533.2.3 断开资料库连线 543.3 查看錶结构 543.4 编辑SQL语句 553.5 保存、检索并运行档案 563.6 使用SQL*Plus格式化查询结果 583.6.1 格式化列 583.6.2 设定页面大小 593.6.3 设定行大小 603.6.4 清除列格式 603.7 使用变数 613.7.1 临时变数 613.7.2 已定义变数 633.8 创建简单报表 653.8.1 在脚本中使用临时变数 653.8.2 在脚本中使用已定义变数 663.8.3 向脚本中的变数传递值 663.8.4 添加页眉和页脚 673.8.5 计算小计 68第4章 表空间 704.1 管理基本表空间 704.1.1 表空间管理类型 704.1.2 创建基本表空间 724.1.3 修改表空间 794.2 临时表空间 854.2.1 创建临时表空间 854.2.2 修改临时表空间 864.2.3 临时表空间组 874.3 大档案表空间 884.4 非标準数据块表空间 904.5 撤销表空间 914.5.1 管理撤销表空间的方式 914.5.2 创建和管理撤销表空间 92第5章 管理控制档案与日誌档案 975.1 管理控制档案 975.1.1 控制档案的概述 975.1.2 创建控制档案 985.1.3 管理与维护控制档案 1015.1.4 查询控制档案信息 1045.2 管理日誌档案 1055.2.1 日誌档案的概述 1055.2.2 创建日誌档案组及其成员 106 5.2.3 管理日誌档案组及其成员 1075.2.4 查看日誌档案信息 1105.3 管理归档日誌 1115.3.1 归档日誌的概述 1115.3.2 设定资料库模式 1125.3.3 设定归档目标 1135.3.4 设定归档进程的跟蹤级别 1145.3.5 查看归档日誌信息 115第6章 表 1176.1 创建表 1176.1.1 创建表的策略 1176.1.2 使用SQL语句创建表 1186.1.3 指定表空间 1236.1.4 指定存储参数 1246.1.5 设定数据块管理参数 1256.1.6 指定重做日誌 1276.1.7 指定快取 1286.1.8 通过OEM创建表 1296.2 修改表 1316.2.1 增加和删除列 1316.2.2 更新列 1336.2.3 重命名表 1356.2.4 改变表的存储表空间和存储参数 1366.2.5 删除表定义 1376.3 完整性约束 1376.3.1 约束的分类和定义 1386.3.2 NOT NULL约束 1386.3.3 PRIMARY KEY约束 1406.3.4 UNIQUE约束 1426.3.5 CHECK约束 1436.3.6 FOREIGN KEY约束 1446.3.7 禁止和激活约束 1476.3.8 验证约束 1496.3.9 延迟约束 1506.3.10 查询约束信息 1516.4 分析表 152第二篇 操作Oracle篇第7章 SQL基础 1577.1 SQL语言概述 1577.1.1 SQL语言特点 1577.1.2 SQL语言分类 1587.1.3 SQL语句的编写规则 1587.2 使用SELECT检索数据 1597.2.1 使用FROM子句指定表 1597.2.2 使用SELECT(必要元素)指定列 1607.2.3 使用WHERE子句指定行 1607.2.4 使用ORDER BY子句对行进行排序 1647.2.5 使用GROUP BY子句对行进行分组 1667.2.6 使用HAVING子句过滤行组 1677.2.7 组合使用WHERE、GROUP BY和HAVING子句 1677.2.8 使用DISTINCT来检索唯一的表列值 1677.2.9 使用算术运算符 1687.3 使用DML语句 1697.3.1 使用INSERT语句插入表数据 1697.3.2 使用UPDATE语句更新表数据 1707.3.3 使用DELETE语句删除表数据 170 7.3.4 使用MERGE语句修改表数据 1717.4 表的连线查询 1737.4.1 简单连线 1737.4.2 内连线 1747.4.3 外连线 1757.4.4 自连线 1767.5 资料库事务 1777.5.1 事务的提交和回滚 1777.5.2 事务的开始与结束 1787.5.3 设定保存点 1797.5.4 事务的ACID特性 1807.5.5 并发事务 1807.5.6 事务锁 1827.5.7 事务隔离级别 183第8章 使用简单函式 1858.1 使用单行函式 1858.1.1 字元函式 1858.1.2 数字函式 1888.1.3 转换函式 1908.1.4 正则表达式函式 1928.2 使用聚合函式 1958.3 日期时间处理函式 1978.3.1 使用TO_CHAR()和TO_DATE()转换时间值 1988.3.2 使用时间值函式 199第9章 子查询 2029.1 子查询的类型 2029.2 编写单行子查询 2029.2.1 在WHERE子句中使用子查询 2039.2.2 使用其他单行操作符 2039.2.3 在HAVING子句中使用子查询 2049.2.4 在FROM子句中使用子查询 2059.2.5 常见查询错误 2069.3 编写多行子查询 2079.4 编写多列子查询 2099.5 编写关联子查询 2109.5.1 使用关联子查询 2109.5.2 在关联子查询中使用EXISTS和NOT EXISTS 2119.6 编写嵌套子查询 2129.7 编写包含子查询的UPDATE和DELETE语句 213第10章 高级查询 21510.1 使用集合操作符 21510.2 使用TRANSLATE()函式 21810.3 使用DECODE()函式 21910.4 使用CASE表达式 22010.4.1 使用简单CASE表达式 22010.4.2 使用搜寻CASE表达式 22110.5 层次化查询 22210.5.1 示例数据 22210.5.2 使用CONNECT BY和START WITH子句 22310.5.3 使用伪列LEVEL 22410.5.4 格式化层次化查询的结果 22510.5.5 从非根节点开始遍历 22610.5.6 在START WITH子句中使用子查询 22610.5.7 从下向上遍历树 22710.5.8 从层次化查询中删除节点和分支 22710.5.9 在层次化查询中加入其他条件 22810.6 使用扩展的GROUP BY子句 229 10.6.1 使用ROLLUP子句 22910.6.2 使用CUBE子句 23010.6.3 使用GROUPING()函式 23110.6.4 使用GROUPING SETS子句 23310.6.5 使用GROUPING_ID()函式 23310.6.6 使用GROUP_ID()函式 236第11章 PL/SQL基础 23811.1 PL/SQL概述 23811.1.1 PL/SQL语言特点 23811.1.2 PL/SQL代码编写规则 23811.2 PL/SQL结构 23911.2.1 PL/SQL程式块 23911.2.2 变数和类型 24011.2.3 运算符与表达式 24211.2.4 PL/SQL的注释 24211.3 编写控制结构 24311.3.1 条件分支语句 24311.3.2 循环语句 24511.3.3 GOTO和NULL 24811.4 複合变数 24911.4.1 %TYPE变数 24911.4.2 %ROWTYPE变数 25011.4.3 PL/SQL记录 25111.5 PL/SQL集合 25211.5.1 索引表 25211.5.2 嵌套表 25411.5.3 变长数组 25611.5.4 PL/SQL记录表 25811.5.5 集合方法 25911.6 游标 26211.6.1 游标基本操作 26311.6.2 游标属性 26411.6.3 参数化游标和隐式游标 26611.6.4 使用游标更新或删除数据 26711.6.5 游标FOR循环 26811.6.6 使用游标变数 26911.7 异常处理 27111.7.1 预定义异常 27111.7.2 用户自定义异常 27411.7.3 异常函式 275第12章 PL/SQL高级套用 27712.1 存储过程 27712.1.1 过程的基本操作 27712.1.2 过程的参数传递 27912.1.3 过程的参数模式 28012.1.4 参数的默认值 28212.2 函式 28312.2.1 函式的基本操作 28312.2.2 建立带参函式 28512.3 程式包 28712.3.1 包的基本操作 28812.3.2 系统预定义包 28912.3.3 私有过程和函式 29012.3.4 使用包重载 29112.3.5 使用包构造过程 29312.4 触发器 29612.4.1 触发器的类型 29612.4.2 触发器的基本操作 29712.4.3 语句触发器 29812.4.4 触发器的新值和旧值 30012.4.5 行触发器 301 12.4.6 INSTEAD OF触发器 30412.4.7 系统事件触发器 305第三篇 Oracle进阶篇第13章 用户许可权与安全 30913.1 管理用户 30913.1.1 创建用户 30913.1.2 修改用户 31213.1.3 删除用户 31413.1.4 查看用户会话信息 31413.2 用户配置档案 31613.2.1 资源限制参数 31613.2.2 口令限制参数 31713.2.3 创建用户配置档案 31813.2.4 管理配置档案 32013.2.5 通过OEM管理配置档案 32113.3 许可权 32313.3.1 许可权的概述 32313.3.2 系统许可权 32513.3.3 对象许可权 32813.3.4 查看许可权信息 33113.4 角色 33313.4.1 角色的概述 33313.4.2 系统预定义角色 33313.4.3 创建角色 33513.4.4 修改用户的默认角色 33613.4.5 禁用和启用角色 33713.4.6 修改角色 33813.4.7 删除角色 33813.4.8 查看角色信息 33913.4.9 通过OEM管理角色 340第14章 资料库审计 34314.1 审计概述 34314.1.1 审计及其作用 34314.1.2 审计类型 34414.1.3 启动资料库审计 34514.2 语句审计 34614.2.1 语句审计概述 34614.2.2 使用语句审计 34814.3 许可权审计 34914.4 对象审计 35014.4.1 对象审计概述 35014.4.2 使用对象审计 35114.5 审计信息查询 35314.6 细粒度的审计 355第15章 其他模式对象 35815.1 索引 35815.1.1 索引类型 35815.1.2 指定索引选项 36115.1.3 创建B树索引 36315.1.4 创建点阵图索引 36415.1.5 创建反向键索引 36415.1.6 创建基于函式的索引 36515.1.7 管理索引 36515.2 索引组织表 36815.2.1 索引组织表与标準表 36815.2.2 溢出存储 36915.3 临时表 37015.3.1 临时表的特点 37015.3.2 临时表的类别 37115.3.3 创建与使用临时表 37115.4 外部表 37315.4.1 创建外部表 37315.4.2 处理外部表错误 37515.5 分区表与分区索引 37915.5.1 分区概述 37915.5.2 创建分区表 38015.5.3 建立分区表索引 38415.5.4 管理分区表 38615.6 簇与簇表 38915.6.1 创建簇和簇表 38915.6.2 创建簇索引 391 15.6.3 管理簇 39115.7 视图 39315.7.1 创建视图 39315.7.2 可更新的视图 39615.7.3 删除视图 39915.8 序列 39915.8.1 创建序列 39915.8.2 修改序列 40215.8.3 删除序列 40215.9 同义词 403第16章 资料库对象类型 40416.1 对象类型简介 40416.2 创建对象类型 40416.2.1 创建简单对象类型 40516.2.2 创建带有函式的对象类型 40616.3 获取对象类型信息 40816.4 在资料库表中使用对象类型 40916.4.1 列对象 40916.4.2 对象表 41116.4.3 对象标识符和对象引用 41416.4.4 比较对象值 41716.5 在PL/SQL中使用对象类型 419第17章 大对象 42417.1 大对象(LOB)简介 42417.2 包含大对象的表 42517.2.1 包含CLOB数据列的表 42517.2.2 包含BLOB数据列的表 42617.2.3 包含BFILE数据列的表 42717.3 在PL/SQL中使用大对象 42917.3.1 APPEND() 42917.3.2 CLOSE() 43117.3.3 COMPARE() 43217.3.4 COPY() 43317.3.5 CREATETEMPORARY() 43417.3.6 ERASE() 43517.3.7 FILECLOSEALL() 43617.3.8 FILEEXISTS() 43617.3.9 FILEGETNAME() 43717.3.10 FREETEMPORARY() 43817.3.11 GETCHUNKSIZE() 43917.3.12 GET_STORAGE_LIMIT() 43917.3.13 GETLENGTH() 43917.3.14 INSTR() 44017.3.15 ISOPEN() 44117.3.16 ISTEMPORARY() 44117.3.17 LOADBLOBFROMFILE() 44217.3.18 LOADCLOBFROMFILE() 44217.3.19 OPEN() 44417.3.20 READ() 44517.3.21 SUBSTR() 44617.3.22 TRIM() 44717.3.23 WRITE() 44717.3.24 WRITEAPPEND() 448 17.4 LONG和LONG RAW类型 44817.4.1 包含LONG或LONG RAW数据列的表 44817.4.2 将LONG和LONG RAW数据列转换为LOB 449第18章 Oracle SQL语句最佳化 45118.1 一般的SQL最佳化技巧 45118.1.1 避免使用“*”替代所有列 45118.1.2 用TRUNCATE代替DELETE 45218.1.3 在确保完整性的情况下多用COMMIT语句 45318.1.4 减少表的查询次数 45318.1.5 用EXISTS替代IN 45318.1.6 用WHERE替代HAVING 45418.1.7 使用“<=”替代“<" 45518.2 表的连线 45618.2.1 选择FROM表的顺序 45618.2.2 WHERE子句的连线顺序 45618.2.3 使用表的别名 45718.3 有效使用索引 45818.3.1 使用索引的基本事项 45818.3.2 避免对索引列使用NOT关键字 45818.3.3 避免对唯一索引列使用IS (NOT) NULL 45918.3.4 选择複合索引主列 45918.3.5 监视索引是否被使用 460第四篇 备份与恢复篇第19章 用户管理的备份与恢复 46119.1 资料库备份与恢复 46119.1.1 资料库备份 46119.1.2 资料库恢复 46419.2 用户管理的备份 46519.2.1 备份命令 46619.2.2 完全资料库脱机备份 46619.2.3 部分资料库脱机备份 46819.2.4 部分资料库在线上备份 46919.2.5 备份控制档案 47119.2.6 验证备份数据 47219.3 用户管理的完全恢复 47319.3.1 用户管理的完全恢复机制 47319.3.2 非归档模式下的资料库恢复 47519.3.3 归档模式下的数据档案恢复 47719.3.4 在MOUNT状态下对SYSTEM表空间恢复 47819.3.5 在OPEN状态下对数据档案进行恢复 48019.3.6 在OPEN状态中恢复未备份的数据档案 48219.3.7 恢复控制档案 48319.4 用户管理的不完全恢复 48619.4.1 不完全恢复机制 48619.4.2 基于时间的恢复 488 19.4.3 基于更改的恢复 49219.4.4 基于撤销的恢复 496第20章 使用RMAN工具 49920.1 RMAN简介 49920.1.1 RMAN的特点 49920.1.2 RMAN组件 50020.1.3 保存RMAN资料档案库 50320.1.4 配置RMAN 50420.1.5 RMAN的基本操作 50920.2 RMAN备份 51220.2.1 RMAN备份类型 51220.2.2 BACKUP命令 51420.2.3 增量备份 51620.2.4 备份资料库 51720.2.5 多重备份 52120.2.6 镜像複製 52220.3 RMAN恢复 52320.3.1 RMAN恢复机制 52420.3.2 资料库非归档恢复 52520.3.3 资料库归档恢复 52720.3.4 块介质恢复 52820.3.5 移动数据档案到新的位置 52920.3.6 基于时间的不完全恢复 53020.3.7 基于撤销的不完全恢复 53120.3.8 基于更改的不完全恢复 53220.4 其他操作 53320.4.1 数据字典 53320.4.2 LIST命令 53420.4.3 SHOW命令 53620.4.4 REPORT命令 536第21章 数据载入与传输 53821.1 Data Pump工具 53821.1.1 Data Pump工具的特点 53821.1.2 与数据泵相关的数据字典视图 53921.1.3 使用Data Pump工具前的準备 53921.2 Data Pump Export工具 54021.2.1 Data Pump Export选项 54021.2.2 使用Data Pump Export 54321.3 Data Pump Import工具 54721.3.1 Data Pump Import选项 54721.3.2 使用Data Pump Import 55021.4 表空间的传输 55321.5 SQL*Loader 55621.5.1 SQL*Loader概述 55621.5.2 数据载入实例 557第22章 Oracle闪回技术 56122.1 闪回技术概述 56122.2 闪回表(Flashback Table) 56222.2.1 闪回表概述 56222.2.2 使用闪回表 56322.3 闪回删除(Flashback Drop) 56522.3.1 资源回收筒概述 56522.3.2 使用闪回删除 56722.3.3 管理资源回收筒 568 22.4 闪回版本查询(FlashbackVersion Query) 57122.4.1 闪回版本查询概述 57122.4.2 使用闪回版本查询 57222.5 闪回事务查询(Flashback Transaction Query) 57322.5.1 闪回事务查询概述 57422.5.2 使用闪回事务查询 57522.6 闪回资料库(Flashback Database) 57622.6.1 闪回资料库概述 57622.6.2 使用闪回资料库 57922.7 闪回数据归档(Flashback DataArchive) 58122.7.1 闪回数据归档概述 58122.7.2 创建与管理闪回数据归档区 58222.7.3 使用闪回数据归档 58322.7.4 清除闪回数据归档区数据 587第五篇 综合套用篇第23章 酒店管理系统 58923.1 系统分析与设计 58923.1.1 需求分析 58923.1.2 系统功能设计 59023.2 资料库设计 59023.2.1 创建数据表 59023.2.2 视图设计 59423.2.3 主键自增设计 59523.3 公共模组设计 59523.3.1 编写资料库连线类 59523.3.2 封装常用的运算元据库的方法 59723.3.3 DAO公共类 59923.4 系统登录模组设计 60023.4.1 设计登录窗体 60123.4.2 用户名下拉选单的实现 60223.4.3 【登录】按钮的事件处理 60223.5 用户管理模组设计 60423.5.1 添加用户 60423.5.2 删除用户 60623.5.3 修改密码 60723.6 收银结账模组设计 60923.6.1 开单功能实现 60923.6.2 签单功能实现 61123.6.3 结账功能实现 612第24章 个人论坛 61524.1 系统分析与设计 61524.1.1 需求分析 61524.1.2 系统设计 61524.2 资料库设计 61624.2.1 用户表 61624.2.2 版块表 61724.2.3 帖子表 61724.2.4 回复表 61824.3 数据模型公共类 61924.3.1 用户类 61924.3.2 帖子和回复父类 61924.3.3 帖子类 62024.4 Dao实现 62124.4.1 连线资料库 62124.4.2 UserDao实现 62324.4.3 BoardDao实现 62524.4.4 ReplyDao实现 62724.5 Web层实现 631 24.5.1 登录 63124.5.2 主界面 63324.5.3 帖子列表 63524.5.4 回覆帖子 63724.5.5 修改回复 63924.5.6 删除回复 640第25章 日誌管理模组 64225.1 準备工作 64225.1.1 安装Oracle客户端 64225.1.2 配置客户端实例 64625.1.3 使用Oracle Net Manager查看配置 65025.1.4 使用工具测试连线 65325.1.5 使用.NET程式测试连线 65525.1.6 使用图形界面测试 65825.2 资料库设计 66025.2.1 创建表 66025.2.2 创建主键和触发器 66125.3 通用模组 66225.3.1 编写资料库类 66225.3.2 製作模板 66425.4 实现首页 66725.4.1 製作页面布局 66725.4.2 编写实现代码 67025.4.3 显示日誌分类 67325.4.4 显示最新日誌 67525.5 日誌分类管理 67625.5.1 查看分类 67625.5.2 修改分类 67825.5.3 删除分类 68025.5.4 添加分类 68025.6 日誌管理 68125.6.1 查看日誌列表 68125.6.2 查看日誌正文 68225.6.3 管理日誌列表 68425.6.4 添加日誌 68525.6.5 修改日誌 688第26章 留言本 69026.1 準备工作 69026.1.1 创建Net服务名 69026.1.2 安装扩展 69226.1.3 测试连线 69326.2 资料库设计 69526.3 功能实现 69526.3.1 显示留言 69526.3.2 发表留言 69826.3.3 回复留言 70126.3.4 删除留言 703