基于oracle的面向对象技术简介
首先,概述
物体在超过Oracle8i版本的新功能。对象实际上是一组数据和操作,对象的抽象是类,在面向对象技术中,对象涉及以下重要特性:
封装
通过对数据和操作的封装,将用户的数据和操作公开为接口,将其他数据和操作隐藏在对象内部,方便用户使用和维护。
继承
对象继承,增强了程序的可扩展性,适合大型项目的开发。
多态性
相同的操作在运行时有不同的对象引用,其执行结果也不同,这种特性称为多态性。
由于面向对象的诸多优点,Oracle自8版本以来就加入了对该特性的支持。接下来的重点是oracle中的面向对象编程。
二、oracle中的面向对象编程
既然这个对象有这么多的优点,那么如何在Oracle数据库中引用它呢Oracle中的对象定义分为两个步骤:
首先,对象类型的定义,对象的类型是完全一样的定义包的类型,将其分为对象类型头(或对象的规格,规格)和对象类型的身体(身体),对象类型头包含的对象类型的属性和方法声明,而对象类型的身体包含的对象类型的具体实施。
例如,定义一个empobj对象类型,代码如下:
特别重要的是要注意,如果对象没有成员函数部分,那么对象类型只能由对象类型头部定义。
将对象实例的定义。当对象类型的定义,实例可以直接定义,如定义一个empobj实例对象。代码如下:
在这两个步骤之后,您可以引用带有引用符号的对象实例的属性和方法,例如
此外,在初始化没有成员函数的对象时,可以直接以构造函数的形式初始化对象。值得注意的是,不需要显式定义构造函数时。例如,上述v_empobj1初始化对象(假设没有成员函数可以初始化操作),代码如下:
由于oracle数据库是一种关系型数据库,数据以二维的形式存储,但对象是一个实体来封装数据和操作,信息的存储往往是多维信息,那么存储对象在oracle数据库中是怎样的呢(在这里添加一个消息,声明的对象是一个临时的对象,当系统超出操作区域后系统会自动恢复分配的资源,但是如果我们需要保存对象的信息,我们必须将它存储在数据库中。
事实上,Oracle数据库中对象的存储形式分为两种类型:
1。对象列。可以定义数据表中的列作为一个对象类型的数据类型,这样的对象可以存储在数据列。例如,一个表的表定义,其中EMP柱可以用来存储对象。
2。对象行。可以创建一个对象表,其中每个列代表对象中的一个属性,这样行记录就是一个对象:
所以一个EMP表的记录是一个empobj对象,和插入表的操作可以:
注意,表中的列类型应该与对象的属性类型一一对应,这个存储将忽略对象的成员函数的信息。
{分页}
三。对象操作与比较
DML语句可以用来操纵对象。操作的语法是完全一样的,通用的数据类型,例如,在table1表,对象empobj记录(10002,迈克,3000)返回。
如果我们需要比较对象的大小,很难用一般的方法来处理它们。毕竟,对象包含一组属性,不能合并和比较,可以通过向对象添加映射和顺序来解决这个问题。前者是通过对象的方式比较对象的属性的大小与对象的职责,后者是通过比较两个对象之间的职责来获得对象的大小:
在定义了地图功能,对empobj对象的大小的比较转化为每个对象的emp_id属性大小的比较。在实际操作中,应根据实际情况返回有关数据,进行目标尺寸比较操作。
四、总结
通过以上内容,我们应该对oracle数据库的面向对象特性有一个初步的了解,充分利用oracle的特点,将面向对象的可重用性、可扩展性引入到数据库中,提高数据库的运行性能。