欢迎光临
免费的PDF电子书下载网站

Oracle 11g PL/SQL编程技术与开发实用教程 PDF下载

编辑推荐

Oracle 11g PL/SQL编程技术与开发实用教程对Oracle软件的安装、SQL函数、PL/SQL程序设计以及Oracle数据库的体系结构、服务器结构、Oracle数据库文件、后台进程进行了全面的讲解。在随书附带的网络资源中,提供了本书范例程序的全部源代码。本书适用于Oracle数据库管理和开发的初学者,同时也适用于有一定基础的管理和开发人员使用。凡是想学习SQL语句或利用PL/SQL提高Oracle数据库管理和开发能力的人士,都可以从本书获得借鉴。 ;

内容简介

本书以通俗易懂的语言,丰富多彩的实例,详细介绍了使用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 11g PL/SQL编程技术与开发实用教程 PDF下载

目录


 

第1章 ; Oracle基础介绍.... 1

1.1 ; 数据库概述... 2

1.1.1 ; 数据库的组成... 2

1.1.2 ; 数据库实施... 3

1.2 ; Oracle 11g基本简介... 3

1.2.1 ; Oracle版本号的含义... 4

1.2.2 ; Oracle 11g的新特性... 4

1.2.3 ; 在Windows下安装
Oracle 11g的配置要求... 5

上机实训:在Windows环境下安装
Oracle 11g. 5

本章小结... 8

习题... 9

第2章 ; SQL语言、函数基本操作.... 11

2.1 ; SQL简介与Oracle 11g基本
数据类型... 12

2.1.1 ; SQL语言的编写规则... 12

2.1.2 ; Oracle 11g基本数据类型... 13

2.2 ; 数字函数... 15

2.2.1 ; 数字函数概述... 15

2.2.2 ; 数字函数示例... 16

2.3 ; 字符函数... 22

2.3.1 ; 字符函数概述... 22

2.3.2 ; 字符函数示例... 23

2.4 ; 日期时间函数... 27

2.4.1 ; 日期时间函数概述... 27

2.4.2 ; 日期时间函数示例... 27

2.5 ; 转换函数... 32

2.5.1 ; 转换函数概述... 32

2.5.2 ; 转换函数示例... 33

上机实训:输出字符串ASCII值和
字符... 36

本章小结... 37

习题... 37

第3章 SQL单表查询.... 39

3.1 ; 条件查询... 40

3.1.1 ; 单一条件查询... 41

3.1.2 ; 复合条件查询... 45

3.2 ; 记录排序... 49

3.2.1 ; 按单一列排序... 50

3.2.2 ; 按多列排序... 52

3.3 ; 分组查询... 54

3.3.1 ; 列函数及其应用... 54

3.3.2 ; GROUP BY子句... 56

3.3.3 ; HAVING子句... 58

上机实训:对PAY_TABLE表进行
编辑操作... 58

本章小结... 60

习题... 60

第4章 ; SQL子查询与集合操作.... 63

4.1 ; 子查询... 64

4.1.1 ; 单行子查询... 65

4.1.2 ; 多行子查询... 67

4.1.3 ; 多列子查询... 69

4.1.4 ; 相关子查询... 70

4.1.5 ; 嵌套子查询... 72

4.2 ; 集合操作... 72

4.2.1 ; 使用集合操作符... 73

4.2.2 ; 复杂集合操作... 78

上机实训:打印符合要求的记录... 82

本章小结... 83

习题... 83

第5章 ; SQL连接查询.... 85

5.1 ; 内连接查询... 86

5.1.1 ; 简单内连接... 87

5.1.2 ; 复杂内连接... 88

5.2 ; 外连接查询... 90

5.2.1 ; 左外连接... 91

5.2.2 ; 右外连接... 92

5.2.3 ; 全外连接... 93

5.3 ; 其他特殊连接... 95

5.3.1 ; 交叉连接... 95

5.3.2 ; 自然连接... 97

上机实训:在生成的PROJECTS表中
追加记录... 99

本章小结... 99

习题... 100

第6章 ; 数据控制语言与数据定义
语言.... 101

6.1 ; 数据控制语言... 102

6.1.1 ; 数据库权限... 102

6.1.2 ; 权限控制... 105

6.2 ; 表... 110

6.2.1 ; 建立表... 110

6.2.2 ; 获得表的相关信息... 115

6.2.3 ; 修改表定义... 116

6.2.4 ; 修改表名... 123

6.2.5 ; 删除表... 123

6.3 ; 索引... 124

6.3.1 ; 各种类型索引的
比较和选择... 124

6.3.2 ; 建立索引... 125

6.3.3 ; 获得索引信息... 125

6.3.4 ; 修改索引名字... 126

6.3.5 ; 删除索引... 127

6.3.6 ; 监视索引的空间使用... 127

6.3.7 ; 查看索引信息... 127

6.4 ; 视图... 128

6.4.1 ; 建立视图... 129

6.4.2  ;使用视图... 130

6.4.3 ; 获得视图定义信息... 133

6.4.4 ; 修改视图... 135

6.4.5 ; 删除视图... 135

6.5.6 ; 替换视图... 135

上机实训:创建编辑my_emp数据表... 136

本章小结... 137

习题... 137

第7章 ; 数据操纵语言与事务处理.... 139

7.1 ; 数据操纵语言... 140

7.1.1 ; 插入数据... 140

7.1.2 ; 更新数据... 141

7.1.3 ; 删除数据... 143

7.1.4 ; 数据库完整性... 144

7.1.5 ; 含有子查询的DML语句... 146

7.2 ; 数据事务处理... 148

7.2.1 ; 显式处理事务... 149

7.2.2 ; 隐式处理事务... 151

7.2.3 ; 特殊事务... 151

上机实训:编写在PAY_TABLE表中
插入记录的过程... 152

本章小结... 153

习题... 153

第8章 ; SQL*Plus基础简介.... 155

8.1 ; SQL*Plus语言基础... 156

8.1.1 ; SQL*Plus的功能与
编写规则... 156

8.1.2 ; 启动SQL*Plus连接
数据库... 157

8.2 ; 使用SQL*Plus的编辑功能... 159

8.2.1 ; 编辑命令... 159

8.2.2 ; 保存命令... 162

8.2.3 ; 加入注释... 163

8.2.4  运行命令... 165

8.2.5  编写交互命令... 166

8.2.6  使用绑定变量... 173

8.2.7  跟踪语句... 177

上机实训:打印出EMP表中各个
工资级别的人数... 182

本章小结... 182

习题... 183

第9章  PL/SQL编程基础.... 185

9.1  PL/SQL语言基础... 186

9.1.1  PL/SQL块... 186

9.1.2  PL/SQL基本语法要素... 189

9.1.3  PL/SQL的开发和
运行环境... 192

9.1.4  运行PL/SQL程序... 194

9.2  在PL/SQL中执行SQL语句... 195

9.2.1  执行SELECT语句... 195

9.2.2  执行DML语句... 197

9.2.3  执行事务处理语句... 203

9.3  PL/SQL程序控制结构... 204

9.3.1  顺序结构... 204

9.3.2  分支结构... 204

9.3.3  循环结构... 210

9.3.4  GOTO语句与NULL语句... 213

上机实训:实现数据交换... 215

本章小结... 215

习题... 216

第10章  PL/SQL记录集合应用.... 217

10.1  记录类型... 218

10.1.1  定义记录... 218

10.1.2  在SELECT语句中
使用记录... 220

10.1.3  在DML中使用记录... 223

10.2  记录表类型... 227

10.2.1  定义记录表... 227

10.2.2  使用记录表... 228

10.3  联合数组类型... 230

10.3.1  定义联合数组... 231

10.3.2  使用联合数组... 231

10.4  嵌套表类型... 233

10.4.1  定义嵌套表... 233

10.4.2  使用嵌套表... 234

10.5  变长数组类型... 237

10.5.1  定义变长数组... 238

10.5.2  使用变长数组类型... 238

10.6  集合操作... 241

10.6.1  集合属性与方法... 242

10.6.2  使用集合操作符... 250

上机实训:在myEMP表中修改
员工工资... 256

本章小结... 257

习题... 257

第11章  PL/SQL高级应用.... 259

11.1  子程序... 260

11.1.1  过程... 260

11.1.2  函数... 262

11.2  包... 263

11.2.1  定义包... 264

11.2.2  包的管理... 268

11.2.3  调用包... 270

11.2.4  包中子程序的重载... 273

11.3  触发器... 277

11.3.1  触发器概述... 277

11.3.2  DML触发器... 277

11.3.3  INSTEAD OF触发器... 280

11.3.4  系统事件触发器... 281

11.4  PL/SQL游标... 283

11.4.1  游标应用基础... 283

11.4.2  游标FOR循环... 285

上机实训:创建名为change_record的
触发器... 287

本章小结... 288

习题... 288

第12章  项目实践——人力资源
管理系统.... 291

12.1  系统设计... 292

12.1.1  需求分析... 292

12.1.2  总体设计... 292

12.1.3  功能模块设计... 293

12.2  数据库设计与实现... 294

12.2.1  数据库需求设计... 294

12.2.2  数据逻辑结构设计... 294

12.3  人力资源管理... 298

12.3.1  部门信息管理... 298

12.3.2  员工信息管理... 311

12.4  考勤管理... 325

12.4.1  考勤规则管理... 325

12.4.2  假别管理... 329

12.4.3  请假管理... 332

12.5  系统管理... 335

12.5.1  用户注册... 335

12.5.2  用户详细资料显示... 336

12.5.3  用户查询... 339

12.5.4  用户列表显示... 341

12.5.5  数据库操作类... 341

本章小结... 342

习题... 343

参考文献.... 344


前沿

前    言

 

  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 DefinitionLanguage)。数据控制语言(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章,张玉环负责整体统稿。另外,参与书稿编写的还有陈稳、陈娟浓、李玉光、杜宏巍、黄永生、吕莎莎。

  由于编者水平有限,本书难免有不足之处,恳请广大读者批评指正!

 

 

 

                             编  者  

免费在线读

第2章  SQL语言、函数基本操作

 

本章要点

(1)掌握Oracle数字函数的使用方法。

(2)掌握Oracle字符函数的使用方法。

(3)掌握Oracle日期时间函数的使用方法。

(4)掌握Oracle转换函数的使用方法。

学习目标

(1)认识SQL。

(2)学习Oracle常用的数字函数及其功能。

(3)学习Oracle常用的字符函数及其功能。

(4)学习Oracle常用的日期时间函数及其功能。

(5)学习Oracle常用的转换函数及其功能。

2.1 SQL简介与Oracle 11g基本数据类型

SQL是Structured QueryLanguage的英文缩写,即结构化查询语言,它是关系数据库语言,用于建立、存储、修改、检索和管理关系数据库(包括Oracle)中的数据。SQL是所有程序和用户用于存取关系数据库(包括Oracle)中数据的命令集。

SQL语言有6个特点:非过程化程度高、用户性能好、语言功能强、提供视图数据结构、两种使用方式、提供数据控制功能。

SQL语言由下面5个子语言组成。

数据定义语言(Data Definition Language,DDL)。

数据查询语句(Query Statements,SELECT)。

数据操纵语言(Data Manipulation Language,DML)。

事务控制语句(Transaction Control statements,TC)。

数据控制语言(Data Control Language,DCL)。

2.1.1 SQL语言的编写规则

(1)    SQL关键字不区分大小写,既可以使用大写格式,也可以使用小写格式,或者混用大小写格式。例如,以下两个SQL语句是没有区别的。

 

SQL> SELECT ename ,sal ,job ,deptno FROMemp;

SQL> select  ename ,sal ,job ,deptno from emp;

 

(2)    对象名和列名不区分大小写,它们既可以使用大写格式,也可以使用小写格式,或者混用大小写格式。例如,以下两个SQL语句也没有区别。

 

SQL> SELECT ename ,sal ,job ,deptno FROMemp;

SQL> select ENAME ,SAL ,job ,deptnofrom  EMP;

 

(3)    字符值和日期值区分大小写。当在SQL语句中引用字符值和日期值时,必须要给出正确的大小写数据,否则不能得到正确的查询结果。例如,以下两个SQL语句的执行结果是不一样的,因为其WHERE子句中的条件不一致。读者可以运行这两个语句以进行验证。

 

SQL> SELECT ename ,sal ,job ,deptno FROMemp where ename=SCOTT;

SQL> SELECT ename ,sal ,job ,deptno FROMemp where ename=scott;

 

(4)    在应用程序中编写SQL语句时,如果SQL语句的文本很短,可以将语句文本放在一行上;如果SQL语句的文本很长,可以将语句文本分步写到多行上,并且可以通过使用跳格和缩进方式提高可读性。另外,在SQL*Plus中SQL语句要以分号结束。示例如下。

?    单行语句文本:

 

Select ename,sal FROM emp;

 

?    多行语句文本:

 

SELECT a.dname ,b.ename, b.sal ,b.comm,b.job

FROM dept a RIGHT JOIN  emp b

ON a.deptno=b.deptno AND a.deptno=10;

2.1.2 Oracle 11g基本数据类型

所有实例所使用的数据库(jiaoxue)中主要有学生(students)、教师(teachers)、系部(departments)、课程(courses)、学生成绩(students_grade)、成绩等级(grades)等表。

建立表包括定义表的结构和添加数据记录。在定义数据表时,必须为它的每一列指定一种内部数据类型。数据类型限定了数据表每一列的取值范围。

数据类型是数据的基本属性,反映了数据的类别。Oracle 11g主要有3种数据类型:基本(Oracle 数据库内部)数据类型、集合类型和引用类型。基本数据类型在建立数据表时经常使用。集合数据类型主要用于表示像数组那样的多个元素,包括索引表、嵌套表、VARRAY数组等。引用数据类型以引用的方式定义了和其他对象的关系,存储的是指向不同对象数据表的数据的指针。下面简述Oracle 11g常用的数据类型。

1. 字符数据类型

这种数据类型用于存储数据库字符集中的字符数据。字符数据以串格式存储。Oracle支持单字节和双字节两种字符集,可使用的数据类型,如表2-1所示。

表2-1  Oracle 11g基本数据类型

数据类型        含    义

CHAR       定长的字符型数据,最大长度可达2KB

VARCHAR2       变长的字符型数据,最大长度可达4000B

LONG       存储最大长度为2GB的变长字符数据

NUMBER 存储整型或浮点型数值

FLOAT      存储浮点数

DATE        存储日期数据

RAW         存储非结构化数据的变长字符数据,最长为2KB

LONG RAW      存储非结构化数据的变长字符数据,最长为2GB

ROWID    存储表中列的物理地址的二进制数据,占用固定的10B

BLOB        存储多达4GB的非结构化的二进制数据

CLOB        存储多达4GB的非结构化的字符数据

BFILE        把非结构化的二进制数据作为文件存储在数据库之外

UROWID 存储表示任何类型列地址的二进制数据

 

  知识要点

①    CHAR数据类型。指定定长字符串。必须指定字符串的长度,其默认长度为1B,其最大长度为255B。

②    VARCHAR2数据类型。指定变长字符串。必须为其指定最大字节数,其最大长度为4000B。

③    LONG数据类型。LONG数据类型存储变长字符串,其最大长度为2GB。LONG数据类型具有VARCHAR2数据类型的许多特征,利用它可存储较长的文本串。一个表中最多只能有一个LONG列,LONG列不能索引,不能出现在完整性约束中。

2. 数字数据类型

(1)    NUMBER数据类型。NUMBER数据类型用于存储零、正负定点数或浮点数,其最大精度为38位。定点数据类型的语法为:NUMBER(P, S)。其中:

?    P——代表总的数字数。精度范围为1~38。

?    S——代表小数点右边的数字位。精度范围为-84~127。

Oracle允许指定浮点数,一个浮点数可以有一个小数点。Oracle支持ANSI的FLOAT数据类型。

(2)    FLOAT数据类型。有两种格式:

?    FLOAT——指定一浮点数,十进制精度为38,二进制精度为126。

?    FLOAT(B)——指定一浮点数,二进制精度为B,精度B的范围为1~126。

3. DATE数据类型

DATE数据类型用于存储日期和时间信息。每一个DATE值可存储下列信息:世纪、年、月、日、时、分、秒。如果要指定日期值,必须用函数TO_DATE()将字符型的值或数字型的值转换成一个日期型的值。日期型数据的默认格式是DD-MON-YY。如果日期型值中不带时间成分,则默认时间为12:00:00 am。

4. RAW及LONG RAW数据类型

RAW及LONG RAW数据类型表示面向字节数据(如二进制数据或字节串),可存储字符串、浮点数、二进制数据(如图像、数字化的声音)等。Oracle返回的RAW值为十六进制字符值。RAW数据仅能执行存储和检索,不能执行串操作。

5. ROWID数据类型

ROWID 数据类型是Oracle数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。数据库中的每一行(ROW)有一个地址,通过查询伪列ROWID值获得行地址。该伪列的值为十六进制字符串,该串的数据类型为ROWID类型。

6. LOB数据类型

LOB(Large Object)数据类型存储非结构化数据,比如二进制文件、图形文件,或其他外部文件。LOB 可以存储到4GB字节大小。数据可以存储到数据库中,也可以存储到外部数据文件中。LOB数据的控制通过DBMS_LOB 包实现。LOB数据类型有以下几种:

?    BLOB——二进制数据,可以存储到不同的表空间中。

?    CLOB——字符型数据,可以存储到不同的表空间中。

?    BFILE——二进制文件,存储在服务器上的外部文件中。

7. UROWID数据类型

存储数据库记录行的地址UROWID(Universal ROWID),表示一行数据的逻辑地址。一般情况下,索引组织表(IOT)和远程数据库(可以是非Oracle数据库)中的表需要用到UROWID。

Oracle 11g PL/SQL编程技术与开发实用教程 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Oracle 11g PL/SQL编程技术与开发实用教程