首頁  >  文章  >  資料庫  >  oracle中表格的類型有哪些

oracle中表格的類型有哪些

WBOY
WBOY原創
2022-05-13 16:34:183522瀏覽

表的類型有9種:1、索引組織表,依索引結構儲存的表;2、索引叢集表,將多個表儲存在一起的表;3、散列叢集表,透過散列聚簇鍵將資料散列到資料庫區塊上;4、有序散列聚簇表,行按某個鍵值散列,與該鍵相關的一系列記錄按照插入順序儲存;5、巢狀表等等。

oracle中表格的類型有哪些

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle中表格的類型有哪些

1) 堆組織表(heaporganized table)

這就是標準資料庫表。數據以堆的方式管理。增加資料時,會使用段中找到的第一個能放下此資料的自由空間。從表中刪除資料後,允許以後的INSERT和UPDATE重複使用這部分空間。堆(heap)是一組空間,以一種隨機的方式使用。

2)索引組織表(index organized table)

表以索引結構儲存。這就強制要求行本身有某種物理順序。在堆組織表中,資料可以放在任何位置;而在IOT中,資料要根據主鍵有序地儲存。

3)索引聚簇表(index clustered table)

聚簇(cluster)是指一個或多個表組成的群組,這些表物理地存儲在相同的資料庫區塊上,有相同叢集鍵值的所有行會相鄰地實體儲存。

首先,多個表可以物理地儲存在一起。一般而言,你可以認為一個資料庫區塊上儲存一個表格的數據,但是對於叢集表,可能會把多個表的資料儲存在同一個區塊上。

其次,包含相同叢集鍵值(如DEPTNO=10)的所有資料會實體地儲存在一起。這些數據按聚簇鍵值“聚簇”在一起。聚集鍵使用B*樹索引建立。

4)散列叢集表(hash clusteredtable)

#類似索引叢集表,但不使用B*樹索引叢集鍵來定位數據,而是透過散列聚簇鍵將資料散列到資料庫區塊上。在散列聚簇中,資料就是索引(這是隱喻的說法)。如果需要頻繁地透過鍵的相等性比較來讀取數據,則散列聚簇表就很適用。

5)有序散列叢集表(sorted hash clustered table)

Oracle10g中新增,它具有散列叢集表的特性,同時兼有IOT的一些特性。

行以某個鍵值(如CUSTOMER_ID)雜湊,而與該鍵相關的一系列記錄會依照插入順序儲存。 (因此這些記錄可能是基於時間戳記的記錄)。

例如,訂單輸入系統中,訂單會以先進先出(FIFO)的方式取得和處理。在這樣一個系統中,有序散列叢集就是適用的資料結構。

6)嵌套表(nested table)

嵌套表是Oracle物件關係擴充的一部分。它們實際上就是系統產生和維護的父/子關係中的子表。

7)臨時表(temporarytable)

臨時表要根據需要從目前使用者的臨時表空間分配臨時區段。每個會話只能看到這個會話分配的區段;它從不會看到其他任何會話中創建的任何資料。

8)物件表(objecttable)

物件表是基於某種物件類型建立。它們擁有非物件表所沒有的特殊屬性,如係統會為物件表的每一行產生REF(物件識別碼)。

物件表其實是堆組織表、索引組織表和暫存資料表的特例,也可以包含巢狀表作為其結構的一部分。

9)外部表(externaltable)

這些表格並不會儲存在資料庫本身中,而是放在資料庫之外,也就是放在平常的作業系統文件中。

利用外部表可以查詢資料庫以外的一個文件,就好像這個文件也是資料庫中平常的表一樣。外部表對於向資料庫載入資料最有用(外部表是非常強大的資料載入工具)。

Oracle10g更進一步,還引入了一個外部表卸載功能,在不使用資料庫連結的情況下,這為在Oracle資料庫之間移動資料提供了一種簡單的方法。

推薦教學:《Oracle影片教學

以上是oracle中表格的類型有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn