oracle物件有哪些

2022-02-24 19:00:16

oracle物件有:1、表(Table);2、索引(Index);3、簇(Cluster);4、檢視;5、Synonym;6、序列(Sequence);7、過程(Procedure)和函數(Function);8、觸發器;9、約束等。

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

Oracle的資料庫物件有哪些:

資料庫的功能就是組織管理和儲存各種資料庫物件。資料庫中的物件是我們進行資料管理的基本。本篇會回顧一下資料庫物件的一些基本知識,讓我們更加清晰的瞭解這些Oracle資料庫物件。

1. 表(Table):

我們運算元據庫的時候,大部分都是操作表來完成的。表是一個邏輯概念,是資料庫組織管理資料的基本單位。

表可以分為關係表和物件表。關係表包含堆表、索引組織表、外部表。我們常用的為堆表。

堆表對應的段是以堆的結構形式儲存的,儲存的資料邏輯上市無序的。

表與段(Segment)對應的關係如下

對於非分割區表,一個表對應一個段;

對於分割區表,一個分割區對應一個段;

對於有子分割區的表,一個子分割區對應一個段;

其他的資料庫物件與此類似

1.1 表分割區
表分割區(Partition),就是根據使用者的資料情況和業務需求,將表中的資料由一個段中變為多個段儲存,以方便對使用者資料的管理和維護,提升查詢操作的效能。當然也有一些缺點,使用不當的話會出現一些效能問題;應用分割區表需要有更多的經驗,更全面的考量,這也對開發者提出了更高的要求。

何時應用分割區:

首先需要考慮的是資料量,足夠大的資料量才有分割區的必要,少量資料根本沒必要進行分割區。Oracle官方推薦,表所佔的儲存空間超過2GB時,可以考慮對錶進行分割區。一般來說盡量避免分割區,需要分割區一定要有充分的理由。
如果當前非分割區的表已經影響到了使用者對資料的管理和維護,可以考慮分割區。
分割區之後是否能提高使用者的查詢及操作效能。
關於如何分割區,我們後面的文章在繼續分析。

2. 索引(Index):

索引是建立在表上的邏輯物件。索引可以提高表資料的存取查詢效率,對效能優化有著非常大的作用。索引也是和一個或者多個段相關聯,索引最終儲存的位置也是段。不同型別的索引有不同的儲存邏輯結構,如B樹,Bitmap(點陣圖)等。

索引是表的可選項,建立適當的索引是資料庫優化的重中之重。然而索引可以提高查詢效率,同時也會降低DML操作的效率,兩者綜合考慮後才會有比較好的效能。

關於索引的資料庫優化方案,大多是避免索引失效,優化索引使用順序等。B*樹索引,點陣圖索引等索引會在後面的文章中具體去說一下。

3. 簇(Cluster):

簇是一個包含一個或多個表資料的資料庫物件,其中被包含的表中都會具有共同的一列或者多列,這些列稱為簇鍵列。

建立簇需要相應的許可權,開發中使用不多。簇可以分為索引簇和雜湊簇,區別就是查詢資料的時候前者通過簇鍵列上的索引,後者使用簇鍵列的雜湊值。根據使用場景來確定來使用那種型別。

4.檢視(View) & 物化檢視(Materialized View):

檢視是一種虛定義的邏輯物件,主要用來簡化業務邏輯、方便開發維護,檢視並不包含任何資料,其資料基於檢視對應的其他物件。

檢視可以提供一些增刪改查的操作,同時有一定的安全性,可以遮蔽一些列,使用起來也比較靈活。但對於效能會有一些影響。

物化檢視,相對於檢視而言,物化檢視可以實際儲存資料,和表一樣對應相關的段。

物化檢視可以用來彙總,計算等業務。同時也可以在一定條件下進行增刪改查,並且也可以建立索引等。

5. 同義詞(Synonym):

同義詞也是虛的一個邏輯物件,不會儲存任何資料。本質上算是其他資料物件的一個別名。同時可以將同義詞的許可權分配給不同的使用者,作為安全管理的一種方式。

6. 序列(Sequence):

序列不儲存任何資料,使用者可以通過序列獲取一系列有序的數值。

定義序列的時候可以定義序列名,升降序,步長等。如果負載並行很高的情況下,序列的增長會影響整體的效能。

7. 過程(Procedure) & 函數(Function):

過程和函數都是虛邏輯物件,不儲存資料。主要功能就是使用資料庫編碼的呼叫來執行一系列任務。

過程和函數都是資料庫中的物件,有一組SQL或者一些其他的PL語句組成。為解決特定問題而編寫的一單元。

不同的是函數有一個返回值,除此之位,過程和函數在其他方面均相同。

8.觸發器(Trigger):

觸發器也是資料庫的一個邏輯物件,不儲存資料。主要是通過資料庫編碼,在事件自動觸發的時候執行一組命令。

其執行過程是自動的,當某一個事件觸發相關條件後,則會執行。

9. 約束(Constraint):

約束是資料庫中的邏輯物件,其功能是通過一些內部或者自動逸邏輯來實現對資料的檢查和限制,使其符合某種規則或者標準。從而實現資料的規則化,標準化。

常見的約束有

  • 主鍵約束

  • 唯一約束

  • 非空約束

  • 外來鍵約束

  • 自定義約束(檢查約束)

以上就是oracle物件有哪些的詳細內容,更多請關注TW511.COM其它相關文章!