資料庫,資料庫學習

來源:互聯網
上載者:User

資料庫,資料庫學習
資料庫的實體設計

資料庫在物理裝置上的儲存結構與存取方法稱為資料庫的物理結構,它依賴於選定的資料庫管理系統
為一個給定的邏輯資料模型選取一個最適合應用環境的物理結構的過程,就是資料庫的實體設計

資料庫實體設計的步驟
確定資料庫的物理結構,在關聯式資料庫中主要指存取方法和儲存結構
對物理結構進行評價,評價的重點是時間和空間效率
如果評價結果滿足原設計要求,則可進入到物理實施階段,否則,就需要重新設計或修改物理結構,有時甚至要返回邏輯設計階段修改資料模型

資料庫實體設計的內容和方法

設計物理資料庫結構的準備工作
對要啟動並執行事務進行詳細分析,獲得選擇物理資料庫設計所需參數
充分瞭解所用RDBMS的內部特徵,特別是系統提供的存取方法和儲存結構
選擇物理資料庫設計所需參數
資料庫查詢事務
查詢的關係
查詢條件所涉及的屬性
串連條件所涉及的屬性
查詢的投影屬性

選擇物理資料庫設計所需參數(續)
資料更新事務
被更新的關係
每個關係上的更新操作條件所涉及的屬性
修改操作要改變的屬性值
每個事務在各關係上啟動並執行頻率和效能要求

關聯式資料庫實體設計的內容
為關係模式選擇存取方法(建立存取路徑)
設計關係、索引等資料庫檔案的實體儲存體結構

關係模式存取方法選擇

資料庫系統是多使用者共用的系統,對同一個關係要建立多條存取路徑才能滿足多使用者的多種應用要求
實體設計的任務之一就是要確定選擇哪些存取方法,即建立哪些存取路徑
DBMS常用存取方法
索引方法
目前主要是B+樹索引方法
經典存取方法,使用最普遍
聚簇(Cluster)方法
HASH方法

選擇索引存取方法

根據應用要求確定
對哪些屬性列建立索引
對哪些屬性列建立複合式索引
對哪些索引要設計為唯一索引

選擇索引存取方法的一般規則如果一個(或一組)屬性經常在查詢條件中出現,則考慮在這個(或這組)屬性上建立索引(或複合式索引)如果一個屬性經常作為最大值和最小值等聚集合函式的參數,則考慮在這個屬性上建立索引如果一個(或一組)屬性經常在串連操作的串連條件中出現,則考慮在這個(或這組)屬性上建立索引關係上定義的索引數過多會帶來較多的額外開銷 維護索引的開銷 尋找索引的開銷
聚簇

為了提高某個屬性(或屬性群組)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續的物理塊稱為聚簇

聚簇的用途聚簇的局限性

聚簇的適用範圍
1. 既適用於單個關係獨立聚簇,也適用於多個關係組合聚簇
例:假設使用者經常要按系別查詢學產生績單,這一查詢涉及學生關係和選修關係的串連操作,即需要按學號串連這兩個關係,為提高串連操作的效率,可以把具有相同學號值的學生元組和選修元組在物理上聚簇在一起。這就相當於把多個關係按“預串連”的形式存放,從而大大提高串連操作的效率。

設計候選聚簇對經常在一起進行串連操作的關係可以建立聚簇如果一個關係的一組屬性經常出現在相等比較條件中,則該單個關係可建立聚簇如果一個關係的一個(或一組)屬性上的值重複率很高,則此單個關係可建立聚簇。即對應每個聚簇碼值的平均元組數不太少。太少了,聚簇的效果不明顯

最佳化聚簇設計
從聚簇中刪除經常進行全表掃描的關係;
從聚簇中刪除更新操作遠多於串連操作的關係;
不同的聚簇中可能包含相同的關係,一個關係可以在某一個聚簇中,但不能同時加入多個聚簇
從這多個聚簇方案(包括不建立聚簇)中選擇一個較優的,即在這個聚簇上運行各種事務的總代價最小

選擇HASH存取方法的規則

當一個關係滿足下列兩個條件時,可以選擇HASH存取方法
該關係的屬性主要出現在等值串連條件中或主要出現在相等比較選擇條件中
該關係的大小可預知,而且不變;

該關係的大小動態改變,但所選用的DBMS提供了動態HASH存取方法

確定資料庫的儲存結構

確定資料庫物理結構的內容
1. 確定資料的存放位置和儲存結構
關係
索引
聚簇
日誌
備份
2. 確定系統配置
確定資料存放位置和儲存結構的因素
存取時間
儲存空間利用率
維護代價
這三個方面常常是相互矛盾的
例:消除一切冗餘資料雖能夠節約儲存空間和減少維護代價,但往往會導致檢索代價的增加
必須進行權衡,選擇一個折中方案

確定資料的存放位置

基本原則
根據應用情況將
易變部分與穩定部分分開存放
存取頻率較高部分與存取頻率較低部分,分開存放

例:資料庫資料備份、記錄檔備份等由於只在故障恢複時才使用,而且資料量很大,可以考慮存放在磁帶上如果電腦有多個磁碟或磁碟陣列 ,可以考慮將表和索引分別放在不同的磁碟上,在查詢時,由於磁碟機並行工作,可以提高物理I/O讀寫的效率 例(續):可以將比較大的表分別放在兩個磁碟上,以加快存取速度,這在多使用者環境下特別有效可以將記錄檔與資料庫物件(表、索引等)放在不同的磁碟以改進系統的效能

DBMS產品一般都提供了一些儲存分配參數
同時使用資料庫的使用者數
同時開啟的資料庫物件數
記憶體配置參數
使用的緩衝區長度、個數
儲存分配參數
…….

評價物理結構

評價內容
對資料庫實體設計過程中產生的多種方案進行細緻的評價,從中選擇一個較優的方案作為資料庫的物理結構
評價方法(完全依賴於所選用的DBMS )
定量估算各種方案
儲存空間
存取時間
維護代價
對估算結果進行權衡、比較,選擇出一個較優的合理的物理結構
如果該結構不符合使用者需求,則需要修改設計

資料庫結構建立好後,就可以向資料庫中裝載資料了。組織資料入庫是資料庫實施階段最主要的工作。

資料裝載方法
人工方法
電腦輔助資料入庫

資料庫的試運行

強調兩點:
分期分批組織資料入庫
重新設計物理結構甚至邏輯結構,會導致資料重新入庫。
由於資料入庫工作量實在太大,費時、費力,所以應分期分批地組織資料入庫
先輸入小批量資料供調試用
待試運行基本合格後再大批量輸入資料
逐步增加資料量,逐步完成運行評價

資料庫的轉儲和恢複
在資料庫試運行階段,系統還不穩定,硬、軟體故障隨時都可能發生
系統的操作人員對新系統還不熟悉,誤操作也不可避免
因此必須做好資料庫的轉儲和恢複工作,盡量減少對資料庫的破壞。

資料庫的運行與維護

資料庫試運行合格後,資料庫即可投入正式運行。
資料庫投入運行標誌著開發工作單位的基本完成和維護工作的開始
對資料庫設計進行評價、調整、修改等維護工作是一個長期的任務,也是設計工作的繼續和提高。
應用環境在不斷變化
資料庫運行過程中實體儲存體會不斷變化

在資料庫運行階段,對資料庫經常性的維護工作主要是由DBA完成的,包括:
資料庫的轉儲和恢複
資料庫的安全性、完整性控制
資料庫效能的監督、分析和改進
資料庫的重組織和重構造

資料庫的重組織和重構造
重組織的形式
全部重組織
部分重組織
只對頻繁增、刪的表進行重組織
重組織的目標
提高系統效能

重組織的工作
按原設計要求
重新安排儲存位置
回收垃圾
減少指標鏈
資料庫的重組織不會改變原設計的資料邏輯結構和物理結構

資料庫重構造
根據新環境調整資料庫的模式和內模式
增加新的資料項目
改變資料項目的類型
改變資料庫的容量
增加或刪除索引
修改完整性條件約束條件

資料庫各級模式的形成
資料庫的各級模式是在設計過程中逐步形成的
需求分析階段綜合各個使用者的應用需求(現實世界的需求)
概念設計階段形成獨立於機器特點、獨立於各個DBMS產品的概念模式(資訊世界模型),用E-R圖來描述

在邏輯設計階段將E-R圖轉換成具體的資料庫產品支援的資料模型如關聯式模式,形成資料庫邏輯模式。然後根據使用者處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(VIEW)形成資料的外模式
在實體設計階段根據DBMS特點和處理的需要,進行實體儲存體安排,設計索引,形成資料庫內模式

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.