• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 嗨 甲骨文【5】

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    對象類型 看此章節之前,我對JDO有一點了解,能聯想起JDO是因為它將數據以對象來操作,不知這一章將帶給我什么。聽說原來 Oracle 還是蠻支持JDO的,只是后來以Hibernate為首的Mapping模式更加流行,JDO卻不盡如人意,才使之對JDO有所冷淡不管怎樣,面對復雜

    對象類型

     

    看此章節之前,我對JDO有一點了解,能聯想起JDO是因為它將數據以對象來操作,不知這一章將帶給我什么。聽說原來Oracle還是蠻支持JDO的,只是后來以Hibernate為首的Mapping模式更加流行,JDO卻不盡如人意,才使之對JDO有所冷淡…不管怎樣,面對復雜的商業邏輯,關系型數據庫在現今是非變不可的,只是變向哪里去的問題。

     

    對象組件包括屬性和方法

    屬性是Attribute的翻譯。通常在高級語言里,屬性通常是Property的翻譯,而Attribute被譯為特征。在Oracle里,Attribute和java里的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方法用于比較兩個對象實例的大小

    MAP和ORDER不能同時使用。

     

    對象類型

    包括 對象類型規范(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應用行對象,何以是不同的表共享相同的對象,從而降低了內存的占用。

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>