oracle中主要有9種表型別:
1)堆組織表(heap organized table)
這就是標準資料庫表。資料以堆的方式管理。增加資料時,會使用段中找到的第乙個能放下此資料的自由空間。從表中刪除資料後,允許以後的insert和update重用這部分空間。堆(heap)是一組空間,以一種隨機的方式使 用。
2)索引組織表(index organized table)
表按索引結構儲存。這就強制要求行本身有某種物理順序。在堆組織表中,資料可以放在任何位置;而在iot中,資料要根據主鍵有序地儲存。
3)索引聚簇表(index clustered table)
聚簇(cluster)是指乙個或多個表組成的組,這些表物理地儲存在相同的資料庫塊上,有相同聚簇鍵值的所有行會相鄰地物理儲存。
首先,多個表可以物理地儲存在一起。一般而言,你可以認為乙個資料庫塊上儲存乙個表的資料,但是對於聚簇表,可能把多個表的資料儲存在同乙個塊上。
其次,包含相同聚簇鍵值(如deptno=10)的所有資料會物理地儲存在一起。這些資料按聚簇鍵值「聚簇」在一起。聚簇鍵使用b*樹索引建立。
4)雜湊聚簇表(hash clustered table)
類似於索引聚簇表,但是不使用b*樹索引聚簇鍵來定位資料,而是通過雜湊聚簇鍵將資料雜湊到資料庫塊上。在雜湊聚簇中,資料就是索引(這是隱喻的說法)。如果需要頻繁地通過鍵的相等性比較來讀取資料,散
列聚簇表就很適用。
5)有序雜湊聚簇表(sorted hash clustered table)
oracle 10g中新增,它具有雜湊聚簇表的特性,同時兼有iot的一些特性。
行按某個鍵值(如customer_id)雜湊,而與該鍵相關的一系列記錄按照插入順序儲存。(因此這些記錄可能是是基於時間戳的記錄)。
例如,訂單輸入系統中,訂單會按先進先出(fifo)的方式獲取和處理。在這樣乙個系統中,有序雜湊聚簇就是適用的資料結構。
6)巢狀表(nested table)
巢狀表是oracle物件關係擴充套件的一部分。它們實際上就是系統生成和維護的父/子關係中的子表。
7)臨時表(temporary table)
臨時表要根據需要從當前使用者的臨時表空間分配臨時區段。每個會話只能看到這個會話分配的區段;它從不會看到其他任何會話中建立的任何資料。
8)物件表(object table)
物件表基於某種物件型別建立。它們擁有非物件表所沒有的特殊屬性,如系統會為物件表的每一行生成ref(物件識別符號)。
物件表實際上是堆組織表、索引組織表和臨時表的特例,還可以包含巢狀表作為其結構的一部分。
9)外部表(external table)
這些表並不儲存在資料庫本身中,而是放在資料庫之外,即放在平常的作業系統檔案中。
利用外部表可以查詢資料庫之外的乙個檔案,就好像這個檔案也是資料庫中平常的表一樣。外部表對於向資料庫載入資料最有用(外部表是非常強大的資料載入工具)。
oracle 10g更進一步,還引入了乙個外部表解除安裝功能,在不使用資料庫鏈結的情況下,這為在oracle資料庫之間移動資料提供了一種簡單的方法。
《Oracle程式設計藝術》學習筆記 23 段
段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...
《Oracle程式設計藝術》學習筆記 23 段
段就是占用儲存空間的資料庫物件,占用儲存空間的每乙個物件最後都會儲存在乙個段中,如表 索引 回滾段等。段的型別 1 表段 2 表分割槽段 table partition 或子分割槽段 subpartition 這種段型別用於分割槽,與表段很相似。分割槽表由乙個或多個分割槽段 table partit...
程式設計藝術學習筆記(1)
序言習題 1 通過一系列的替代,將四個變數的值 a,b,c,d 變為 b,c,d,a 用最少的步驟 開門菜,然而還是有很多值得思考的地方。能幫助人理解計算機對於賦值的操作。通過觀察,可以認為這是乙個a i 賦值給a i 1 的操作。最少的步驟,只需要五步即可。需要乙個t來作輔助,t a,a b,b ...