為了方便廣大考生更好的復習,幫考網綜合整理提供了Oracle認證之Oracle中構造包含數組的表,以供各位考生考試復習參考,希望對考生復習有所幫助。
Oracle中構造包含數組的表
面向對象數據庫中存儲的是對象,對象有自己的行為和屬性;
行為體現為類型的函數或者過程;屬性體現為字段;
對象表確實有優勢嗎?
基於抽象類型創建關系表:和其他表的創建一樣;
基於抽象類型創建對象表:create table 對象表名 of 抽象數據類型;
抽象類型可以復用:也就是說一個抽象類型中可以包含另一個抽象類型做為一個字段;
構造函數是默認創造的,參數包括類型的字段;
如果要插入數據到對象表,有兩種方式:
一種就是insert into tablename values(字段1,字段2,。..。);
另一種就是我們如果想直接用構造函數構造一個大字段直接插入,
這時候不需要values,但必須用slect:
insert into tablename select 構造函數(字段1,字段。..) from xxx;
創建帶方法的類型:
首先說方法的定義:如果有返回值,用member function.。.
沒有返回值,member procedure.。.
****以後再說;
可變數組
聲明一下Oralce的oop中使用下列的對象類型:
·抽象數據類型;
·可變數組;
·嵌套表;
·對象表;
·對象視圖;
可變數組會根據存儲數據的大小來真正存儲數據而不是占用固定的空間,這類似
Java中的ArraryList類;
關系型理論中不允許一個表中的一個記錄中存儲其他表記錄,
而Oracle中是支持的;這不是違反了數據的原子性原則嗎?
但是這樣有好處:
在用戶查詢的時候比兩個表進行關聯查詢效率高;
所以說可變數組也可以做為一條記錄的一個字段被存儲在一個表中,
當然這是違反關系數據理論的;
創建可變數組的例子:
create or replace type mingxitype as object
(
goodsid varchar(15),