oracle教程
资源文件列表:

Oracle8i数据库基础(SQL和PL_SQL).doc 3.32MB
资源介绍:
初学者不错的oracle教程
Oracle8i 数据库基础
(初稿)
赵元杰
2002 年 3 月 5 日

前 言
本讲稿(ORACLE8i 数据库基础)是作者在多年的工作和授课中的总结,主要包括两个部分,
第一部分是 ORACLE SQL*PLUS 基础,主要讲述 ORACLE 应用系统设计的基本知识和给出
一 些 有 用 的 实 例 ; 第 二 部 分 是 介 绍 ORACLE PL/SQL 知 识 , 主 要 讲 述 ORACLE 数 据
库 PL/SQL 程序设计所用到基本知识,这部分给出进行应用设计所必需的基础知识。这两部
分的内容都尽可能做到内容简洁而全面。特点是,1.用简单明了的语句对解释各个部分的内
容,省去一些理论性的解释;2.给出作者在应用设计和开发中的一些具体的例子,为软件人
员提供一些借鉴,省去查阅大量资料的时间。3.给出了许多资料所没有提供的一些使用技巧,
如导出触发器等。总之,内容基本上包括当前 Oracle8I 的最新内容。同时也覆盖了最新的
ORACLE8i OCP 培训大纲的内容。不仅包含 ORACLE 程序设计人员、DBA 所必须掌握的知
识,而且还含盖了系统分析员所要求的内容。与本书(讲稿)相伴的还有《Oracle8I 初级管
理员》和《Oracle8I 高级管理员》。
全书内容简练实用,可作为 ORACLE 数据库管理人员参考,也可作为应用开发人员和系
统分析与 设计 人员 以及 大学 计算 机专 业教 学的 参考 资料 。由 于作 者水 平所 限, 加之
ORACLE 的产品与内容的浩瀚,在资料的整理与收集中可能有不少错误和不妥之处,希望
读者给予批评制正。
2

目 录
第一部分 Oracle SQL*PLUS 基础...................................................................................................22
第一章 Oracle 数据库基础................................................................................................................22
§1.1 理解关系数据库系统(RDBMS)..................................................................................22
§1.1.1 关系模型..................................................................................................................22
§1.1.2 Codd 十二法则........................................................................................................23
§1.2 关系数据库系统(RDBMS)的组成..............................................................................23
§1.2.1 RDBMS 内核...........................................................................................................24
§1.2.2 数据字典概念..........................................................................................................24
§1.3 SQL、SQL*Plus 及 PL/SQL.............................................................................................24
§1.3.1 SQL 和 SQL*PLUS 的差别....................................................................................24
§1.3.2 PL/SQL 语言...........................................................................................................26
§1.4 登录到 SQL*PLUS............................................................................................................26
§1.4.1 UNIX 环境...............................................................................................................27
§1.4.2 Windows NT 和 WINDOWS/2000 环境................................................................29
§1.5 常用 SQL*PLUS 附加命令简介.......................................................................................31
§1.5.1 登录到 SQL*PLUS.................................................................................................31
§1.5.2 EXIT 和 QUIT.........................................................................................................32
§1.5.3 DESCRIBE(显示表、视图结构)...........................................................................32
§1.5.4 LIST(列出)命令......................................................................................................33
§1.5.5 Change(替换字符串)命令......................................................................................33
§1.5.6 Append(追加字符串)命令.................................................................................34
§1.5.7 Save 保存当前缓冲区命令到文件.........................................................................35
§1.5.8 GET 将命令文件读到缓冲区.................................................................................35
§1.5.9 SPOOL 将信息记录到文件中................................................................................35
§1.5.10 再运行当前缓冲区的命令...................................................................................36
§1.6 常用数据字典简介.............................................................................................................37
§1.7 ORACLE 数据类型............................................................................................................38
§1.8 SQL 语句基础....................................................................................................................44
§1.8.1 SQL 语句所用符号.................................................................................................44
§1.8.2 简单 select 查询.......................................................................................................46
§1.9 伪列及伪表.........................................................................................................................46
§1.10 使用 SQL Worksheet 工作...............................................................................................47
第二章 查询基础................................................................................................................................51
§2.1 SELECT 语句.....................................................................................................................51
§2.2 SQL 中的单记录函数........................................................................................................51
§2.2.1 单记录字符函数.....................................................................................................52
§2.2.2 单记录数字函数.....................................................................................................57
§2.2.3 单记录日期函数.....................................................................................................63
§2.2.4 单记录转换函数.....................................................................................................66
§2.2.5 其它的单记录函数.................................................................................................70
§2.3 SQL 中的组函数................................................................................................................75
3

§2.3.1 多记录组函数..........................................................................................................75
§2.3.2 带 GROUP BY 的计算...........................................................................................76
§2.3.3 用 HAVING 来限制分组的计算............................................................................77
§2.4 控制和格式化输出.............................................................................................................78
§2.4.1 用 ORDER BY 子句来对结果进行排序...............................................................78
§2.4.2 用 BREAK 命令 来对结果进行排列....................................................................78
§2.4.3 用 COMPUTE 命令对结果进行格式化................................................................81
§2.5 配置会话环境.....................................................................................................................84
§2.5.1 ARRAYSIZE(取回的行数)...............................................................................85
§2.5.2 AUTOCOMMIT(自动提交)...................................................................................85
§2.5.3 LINESIZE(行显示宽度).........................................................................................85
§2.5.4 LONG(长类型显示字节数)....................................................................................85
§2.5.5 PAGESIZE(页行数)................................................................................................86
§2.5.6 PAUSE(暂停)...........................................................................................................86
§2.5.7 SPACE(列间空格)...................................................................................................86
§2.5.8 Termout (启/停屏幕显示).......................................................................................86
§2.5.9 ECHO (启/停命令显示)..........................................................................................87
§2.5.10 TRANSACTION (启动事务)...............................................................................87
§2.5.11 SHOW ALL(列出所有参数).................................................................................87
§2.6 格式化输出.........................................................................................................................89
§2.6.1 一般数据的格式化输出.........................................................................................89
§2.6.2 日期的格式化输出.................................................................................................91
§2.7 加标题.................................................................................................................................92
§2.8 建立简单报告.....................................................................................................................92
§2.9 输入变量.............................................................................................................................94
第三章 表及索引的定义操作...........................................................................................................97
§3.1 建立表结构.........................................................................................................................97
§3.1.1 建立表结构命令.....................................................................................................97
§3.1.2 建立表结构例子.....................................................................................................99
§3.1.3 建立临时表结构...................................................................................................100
§3.3 修改表结构.......................................................................................................................101
§3.3.1 修改表结构命令...................................................................................................102
§3.3.2 修改表结构例子...................................................................................................102
§3.3.3 删除表结构............................................................................................................104
§3.3.4 使用 CHECK 作限制约束....................................................................................105
§3.3.5 使用 UNRECOVERABLE 创建表.......................................................................105
§3.3.6 将表移动到新的数据段或新的表空间...............................................................106
§3.3.7 手工分配表的存储空间.......................................................................................107
§3.3.8 标记不使用的列和删除不使用的列...................................................................108
§3.3 主键...................................................................................................................................110
§3.3.1 创建主键................................................................................................................110
§3.3.2 改变主键................................................................................................................112
§3.3.3 删除主键................................................................................................................113
§3.4 外部键...............................................................................................................................113
4

§3.4.1 建立外部键............................................................................................................114
§3.4.2 修改外部键............................................................................................................116
§3.4.3 删除外部键............................................................................................................116
§3.5 索引...................................................................................................................................116
§3.5.1 建立索引................................................................................................................116
§3.5.2 修改索引................................................................................................................118
§3.5.3 删除索引................................................................................................................119
§3.6 新索引类型.......................................................................................................................119
§3.6.1 基于函数的索引....................................................................................................119
§3.6.2 反向键索引............................................................................................................121
§3.6.3 索引组织表............................................................................................................121
§3.7 抽象数据类型的使用......................................................................................................123
§3.8 大数据类型的使用...........................................................................................................124
§3.8.1 可用数据类型.......................................................................................................124
§3.8.2 为 LOB 数据类型指定存储..................................................................................124
§3.8.3 操作和检索 LOB 数据..........................................................................................126
§3.9 表和索引有关的数据字典..............................................................................................129
§3.9.1 表和索引数据字典...............................................................................................129
§3.9.2 数据字典查询例子...............................................................................................129
第四章 视图、同义词和序列.........................................................................................................133
§4.1 视图...................................................................................................................................133
§4.1.1 使用视图来修改表中数据...................................................................................133
§4.1.2 创建一个新视图...................................................................................................133
§4.1.3 删除一个视图.......................................................................................................135
§4.1.4 改变视图................................................................................................................136
§4.2 实体视图(MATERIALIZED VIEW)...............................................................................136
§4.2.1 创建实体视图.......................................................................................................136
§4.2.2 创建实体视图日志...............................................................................................142
§4.2.3 修改实体视图.......................................................................................................144
§4.2.4 修改实体视图日志...............................................................................................145
§4.3 序号(sequence).................................................................................................................146
§4.3.1 建立序号................................................................................................................146
§4.3.2 修改序号................................................................................................................147
§4.3.3 使用序号................................................................................................................147
§4.3.4 删除序号................................................................................................................148
§4.4 同义词...............................................................................................................................148
§4.4.1 建立同义词............................................................................................................148
§4.4.2 删除同义词............................................................................................................149
§4.5 视图、同义词和序列有关的数据字典..........................................................................150
第五章 簇与分区..............................................................................................................................151
§5.1 簇( cluster ).......................................................................................................................151
§5.1.0 簇概念....................................................................................................................151
§5.1.1 建立簇....................................................................................................................153
§5.1.2 改变簇....................................................................................................................156
5