数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
嗨 甲骨文【5】

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

对象类型

 

看此章节之前,我对JDO有一点了解,能联想起JDO是因为它将数据以对象来操作,不知这一章将带给我什么。听说原来Oracle还是蛮支持JDO的,只是后来以Hibernate为首的Mapping模式更加流行,JDO却不尽如人意,才使之对JDO有所冷淡…不管怎样,面对复杂的商业逻辑,关系型数据库在现今是非变不可的,只是变向哪里去的问题。

 

对象组件包括属性和方法

属性Attribute的翻译。通常在高级语言里,属性通常是Property的翻译,而Attribute被译为特征。在Oracle里,Attributejava里的Property是对应的。即拥有描述对象所具有的属性。

 

方法Method)用于实现对象所执行的操作。

构造方法在9i后,允许重载了.

MEMBER方法就是高级语言里的实例方法,

MEMBER PROCEDURE fangfa1 ()

MEMBER FUNCTION fangfa2() RETURN simple_type

使用:

DECLARE

a_shili a_lei;

BEGIN

a_shili.fangfa1()

STATIC方法就是类方法,全局方法。

A_lei.staticfangfa();

MAP方法用于将对象实例映射为标量数值

ORDER方法用于比较两个对象实例的大小

MAPORDER不能同时使用。

 

对象类型

包括 对象类型规范(Object Type Specification)对象类型体(Object Type Body)

就是定义和实现部分。对于熟悉delphi的人,也许会认为这样的方式才显得很得体。

建立对象类型规范的语法:

CREATE OR REPLACE TYPE type_name AS OBJECT(

       Attribute1 datatype,[,attribute2 datatype,…],

       [MEMBER|STATIC method1 spec,

MEMBER|STATIC method2 spec,…]);

建立对象类型体的语法:

CREATE OR REPLACE TYPE BODY type_name AS

       MEMBER|STATIC method1 body;

       MEMBER|STATIC method2 body;

…]);

建立对象类型时,至少定义一个属性,可以不定义方法(这是不需要建立对象类型体)。

 

对象表

就象高级语言里的对象/实例,是对类的实现。

分为行对象和列对象

行对象是直接给予对象类型所建立的表

CREATE TABLE table_name OF type_name

列对象是包含多个列的对象表

CREATE TBALE table_name{

       Mynum number(6),

       Mytype type_name,

       Mychar varchar2(10)

);

 

REF数据类型

通过REF应用行对象,何以是不同的表共享相同的对象,从而降低了内存的占用。

 




相关文章

相关软件