内容简介
本书以通俗易懂的语言,丰富多彩的实例,详细介绍了使用Oracle 11g进行数据管理的各方面技术。全书共分12章,包括Oracle 11g基础介绍,SQL语言、函数,SQL单表查询、子查询与集合操作,SQL连接查询,SQL*Plus命令,PL/SQL编程,过程、函数、触发器和包,Oracle 11g的闪回技术,人力资源管理系统等。
本书为Oracle数据库应用开发人员提供了SQL使用指南和PL/SQL编程技术。通过本书读者不仅可以掌握SQL和PL/SQL的基础知识,而且还可以掌握Oracle 11g SQL和PL/SQL的许多高级特征。
本书可作为高等院校计算机相关专业或Oracle 11g培训班的教材,也可作为各类高级数据库编程人员的参考书。本书的编写既考虑了SQL和PL/SQL的初学者,同时也兼顾到了有经验的PL/SQL编程人员。
前 言
Oracle公司是世界排名前列的国际大型企业。Oracle数据库是世界领先、性能优异的大型数据库管理系统,广泛地应用在金融、通信、航空等领域。当前,虽然有多种数据库管理系统可供用户选择,但Oracle数据库以其处理的并发数据量极大,极高的可靠性、安全性和可扩展性赢得了广大高端用户的青睐。早期Oracle数据库主要应用于UNIX操作系统,影响了它的广泛应用。在Oracle公司提供了基于Windows平台的版本以后,Oracle数据库在国内外占领了更为广泛的应用市场。近些年来,随着国内中小企业对数据库可靠性、安全性要求的提高,基于Windows平台的Oracle数据库服务器获得了广泛关注。随之而来,对Oracle数据库管理和开发的人员的数量需求不断增加,素质要求不断提高。本书适用于Oracle数据库管理和开发的初学者,同时也适用于有一定基础的管理和开发人员使用。凡是想学习SQL语句或利用PL/SQL提高Oracle数据库管理和开发能力的人士,都可以从本书获得借鉴。
本书共分为12章,各章主要内容如下。
第 1 章 Oracle基础介绍:初步认识Oracle,介绍Oracle 11g数据库的安装、启动、关闭。
第2章 SQL语言、函数基本操作:介绍Oracle内置的SQL函数。
第3章 SQL单表查询:介绍SELECT语句在一个表中进行数据检索的使用方法。
第 4 章 SQL子查询与集合操作:介绍使用子查询与集合操作进行复杂数据检索的方法。
第5章 SQL连接查询:介绍从连接查询结果中筛选出其中一部分数据的方法。
第 6 章 数据控制语言(DCL)与数据定义语言:介绍数据控制语言(DCL-Data Control Language)与数据定义语言(DDL-Data Definition Language)。数据控制语言(DCL)完成授予和收回用户对数据库的使用权限。数据定义语言(DDL)完成建立、修改、删除表、视图、索引等功能。
第 7 章 数据操纵语言(DML)与事物处理:主要介绍对数据库进行数据的增、删、改的功能的数据操纵(DML)语言。
第8章 SQL*Plus基础简介:介绍SQL*Plus系列产品的使用。
第9章 PL/SQL编程基础:介绍PL/SQL程序设计。
第10章 PL/SQL记录集合应用:介绍PL/SQL复合数据类型以及使用。
第 11 章 PL/SQL高级应用:介绍PL/SQL的应用程序结构,如子程序(过程和函数)、包、触发器等。
第 12 章 人力资源管理系统:介绍系统软件开发过程、讲解设计方法,即需求分析、总体设计、功能模块划分、数据库设计以及详细设计的顺序。
总之,本书对Oracle软件的安装、SQL函数、PL/SQL程序设计以及Oracle数据库的体系结构、服务器结构、Oracle数据库文件、后台进程进行了全面的讲解。在随书附带的网络资源中,提供了本书范例程序的全部源代码。
本书由章昊、高晶、杨静、张玉环老师编写,其中章昊编写第1、3、8、9、10、11、12章,高晶编写第2、4、5章,杨静负责编写第6、7章,张玉环负责整体统稿。另外,参与书稿编写的还有陈稳、陈娟浓、李玉光、杜宏巍、黄永生、吕莎莎。
由于编者水平有限,本书难免有不足之处,恳请广大读者批评指正!
编 者
目录
第1章 Oracle基础介绍 11.1 数据库概述 21.1.1 数据库的组成 21.1.2 数据库实施 31.2 Oracle 11g基本简介 31.2.1 Oracle版本号的含义 41.2.2 Oracle 11g的新特性 41.2.3 在Windows下安装Oracle 11g的配置要求 5上机实训:在Windows环境下安装Oracle 11g 5本章小结 8习题 9第2章 SQL语言、函数基本操作 112.1 SQL简介与Oracle 11g基本数据类型 122.1.1 SQL语言的编写规则 122.1.2 Oracle 11g基本数据类型 132.2 数字函数 152.2.1 数字函数概述 152.2.2 数字函数示例 162.3 字符函数 222.3.1 字符函数概述 222.3.2 字符函数示例 232.4 日期时间函数 272.4.1 日期时间函数概述 272.4.2 日期时间函数示例 272.5 转换函数 322.5.1 转换函数概述 322.5.2 转换函数示例 33上机实训:输出字符串ASCII值和字符 36本章小结 37习题 37第3章 SQL单表查询 393.1 条件查询 403.1.1 单一条件查询 413.1.2 复合条件查询 453.2 记录排序 493.2.1 按单一列排序 503.2.2 按多列排序 523.3 分组查询 543.3.1 列函数及其应用 543.3.2 GROUP BY子句 563.3.3 HAVING子句 58上机实训:对PAY_TABLE表进行编辑操作 58本章小结 60习题 60第4章 SQL子查询与集合操作 634.1 子查询 644.1.1 单行子查询 654.1.2 多行子查询 674.1.3 多列子查询 694.1.4 相关子查询 704.1.5 嵌套子查询 724.2 集合操作 724.2.1 使用集合操作符 734.2.2 复杂集合操作 78上机实训:打印符合要求的记录 82本章小结 83习题 83第5章 SQL连接查询 855.1 内连接查询 865.1.1 简单内连接 875.1.2 复杂内连接 885.2 外连接查询 905.2.1 左外连接 915.2.2 右外连接 925.2.3 全外连接 935.3 其他特殊连接 955.3.1 交叉连接 955.3.2 自然连接 97上机实训:在生成的PROJECTS表中追加记录 99本章小结 99习题 100第6章 数据控制语言与数据定义语言 1016.1 数据控制语言 1026.1.1 数据库权限 1026.1.2 权限控制 1056.2 表 1106.2.1 建立表 1106.2.2 获得表的相关信息 1156.2.3 修改表定义 1166.2.4 修改表名 1236.2.5 删除表 1236.3 索引 1246.3.1 各种类型索引的比较和选择 1246.3.2 建立索引 1256.3.3 获得索引信息 1256.3.4 修改索引名字 1266.3.5 删除索引 1276.3.6 监视索引的空间使用 1276.3.7 查看索引信息 1276.4 视图 1286.4.1 建立视图 1296.4.2 使用视图 1306.4.3 获得视图定义信息 1336.4.4 修改视图 1356.4.5 删除视图 1356.5.6 替换视图 135上机实训:创建编辑my_emp数据表 136本章小结 137习题 137第7章 数据操纵语言与事务处理 1397.1 数据操纵语言 1407.1.1 插入数据 1407.1.2 更新数据 1417.1.3 删除数据 1437.1.4 数据库完整性 1447.1.5 含有子查询的DML语句 1467.2 数据事务处理 1487.2.1 显式处理事务 1497.2.2 隐式处理事务 1517.2.3 特殊事务 151上机实训:编写在PAY_TABLE表中插入记录的过程 152本章小结 153习题 153第8章 SQL*Plus基础简介 1558.1 SQL*Plus语言基础 1568.1.1 SQL*Plus的功能与编写规则 1568.1.2 启动SQL*Plus连接数据库 1578.2 使用SQL*Plus的编辑功能 1598.2.1 编辑命令 1598.2.2 保存命令 1628.2.3 加入注释 1638.2.4 运行命令 1658.2.5 编写交互命令 1668.2.6 使用绑定变量 1738.2.7 跟踪语句 177上机实训:打印出EMP表中各个工资级别的人数 182本章小结 182习题 183第9章 PL/SQL编程基础 1859.1 PL/SQL语言基础 1869.1.1 PL/SQL块 1869.1.2 PL/SQL基本语法要素 1899.1.3 PL/SQL的开发和运行环境 1929.1.4 运行PL/SQL程序 1949.2 在PL/SQL中执行SQL语句 1959.2.1 执行SELECT语句 1959.2.2 执行DML语句 1979.2.3 执行事务处理语句 2039.3 PL/SQL程序控制结构 2049.3.1 顺序结构 2049.3.2 分支结构 2049.3.3 循环结构 2109.3.4 GOTO语句与NULL语句 213上机实训:实现数据交换 215本章小结 215习题 216第10章 PL/SQL记录集合应用 21710.1 记录类型 21810.1.1 定义记录 21810.1.2 在SELECT语句中使用记录 22010.1.3 在DML中使用记录 22310.2 记录表类型 22710.2.1 定义记录表 22710.2.2 使用记录表 22810.3 联合数组类型 23010.3.1 定义联合数组 23110.3.2 使用联合数组 23110.4 嵌套表类型 23310.4.1 定义嵌套表 23310.4.2 使用嵌套表 23410.5 变长数组类型 23710.5.1 定义变长数组 23810.5.2 使用变长数组类型 23810.6 集合操作 24110.6.1 集合属性与方法 24210.6.2 使用集合操作符 250上机实训:在myEMP表中修改员工工资 256本章小结 257习题 257第11章 PL/SQL高级应用 25911.1 子程序 26011.1.1 过程 26011.1.2 函数 26211.2 包 26311.2.1 定义包 26411.2.2 包的管理 26811.2.3 调用包 27011.2.4 包中子程序的重载 27311.3 触发器 27711.3.1 触发器概述 27711.3.2 DML触发器 27711.3.3 INSTEAD OF触发器 28011.3.4 系统事件触发器 28111.4 PL/SQL游标 28311.4.1 游标应用基础 28311.4.2 游标FOR循环 285上机实训:创建名为change_record的触发器 287本章小结 288习题 288第12章 项目实践--人力资源管理系统 29112.1 系统设计 29212.1.1 需求分析 29212.1.2 总体设计 29212.1.3 功能模块设计 29312.2 数据库设计与实现 29412.2.1 数据库需求设计 29412.2.2 数据逻辑结构设计 29412.3 人力资源管理 29812.3.1 部门信息管理 29812.3.2 员工信息管理 31112.4 考勤管理 32512.4.1 考勤规则管理 32512.4.2 假别管理 32912.4.3 请假管理 33212.5 系统管理 33512.5.1 用户注册 33512.5.2 用户详细资料显示 33612.5.3 用户查询 33912.5.4 用户列表显示 34112.5.5 数据库操作类 341本章小结 342习题 343参考文献 344