不管你做什么开发,多多少少都会用到数据库进行数据的存储,只是每个人根据自己的定位和工作中需要掌握的内容不一样而已。因此对于Oracle数据库的学习需要因人而异进行相关知识点的学习。我推荐别人进行数据库学习时,要把知识点进行模块化学习。我把Oracle教程分为五大模块:
该部分学习主要是针对了解和使用Oracle,算是Oracle的入门级学习。主要学习Oracle的基础理论,以此为基础学会使用Oracle。主要内容有:
1.1、Oracle介绍:介绍了Oracle数据库应用场景和发展历史,Oracle的平台支持,Oracle的技术特点,orale的相关体系结构。
1.2、Oracle安装:详细介绍Oracle11g安装过程,教你一步一步搭建Oracle数据库。
1.3、Oracle客户端工具:介绍Oracle客户端工具(sqlplus)如何使用和plsql developer工具应用和下载。
1.4、Oracle服务:介绍Oracle11g安装完毕后各个服务的详细作用。
1.5、Oracle用户:介绍Oracle用户的创建和用户权限、数据库角色的概念以及授权语句的编写。
1.6、Oracle表介绍:介绍Oracle表的创建、查询、插入、更新、删除操作。
1.7、Oracle运算符介绍:介绍Oracle运算符的运用,其中算术运算、关系和逻辑运算符的实际应用。
1.8、Oracle系统关键字:如Oracle字符串连接符||、DISTINCT去重符、Oracle条件查询中的=、in、like、between...and等。
1.9、Oracle集合运算:Oracle集合运算就是把多个查询结果组合成一个查询结果,oralce的集合运算包括:INTERSECT(交集)、UINION ALL(交集不重复)、UINION(交集)、MINUS(补集)。
1.10、Oracle连接查询:oralce连接查询是用来进行表间关联的,包含内关联(inner jion )和外关联(outer join),其中外关联又分为左外关联(left outer join)、右外关联(right outer join)和全外连接(full join),其中外关联可以使用(+)来表示。
1.11、Oracle伪列:rowid、rownum。它们是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。伪列只能查询,不能增删改。
1.12、Oracle内置函数:Oracle内置函数包括Oracle字符型函数、Oracle日期函数、Oracle数值型函数、Oracle转换函数、Oracle聚合函数的介绍。
1.13、Oracle子查询:Oracle子查询就是嵌套查询,他把select 查询的结果作为另外一个select、update或delete语句的条件,它的本质就是where条件查询中的一个条件表达式。
1.14、Oracle同义词:Oracle synonym 同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。
1.15、Oracle序列:Oracle序列Sequence是用来生成连续的整数数据的对象,它经常用来作为业务中无规则的主键。Oracle序列可以是升序列也可以是降序列。
1.16、Oracle视图:oracle视图可以理解为数据库中一张虚拟的表,他是通过一张或者多张基表进行关联查询后的结果组成一个虚拟的表。查询视图,本质上是对表进行关联查询。
1.17、Oracle索引:Oracle索引(index)最大的作用是来优化数据库查询的效率,提升数据库的查询性能。就好比书的目录一样,可以通过目录来直接定位所需内容存在的页数,大大提高检索效率。
这个部分的学习是Oracle开发的进阶部分,在数据库上一直使用单一的 SQL 语句进行数据操作,没有流程控制,是无法开发复杂的应用,因此本篇幅我们要学习PL/SQL语言。
Oracle PL/SQL 语言(Procedural Language/SQL)是结合了结构化查询与 Oracle 自身过程控制为一体的强大语言, PL/SQL 不但支持更多的数据类型,拥有自身的变量声明、赋值语句,而且还有条件、循环等流程控制语句。过程控制结构与 SQL 数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包等。
PL/SQL语言的应用基本贯彻了Oracle学习和开发的全过程,它是作为一个Oracle开发程序员必备的知识。只有认真掌握、理解和应用才能算真正入门。因此,本篇幅我们会认真讲解Oracle PL/SQL教程,希望对大家有所帮助。主要内容有:
2.1、PL/SQL简介:它是Oracle公司在标准SQL语言的基础上进行扩展,可以在数据库上进行设计编程的一种过程化的语言,类似程序语言JAVA一样可以实现逻辑判断、条件循环、异常处理等细节操作,可以处理复杂性问题。
2.2、PL/SQL块:PL/SQL块是PL/SQL程序的最基本的单位,它由声明部分、执行部分和异常处理三部分组成。其中声明部分由declare开始,执行部分由begin开始,异常处理部分由exception开始。
2.3、PL/SQL数据类型:PL/SQL数据类型不但支持Oracle SQL中的数据类型,还有自身自带的数据类型。其中,包括标量数据类型,引用数据类型。
2.4、PL/SQL控制结构:PL/SQL是既然是过程语言,那么就有PL/SQL的逻辑控制结构,拥有PL/SQL顺序结构、PL/SQL条件结构、PL/SQL循环结构。
2.5、PL/SQL动态执行DDL语句:PL/SQL程序中可以执行DML语句和事物控制等语句,但是直接DDL是不可以的,但是可以通过动态SQL语句执行,间接到达执行DDL操作的目的。
2.6、PL/SQL异常处理:PL/SQL异常处理是PL/SQL块中对执行部分出现异常进行处理的部分。PL/SQL异常可以分为预定义异常、非预定义异常、自定义异常三种。
2.7、Oracle创建函数:Oracle创建函数是通过PL/SQL自定义编写的,通过关键字function按照自己的需求把复杂的业务逻辑封装进PL/SQL函数中,函数提供一个返回值,返回给使用者。这样使用者就不需要去理解业务逻辑,把PL/SQL函数中的业务逻辑交给专门的开发人员进行编写。
2.8、Oracle存储过程:Oracle存储过程在实际数据库开发过程当中会经常使用到,作为一个数据库开发者必备的技能,它有着SQL语句不可替代的作用。所谓存储过程,就是一段存储在数据库中执行某块业务功能的程序模块。它是由一段或者多段的PL/SQL代码块或者SQL语句组成的一系列代码块。
2.9、Oracle游标:Oracle游标是通过关键字CURSOR的来定义一组Oracle查询出来的数据集,类似数组一样,把查询的数据集存储在内存当中,然后通过游标指向其中一条记录,通过循环游标达到循环数据集的目的。
2.10、Oracle触发器:Oracle触发器是开发者对Oracle数据库的对象做特定的操作时,触发的一段PL/SQL程序代码,叫做触发器。触发的事件包括对表的DML操作,用户的DDL操作以及数据库事件等,通过关键字trigger进行创建的。
2.11、Oracle DML类型触发器:Oracle DML类型触发器是Oracle开发过程当中最经常用到,也是最常见的触发器,主要是对DML操作,如:insert、delete、update操作事件进行触发。
2.12、Oracle DDL类型触发器:Oracle DDL类型触发器主要是对于Oracle数据库的DDL操作触发的触发器,主要包括create、drop、alter等DDL事件,经常利用DDL类型触发器记录DDL操作记录或者限定对某个对象进行DDL操作。
2.13、Oracle事物:oracle事物主要用于保持oracle数据库的数据一致性,oracle事物可以看成一个SQL块的整体,只要某一个SQL语句错误,那么事物中的SQL被看做一个整体,一起回滚,要么就是一起成功全部提交。
2.14、Oracle锁:Oracle锁是用于数据共享的情景当中,它是一种Oracle的访问机制,在访问同一个资源时,防止不同事物操作同一个数据时,出现数据问题。常用的有Oracle排它锁、Oracle共享锁、Oracle行级锁、Oracle表级锁。
对于Oracle数据库有了一定的了解,已经基本满足Oracle的日常开发工作。但是在实际当中我们一般需要一个懂得管理Oracle数据库的管理者(DBA)。因此,作为DBA开发者,需要的不仅仅是Oracle的日常开发技能,还需要懂得Oracle数据库是如何运行、存储的,懂得管理Oracle数据库,了解它的体系结构。因此,本篇章主要通过学习Oracle的体系结构,进而对Oracle数据库进行管理。
Oracle数据库的备份和恢复是每个数据库管理员必须要掌握的技能,备份是保存数据库的副本,恢复是把备份好的副本还原到数据库当中,本篇幅将学习如何进行数据库的备份和恢复。
主要的知识点如下:
4.1、介绍Oracle数据库备份与恢复:Oracle备份与恢复是数据库必备的功能,同时也是DBA必备技能。备份通常分为物理备份和逻辑备份之分,恢复又分为完全恢复和部分恢复之分。
4.2、物理备份和恢复数据库:介绍Oracle物理备份和恢复数据库,其中物理冷备份和热备份是如何进行的,又有何区别以及如何开启归档模式。
4.3、Oracle逻辑备份就是使用EXP/EXPDP工具对数据进行备份成DMP文件,Oracle逻辑恢复就是使用IMP/IMPDP工具把DMP文件中的数据导入到数据库进行恢复。主要内容包括:
(1)、Oracle EXP导出:介绍使用EXP工具导出数据库对象,分别介绍是如何导出用户数据,表数据、表空间和其它数据库对象。
(2)、Oracle EXPDP导出:介绍数据泵技术EXPDP是如何导出数据库对象的。
(3)、Oracle imp导入:介绍使用IMP工具导入DMP文件进行数据恢复。
(4)、Oracle IMPDP导入:介绍使用IMPDP工具导入数据泵导出的数据文件,进行数据恢复。
4.4、Oracle RMAN备份和恢复:Oracle RMAN是Oracle数据库提供的一种恢复和备份的数据库工具。学习的主要内容有:
(1)、Oracle RMAN介绍:介绍oracle RMAN的特点和相关数据库备份与恢复的知识概念。
(2)、RMAN恢复目录:RMAN恢复目录是使用RMAN工具进行数据库备份时要存储备份信息的数据库。
(3)、RMAN通道分配:通道分配就是确定连接数据库备份的设置个数,了解RMAN是如何利用通道分配进行数据库备份的。
(4)、RMAN备份集:备份集是用来存储备份信息,可以选择使用备份集来进行数据备份。一个备份集可以存储一个或者多个数据文件。
(5)、RMAN还原和恢复。
Oracle RAC部分内容对于普通的开发者可能都不怎么需要接触,这个是DBA需要了解和学习的内容,是它们工作当中搭建Oracle数据库集群的必备技能,作为开发者只需要了解一下当中的原理即可。