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) 物理模式評估:
6.6.2 數(shù)據(jù)庫邏輯模式調(diào)整
1、 物理數(shù)據(jù)庫設(shè)計(jì)首先需要根據(jù)數(shù)據(jù)庫邏輯結(jié)構(gòu)信息,設(shè)計(jì)目標(biāo)DBMS平臺支持的基本表的模式信息,這些模式信息代表了所要開發(fā)的具體目標(biāo)數(shù)據(jù)庫的結(jié)構(gòu),這個(gè)過程稱為數(shù)據(jù)庫邏輯模式調(diào)整,主要包括如下設(shè)計(jì)內(nèi)容:
(1) 實(shí)現(xiàn)目標(biāo)數(shù)據(jù)庫基本表和視采用目標(biāo)DBMS所支持的建表方法,設(shè)計(jì)基本表及其面向模型的完整性約束;
(2) 設(shè)計(jì)基本表業(yè)務(wù)規(guī)則;
6.6.3 DB文件組織與存取設(shè)計(jì)
1、分析事務(wù)的數(shù)據(jù)訪問特性
(1) 使用事務(wù)-基本表交叉引用矩陣,分析系統(tǒng)內(nèi)數(shù)據(jù)庫事務(wù)對各個(gè)基本表的訪問情況,確定事務(wù)訪問了哪些基本表,對這些基本表執(zhí)行了何種操作,并進(jìn)一步分析各操作涉及到的基本表屬性;
(2) 估計(jì)各事務(wù)的執(zhí)行頻率;
(3) 對每張基本表,匯總所有作用于該表上的各事務(wù)的操作頻率信息;
2、 了解并選擇數(shù)據(jù)庫文件結(jié)構(gòu)
(1) 如果數(shù)據(jù)庫中的一個(gè)基本表中的數(shù)據(jù)量很少,并且操作非常頻繁,該基本表可采用堆文件組織方式;
(2) 順序文件支持基于查找碼的順序訪問,也支持快速二分查找;
(3) 如果用戶查詢是基于散列域值的等值匹配,特別是如果訪問順序是隨機(jī)的,散列文件比較合適。但散列文件組織不適合以下情況:
(A) 基于散列值域的非精確查詢;
(B) 基于非散列域進(jìn)行查詢時(shí);
(4) B-樹和B+樹文件是實(shí)際數(shù)據(jù)庫系統(tǒng)中使用非常廣泛的索引文件結(jié)構(gòu),適合于定義在大數(shù)據(jù)量基本表上、基于查找碼的等值查詢等;
(5) 如果某此重要而頻繁的用戶查詢經(jīng)常需要進(jìn)行多表連接操作,可考慮將這些基本表組織為聚集文件;
3、 設(shè)計(jì)存取路徑:
(1) 為數(shù)據(jù)庫文件設(shè)計(jì)合理的物理存儲位置;
(2) 為基本表設(shè)計(jì)索引機(jī)制:索引可以提高文件存取速度,改善訪問性能,但索引由DBMS管理,它的建立、維護(hù)需要一定的系統(tǒng)開銷,數(shù)據(jù)的操作會引起索引的重新調(diào)整,還占用一定的存儲空間,可根據(jù)如下原則決定是否為一個(gè)基本表建立索引:
(A) 對于經(jīng)常需要查詢、連接、統(tǒng)計(jì)操作,且數(shù)據(jù)量大的基本表可考慮建立索引,而對于經(jīng)常執(zhí)行插入、刪除、更新操作或小數(shù)據(jù)量的基本表應(yīng)盡量不建立索引;
(B) 一個(gè)基本表上除了可以建立一個(gè)聚集索引外,還可以建立多個(gè)非聚集索引,但索引越多,對表內(nèi)數(shù)據(jù)更新所需的開銷越大,對于一個(gè)更新頻繁的表應(yīng)少建或不建索引;
(C) 索引可以由用戶根據(jù)需要隨時(shí)創(chuàng)建或刪除,以提高數(shù)據(jù)查詢性能;
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |