专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle面向对象:基于Oracle的面向对象技术入门基础简析开发者网络Oracle »正文

oracle面向对象:基于Oracle的面向对象技术入门基础简析开发者网络Oracle

来源: 发布时间:星期二, 2008年12月23日 浏览:2次 评论:0
正在看ORACLE教程是:基于Oracle面向对象技术入门基础简析开发者网络Oracle、概述
  对象是Oracle8i以上版本中个新特性对象实际是对组数据和操作封装对象抽象就是类在面向对象技术中对象涉及到以下几个重要特性:
   封装性
  通过对数据和操作封装将用户关心数据和操作暴露出来作为接口其他数据和操作则隐藏到对象内部这样便于用户使用和维护
   继承性
  对象具有继承性通过这特性可以增强可扩展性适合大型项目开发
   多态性
  同操作在运行时刻有区别对象来引用则其执行结果是不特性称的为多态性
  正是面向对象诸多优势Oracle公司在8.0版本以后就加入了对这特性全面支持下来部分重点讲述在Oracle中面向对象设计
   2、Oracle中面向对象设计
  既然对象具有这么多优点那么在Oracle数据库如何引用它呢?Oracle中对象定义分两步进行:
  首先定义对象类型定义对象类型跟定义包类型完全即分为对象类型头(或称为对象规范标准specication)和对象类型体(body)对象类型头包括了对象类型属性和思路方法声明而对象类型体则包含了对象类型具体实现
  例如定义个empObj对象类型代码如下:

  特别需要注意如果对象没有成员部分那么此对象类型定义只有对象类型头部分
  然后定义对象例子定义了对象类型后就可以直接定义它例子了比如定义个empObj例子对象代码如下:

  经过这两步的后就可以引用对象例子属性和思路方法了引用符号为“.”比如

  另外化无成员对象时可以直接以构造形式进行注意这个时候不需显式定义构造比如化上面v_empObj1对象(假设无成员情况下才能进行这种化操作), 代码如下:

  由于Oracle数据库是关系型数据库其存储数据是以 2维表形式进行而对象是对数据和操作进行封装个实体其存储信息往往是多维信息那么对象在Oracle数据库中存储是如何进行呢?(这里补充PL/SQL块中声明对象是临时对象在超出其作用区域后系统将自动收回其分配资源但是如果需要保存对象信息就必须将其存储在数据库中)
  事实上对象在Oracle数据库中存储形式分为两种:
  1. 对象列即可以将数据表中数据类型定义为个对象类型这样对象就可以存储在数据列中了比如定义个表table1其中emp列可以用来存储对象

  2. 对象行即可以创建个对象表其中每列就表示对象中个属性这样条行记录就是个对象了比如定义个emp表如下:

  这样emp表个记录就是个empObj对象插入个表操作就可以为:

  注意这里表中列类型和对象属性类型应该对应另外这样存储将忽略对象成员信息




[NextPage]

  3、对象操作和比较
  可以采用DML语句对对象进行操作其操作语法跟数据类型完全比如在table1表中返回对象为empObj(10002,'mike',3000)记录:

  如果需要进行对象大小比较那么用思路方法就很难处理毕竟对象含有组属性无法进行组合比较可以采用向对象加入map思路方法和order思路方法来解决此问题前者是通过将对象某属性返回代表对象值班来比较大小后者是通过比较两个对象的间某个属性值班来获取对象大小由于两者相似性这里以用途更广map成员为为例示范如下:

  这样定义了map对empObj对象大小比较实质转化为对各个对象emp_id属性大小比较在实际操作中应该根据实际情况来返回关心数据以进行对象大小比较操作
   4、小结
  通过前面内容介绍大家应该对Oracle数据库面向对象特性有个初步认识充分利用Oracle特性可以将面向对象重用性可扩展性等优点引入到数据库中提高了数据库运行性能







相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: