天天看點

concepts 閱讀總結1——體系結構

1、資料庫應用體系結構概述:c/s 結構 和 多層結構  --

多層體系結構具備以下組成部分:用戶端程式,送出資料庫操作;一個或多個應用伺服器處理一個操作請求的不同部分。應用伺服器首先負責通路資料,再對查詢結果進行處理,這就減輕了資料庫伺服器的負擔。應用伺服器可以作為用戶端與資料庫之間的接口,還可提供額外的 安全控制;一個資料庫伺服器,或稱為服務端,存儲使用者操作所需的資料。

在這種體系結構下,應用伺服器起到以下作用:

驗證使用者身份,

連接配接Oracle資料庫伺服器

代替使用者執行對資料庫的請求

 實體資料庫機構概述:主要是各種檔案:

包括資料檔案,重做日志檔案,歸檔日志檔案,控制檔案,跟蹤檔案(trace file),伺服器參數檔案(server parameter file),備份檔案(backup file)

邏輯資料庫機構概述:主要是一些資料塊,資料擴充,資料段等:

一個資料庫在邏輯上被分為一個或多個表空間,使用者可以在每個表空間中建立一個或多個資料檔案來實體的存儲此表空間的邏輯對象。oracle10g建立資料庫的時候自動建立兩個表空間:system,sysaux。表空間可以有聯機狀态和脫機狀态,有時候你可以把聯機的表空間設定成脫機狀态,這樣就不能通路了,友善管理哈。

在Oracle資料庫中,最精細的資料存儲粒度是資料塊(data blocks)。一個資料塊相當于磁盤上一段連續的實體存儲空間。資料塊配置設定的預設容量由初始化參數 DB_BLOCK_SIZE 決定。

更高一層的資料庫存儲結構式資料擴充(extent),包含數個連續的資料塊,用于存儲資訊。

再向上一層結構叫段(segment),包括一組資料擴充。

concepts 閱讀總結1——體系結構

當一個段内已有的資料擴充的裝滿之後,Oracle動态地配置設定新空間。換句話說,段内已有的資料擴充裝滿之後,Oracle為這個段配置設定新的資料擴充。因為資料擴充是随需配置設定的,是以一個段内的資料擴充 實體上未必是連續的。

一個段,以及屬于他的資料擴充是必須存在于同一個表空間中的,但是在一個表空間中,一個段的各個資料擴充可以存儲在不同的資料檔案中,也就是說,段可以跨檔案存儲。但是一個資料擴充隻能屬于一個資料檔案。

使用者配置設定一個資料拓展時,其中對應的資料塊未必同時配置設定。書上是這麼說的:如果一個資料拓展是專門為一個資料庫對象配置設定的,那麼這個資料拓展的資料塊會立即加入可以清單(free list),也就是說立即被配置設定可用了。如果不是專門為某個資料庫對象配置設定,那麼資料塊隻有在高水位線(high water mark 就是段中已用和未用空間的分界點)移動的時候才被配置設定。

2、方案及常用的方案對象概述:

方案(scheme)是一組資料庫對象的集合,它和使用者名是重名的,并且屬于該使用者,比如書scott是一個使用者名,也是一個方案,方案對象包括:表,索引,視圖等邏輯資料結構。一個方案和一個表空間是沒有任何關系的,一個表空間内可以同時有好幾個方案的對象,一個方案的不同對象也可以存放在不同的表空間中。也就是說,表空間與使用者也是沒有關系的;

常見的方案對象有表啊,視圖啊,索引啊之類的,再加上倆個不太熟悉的:

簇(cluster)是一組實體上存儲在一起的表,她适用于數個表有相同的列而且經常一起使用的情況。因為相關的資料實體的存儲在一起,有利于降低磁盤存取時間。

同索引一樣,簇的使用也不會影響應用程式設計。一個表是否屬于一個簇對使用者和應用程式都是透明的。儲存于簇表中的資料與非簇表中的資料一樣可以通過相同的SQL來通路。

同義詞是表、視圖、物化視圖、序列、過程、函數、包、類型、Java類、使用者自定義對象、或其他同義詞的别名。因為同義詞隻是個别名,除了在資料字典中的定義之外他不需額外的存儲空間。

3、資料字典概述: