數據庫模式(schema)是數據結構的邏輯容器,被稱作模式對象(schema objects)
每一個數據庫用戶擁有一個和用戶名相同的模式,例如hr用戶擁有hr模式。
在一個產品數據庫中,模式的擁有者通常是數據庫應用程序而不是一個人。
在一個模式中,每一個模式對象都有一個唯一的名字。如hr.employees代表hr模式下的employees表。
如下圖所示:
最重要的模式對象是關系型數據庫中的表(table), Oracle SQL使你能創建和操作其他類型的模式對象。如下:
1.索引(Indexes)
2.分區(Partitions)
3.視圖(Views)
4.序列(Sequences)
5.維度(Dimensions)
6.同義詞(Synonyms)
7.PL/SQL子程序和包(PL/SQL subprograms and packages)
在邏輯存儲結構中,一些模式對象存儲數據稱作片段(segments)。
Oracle數據庫存儲模式對象邏輯上是在一個表空間(tablespace)裡,表空間和模式沒有關系:一個表空間可以包含不同的模式,一個模式中的對象可以包含在不同的表空間。每一個對象的數據在物理上包含在一個或多個數據文件中。
如下圖是一種可能的配置,其中一個表的數據片段(segment)跨越了兩個數據文件。這兩個數據文件都在同一個表空間裡。一個片段(segment)不能跨越多個表空間。
一些模式對象引用其他對象,例如,A對象引用B對象,那麼A是dependent object,B是referenced object。
Oracle數據庫提供了一個自動機制來保證依賴對象始終代表最新的引用對象。