6.4 散列技術
6.4.1 散列文件
1、 散列是一種快速查找技術,它利用定義在文件記錄上的查找碼,通過計算一個散列函數(shù),以散列函數(shù)值作為記錄的物理地址,實現(xiàn)對文件記錄直接快速訪問。
2、 首先指定文件記錄的一個域作為查找碼(散列域),然后定義一個查找碼上的函數(shù)(散列函數(shù)),函數(shù)的輸入為查找碼值,輸出為物理地址。
3、 一般使用桶作為基本的存儲單位,一個桶可存放多個文件記錄,物理地址可以是記錄所在的桶號,散列函數(shù)的輸出可以是桶號。
6.4.2 散列函數(shù)
1、 散列方法依賴于好的散列函數(shù),它應該盡可能均勻地將查找碼分布到各個桶中,具體要滿足如下兩個條件:
(1) 地址的分布是均勻的。
(2) 地址的分布是隨機的。
6.4.3 桶溢出
1、 產(chǎn)生桶溢出的兩個原因:
(1) 文件初始設計時,為文件記錄預留的存儲空間不足。
(2) 散列函數(shù)的均勻分布性不好。
2、 設計散列函數(shù)時,應根據(jù)文件大小決定物理空間,一般應有20%余量,再設計合適的桶數(shù)目和桶大小,盡可能留有一些空閑桶,降低桶溢出的可能性。
3、 桶溢出的現(xiàn)象是難免的,需要DBS采用相應的桶溢出處理機制;
4、 散列方法的缺點:為了避免桶溢出。必須選一合適的散列函數(shù),但這比較復雜,而且不象索引文件那樣可以據(jù)數(shù)據(jù)記錄變化動態(tài)調(diào)整。
6.5 數(shù)據(jù)字典
1、 數(shù)據(jù)字典(系統(tǒng)目錄)中存儲了數(shù)據(jù)庫對象的各類描述信息和DBMS所需的控制信息,全稱數(shù)據(jù)庫元數(shù)據(jù)。
2、 數(shù)據(jù)庫對象的各類描述信息:包括外模式、模式、內(nèi)模式以及它們之間的映射的描述。
3、 DBMS所需的控制信息:包括查詢優(yōu)化、安全性檢查、用戶權限驗證等。
4、 數(shù)據(jù)字典主要包括:
(1) 關系模式信息。
(2) 與視圖描述有關的信息。
(3) 關系的存儲結(jié)構(gòu)和存取方法信息。
(4) 完整性約束信息。
(5) 安全性有關信息。
(6) 數(shù)據(jù)庫運行統(tǒng)計信息。
6.6 數(shù)據(jù)庫物理設計
6.6.1 設計步驟和內(nèi)容
1、 數(shù)據(jù)庫物理結(jié)構(gòu)設計:在具體的硬件環(huán)境、OS、DBMS約束下,根據(jù)數(shù)據(jù)庫邏輯設計結(jié)果,設計合適的數(shù)據(jù)庫物理結(jié)構(gòu)。目標是存儲空間占用少、訪問效率高和維護代價低。
2、 一旦選定了硬件平臺、OS和DBMS,數(shù)據(jù)庫的數(shù)據(jù)存儲和存取方式等可用的物理模式也就隨之確定了。
3、 數(shù)據(jù)庫物理設計主要包括以下步驟:
(1) 數(shù)據(jù)庫邏輯模式調(diào)整:將數(shù)據(jù)庫邏輯模式及其視圖轉(zhuǎn)換為DBMS支持的基本表和視圖,并利用DBMS提供的完整性機制設計業(yè)務規(guī)則。
(2) 文件組織與存取設計:配置基本表的文件組織形式,據(jù)實際情況為基本表設計合適的存取方法和路徑。
(3) 數(shù)據(jù)分布設計。
(4) 安全模式設計。
(5) 確定系統(tǒng)配置。
(6) 物理模式評估。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |