2015計算機四級考試《數據庫》知識:數據庫的物理結構

 1 數據庫的物理結構

2015計算機四級考試《數據庫》知識:數據庫的物理結構

1、 數據庫中的應用數據是以文件形式存儲在外存上的,文件在邏輯上被組織成記錄的序列,即每個DB文件可看作是邏輯記錄的集合;

2、 一個文件在磁盤上佔有一定的物理存儲空間,文件中的每個邏輯記錄被映射存儲到某個特定的磁盤塊上,一個文件在物理上可以看作是由存放文件記錄的一系列磁盤塊組成,稱爲物理文件;

3、 文件的邏輯記錄與磁盤間的映射關係是由操作系統或DBMS來管理的,當需要對一個文件的邏輯記錄進行操作時,先要根據這種映射關係找到該邏輯記錄所在的磁盤塊,然後再進行操作。

4、 從數據庫物理結構角度需要解決如下問題:

(1) 文件的組織;

(2) 文件的結構;

(3) 文件的存取;

(4) 索引技術;

6.1.2 文件組織

1、 數據庫與文件的對應關係

(1) 在外存中,數據庫以文件形式組織,文件由邏輯記錄組成,記錄由多個域組成;

(2) 一個關係數據庫包括一張或多張關係表,關係表與文件的對應關係有如下方式:

(A) 每張關係表單獨用一個文件來存儲,由DBMS通過OS的文件管理功能來管理;

(B) 現代中大型DBMS是由OS直接分配一塊大的磁盤空間,DBMS將該磁盤空間作爲數據庫磁盤文件直接管理,DB的所有關係表都存儲在該文件中;

(1) 關係表在邏輯上由一系列元組組成,元組由多個屬性組成,每個元組可以用磁盤文件中的一個邏輯記錄來存儲,記錄包括多個域,對應元組的多個屬性;

2、文件記錄格式

(1) 數據庫文件通常採用兩種邏輯記錄格式:定長記錄格式和變長記錄格式;

  2 文件結構與存取

1 堆文件

1、 堆文件也稱無序文件,記錄隨機在存儲在文件物理空間是,新插入的記錄存儲在文件的末尾;

2、 堆文件常常用作存儲那些將來使用,但目前不清楚如何使用的記錄,爲了實現文件記錄的有效存取,堆文件經常與附加的存取路徑一起使用;

3、 查找操行平均需要搜索(B+1)/2個磁盤塊,效率比較低;

4、 插入操作十分簡單,先讀文件頭,找到最末磁盤地址,將最末磁盤塊讀入內存,將需插入的新記錄寫入磁盤塊的.末端,最後將修改過的磁盤塊寫回磁盤;

5、 刪除比較複雜,可以先找到被刪除記錄所在的磁盤塊,讀入內存後在內存緩衝區刪除記錄,最後再寫回磁盤;也可以在每個記錄的磁盤空間增加一個刪除標誌位,當需要刪除記錄時,將標示位置1;

2.2 順序文件

1、 順序文件按照文件記錄在查詢碼上的取值的大小順序排列各個記錄;

2、 順序文件的每個記錄中有一個指針字段,根據查詢碼大小用指針將各個記錄按序連接起來;

3、 文件建立時,應儘量使記錄的物理順序與查找碼的順序一致,以減少訪問磁盤塊的次數;

4、 根據查詢條件對順序文件進行查詢時,如查詢條件定義在查找碼上,則使用二分法查找技術快速找到記錄,如條件不在查找碼上,則必須從頭到尾依次掃描磁盤塊,與堆文件一致,所以順序文件的訪問效率也不高;

5、 順序文件插入工作包括定位和插入:

(1) 定位:在指針鏈中找到插入的位置,即插入記錄在哪個記錄的前面;

(2) 插入:如有自由空間,則在該位置插入新記錄,如沒有自由空間,則只能插入溢出塊中,重新調整記錄指針鏈關係,保證記錄順序;