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