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