6.5 數據字典
1、 數據字典(系統目錄)中存儲了數據庫對象的各類描述信息和DBMS所需的控制信息,全稱數據庫元數據;
2、 數據庫對象的各類描述信息:包括外模式、模式、內模式以及它們之間的映射的描述;
3、 DBMS所需的控制信息:包括查詢優化、安全性檢查、用戶權限驗證等;
4、 數據字典主要包括:
(1) 關系模式信息;
(2) 與視圖描述有關的信息;
(3) 關系的存儲結構和存取方法信息;
(4) 完整性約束信息;
(5) 安全性有關信息;
(6) 數據庫運行統計信息;
6.6 數據庫物理設計
6.6.1 設計步驟和內容
1、 數據庫物理結構設計:在具體的硬件環境、OS、DBMS約束下,根據數據庫邏輯設計結果,設計合適的數據庫物理結構。目標是存儲空間占用少、訪問效率高和維護代價低;
2、 一旦選定了硬件平臺、OS和DBMS,數據庫的數據存儲和存取方式等可用的物理模式也就隨之確定了;
3、 數據庫物理設計主要包括以下步驟:
(1) 數據庫邏輯模式調整:將數據庫邏輯模式及其視圖轉換為DBMS支持的基本表和視圖,并利用DBMS提供的完整性機制設計業務規則;
(2) 文件組織與存取設計:配置基本表的文件組織形式,據實際情況為基本表設計合適的存取方法和路徑;
(3) 數據分布設計:
(4) 安全模式設計:
(5) 確定系統配置:
(6) 物理模式評估:
6.6.2 數據庫邏輯模式調整
1、 物理數據庫設計首先需要根據數據庫邏輯結構信息,設計目標DBMS平臺支持的基本表的模式信息,這些模式信息代表了所要開發的具體目標數據庫的結構,這個過程稱為數據庫邏輯模式調整,主要包括如下設計內容:
(1) 實現目標數據庫基本表和視采用目標DBMS所支持的建表方法,設計基本表及其面向模型的完整性約束;
(2) 設計基本表業務規則;
6.6.3 DB文件組織與存取設計
1、分析事務的數據訪問特性
(1) 使用事務-基本表交叉引用矩陣,分析系統內數據庫事務對各個基本表的訪問情況,確定事務訪問了哪些基本表,對這些基本表執行了何種操作,并進一步分析各操作涉及到的基本表屬性;
(2) 估計各事務的執行頻率;
(3) 對每張基本表,匯總所有作用于該表上的各事務的操作頻率信息;
2、 了解并選擇數據庫文件結構
(1) 如果數據庫中的一個基本表中的數據量很少,并且操作非常頻繁,該基本表可采用堆文件組織方式;
(2) 順序文件支持基于查找碼的順序訪問,也支持快速二分查找;
(3) 如果用戶查詢是基于散列域值的等值匹配,特別是如果訪問順序是隨機的,散列文件比較合適。但散列文件組織不適合以下情況:
(A) 基于散列值域的非精確查詢;
(B) 基于非散列域進行查詢時;
(4) B-樹和B+樹文件是實際數據庫系統中使用非常廣泛的索引文件結構,適合于定義在大數據量基本表上、基于查找碼的等值查詢等;
(5) 如果某此重要而頻繁的用戶查詢經常需要進行多表連接操作,可考慮將這些基本表組織為聚集文件;
3、 設計存取路徑:
(1) 為數據庫文件設計合理的物理存儲位置;
(2) 為基本表設計索引機制:索引可以提高文件存取速度,改善訪問性能,但索引由DBMS管理,它的建立、維護需要一定的系統開銷,數據的操作會引起索引的重新調整,還占用一定的存儲空間,可根據如下原則決定是否為一個基本表建立索引:
(A) 對于經常需要查詢、連接、統計操作,且數據量大的基本表可考慮建立索引,而對于經常執行插入、刪除、更新操作或小數據量的基本表應盡量不建立索引;
(B) 一個基本表上除了可以建立一個聚集索引外,還可以建立多個非聚集索引,但索引越多,對表內數據更新所需的開銷越大,對于一個更新頻繁的表應少建或不建索引;
(C) 索引可以由用戶根據需要隨時創建或刪除,以提高數據查詢性能;
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |