歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

數(shù)據(jù)庫實用教程ppt課件

  • 資源ID:845039       資源大?。?span id="hmwvezq" class="font-tahoma">554KB        全文頁數(shù):70頁
  • 資源格式: PPT        下載積分:200積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要200積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

數(shù)據(jù)庫實用教程ppt課件

7.5 邏輯(結(jié)構(gòu))設計 概念設計的結(jié)果是得到一個與DBMS無關的概念模式。而邏輯設計的目的是把概念設 計階段設計好的全局ER模式轉(zhuǎn)換成與選用的具體機器上的DBMS所支援的數(shù)據(jù)模型相符合的的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫模式和外模式)。這些模式在功能上、完整性和一致性約束及數(shù)據(jù)庫的可擴充性等方面均應滿足用戶的各種要求。對于邏輯設計而言,應首先選擇DBMS,但往往數(shù)據(jù)庫設計人員沒有挑選的余地,都是在指定的DBMS上進行邏輯結(jié)構(gòu)的設計。,1,7.5.1 邏輯設計環(huán)境 邏輯設計的輸入輸出環(huán)境如圖7.22所示,2,在邏輯設計階段主要輸入下列信息: (1)獨立于DBMS的概念模式。這是概念設計階段產(chǎn)生的所有局部和全局概念模式。 (2)處理需求。需求分析階段產(chǎn)生的業(yè)務活動分析結(jié)果。這里包括數(shù)據(jù)的規(guī)模和應用頻率,用戶或用戶集團的需求。 (3)約束條件。即完整性、一致性、安全性要求及響應時間要求等等。 (4)DBMS特性。即特定的DBMS所支持的模式、子模式和程序語法的形式規(guī)則。,3,在邏輯設計階段主要輸出如下的信息: (1)DBMS可處理的模式。一個能用特定 DBMS實現(xiàn)的數(shù)據(jù)庫結(jié)構(gòu)的說明,但是不包括記錄的聚合、塊的大小等物理參數(shù)的說明,但要對某些訪問路徑參數(shù)(如順序、指針檢索的類型)加以說明。 (2)子模式。與單個用戶觀點和完整性約束一致的DBMS所支持的數(shù)據(jù)結(jié)構(gòu)。 (3)應用程序設計指南。根據(jù)設計的數(shù)據(jù)庫結(jié)構(gòu)為應用程序員提供訪問路徑選擇。 (4)物理設計指南。完全文檔化的模式和子模式應包括容量、使用頻率、軟硬件等信息。這些信息將要在物理設計階段使用,4,7.5.2 邏輯設計的步驟 邏輯設計主要是把概念模式轉(zhuǎn)換成DBMS能處理的模式。轉(zhuǎn)換過程中要對模式進行評 價和性能測試,以便獲得較好的模式設計。邏輯設計的主要步驟如圖7.23所示。 1初始模式的形成; 這一步是形成初始的 DBMS模式。 根據(jù)概念模式以及DBMS的記錄類型特點,將ER模式的實體類型或聯(lián)系類型轉(zhuǎn)換成記錄類型,在比較復雜的情況下,實體可能分裂或合并成新的記錄類型。,5,6,2子模式設計 子模式是模式的邏輯子集。子模式是應用程序和數(shù)據(jù)庫系統(tǒng)的接口,它能允許應用程序有效地訪問數(shù)據(jù)庫中的數(shù)據(jù),而不破壞數(shù)據(jù)庫的安全性。 3應用程序設計梗概 在設計完整的應用程序之前,先設計出應用程序的草圖,對每個應用程序應設計出數(shù)據(jù)存取功能的梗概,提供程序上的邏輯接口。,7,4模式評價 這一步的工作就是對數(shù)據(jù)庫模式進行評價。評價數(shù)據(jù)庫結(jié)構(gòu)的方法通常有定量分析和性能測量等方法。 定量分析有兩個參數(shù):處理頻率和數(shù)據(jù)容量。處理頻率是在數(shù)據(jù)庫運行期間應用程序的使用次數(shù);數(shù)據(jù)容量是數(shù)據(jù)庫中記錄的個數(shù)。數(shù)據(jù)庫增長過程的具體表現(xiàn)就是這兩個參 數(shù)值的增加。 性能測量是指邏輯記錄的訪問數(shù)目、一個應用程序傳輸?shù)目傋止?jié)數(shù)。數(shù)據(jù)庫的總字節(jié) 數(shù),這些參數(shù)應該盡可能預先知道,它能預測物理數(shù)據(jù)庫的性能。,8,5修正模式 修正模式的目的是為了使模式適應信息的不同表示。此時,可利用DBMS的性能,如索引或散列功能,但數(shù)據(jù)庫的信息內(nèi)容不能修改。如果信息內(nèi)容不修改,模式就不能進一步求精,那么就要停止模式設計,返回到概念設計或需求分析階段,重新設計。,9,7.5.3 ER模型向關系模型的轉(zhuǎn)換 1. ER模型轉(zhuǎn)換為關系模型的一般規(guī)則 ER模型中的主要成分是實體類型和聯(lián)系類型,轉(zhuǎn)換規(guī)則就是如何把實體類型、聯(lián)系類型轉(zhuǎn)換成關系模式。 (1)實體類型的轉(zhuǎn)換:將每個實體類型轉(zhuǎn)換成一個關系模式,實體的屬性即為關系模式的屬性,實體標識符即為關系模式的鍵。,10,(2)聯(lián)系類型的轉(zhuǎn)換,根據(jù)不同的情況做不同的處理: 若實體間的聯(lián)系是1:1的,可以在兩個實體類型轉(zhuǎn)換成的兩個關系模式中的任意一個關系模式的屬性中加人另一個關系模式的鍵和聯(lián)系類型的屬性。,11,例7·9 某大學管理中的實體“院長”與“學院之間存在著1:1的聯(lián)系,其ER圖如7·24所示。在將其轉(zhuǎn)化為關系模型時,“院長與“學院”各為一個模式。如果用戶經(jīng)常要在查詢學院信息時查詢其院長信息,那么可在學院模式中加人院長名和任職年月,其關系模式設計如下(加下劃線者為主鍵,加波浪線者為外鍵): 學院關系模式(學院編號,學院名,地址,電話,院長名,任職年月) 院長關系模式(院長名,年齡,性別,職稱),12,13,若實體間的聯(lián)系是1:N的,則在N端實體類型轉(zhuǎn)換成的關系模式中加入1端實體類 型轉(zhuǎn)換成的關系模式的鍵和聯(lián)系類型的屬性。 例7·10某大學管理中的實體“系”與“教師”之間存在著1:N的聯(lián)系,其ER圖如7·25所示。轉(zhuǎn)換成的關系模式如下: 系關系模式(系編號,系名,電話,系主任) 教師關系模式(教師編號,姓名,年齡,性別,職稱,系編號,聘用年月),14,弱實體:若實體間的聯(lián)系是1:N的,而且在N端實體類型為弱實體,轉(zhuǎn)換成的關系模式中將1端實體類型(父表)的鍵作為外鍵放在N端的弱實體(子表)中。弱實體的主鍵由父表的主鍵與弱實體本身的候選鍵組成。也可以為弱實體建立新的獨立的標識符 ID。 例7·11某大學管理中的實體“學生”與弱實體“社會關系”之間存在著1:N的聯(lián)系,其ER圖如7·26所示。轉(zhuǎn)換成的關系模式如下: 學生關系模式(學生編號,姓名,年齡,性別,家庭地址,所在系,班號) 社會關系模式(學生編號,稱呼,姓名,年齡,政治面貌,工作單位),15,16,若實體間的聯(lián)系是M:N的,則將聯(lián)系類型也轉(zhuǎn)換成關系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。 例712某大學管理中的實體“學生”與“課程”之間存在著M:N的聯(lián)系,其ER圖如727所示。轉(zhuǎn)換成的關系模式如下: 學生關系模式(學生編號,姓名,年齡,性別,家庭地址,所在系,班號) 課程關系模式(課程編號,課程名,課程性質(zhì),學分數(shù),先行課,開課學期,開課系編號) 選修關系模式(學生編號,課程編號,成績),17,18,2超類和子類的轉(zhuǎn)換規(guī)則 將超類和子類各轉(zhuǎn)換成一個關系模式,在子類轉(zhuǎn)換成的關系模式(子表)中加入超類轉(zhuǎn)換成關系模式(父表)的鍵,從而實現(xiàn)父表與子表的聯(lián)系。由于父表與子表的主鍵相同,所子表的主鍵也是外鍵。 例 7.13某大學數(shù)據(jù)庫中的實體“教師”(超類)的成員實體也可以分為教授、副教授,講師和助教四個子實體集合(子類)如圖728所示。,19,轉(zhuǎn)換成的關系模式如下: 教師關系模式(教師編號,姓名,年齡,性別) 教授關系模式(教師編號,是否博導) 副教授關系模式(教師編號,是否碩導) 講師關系模式(教師編號,學歷,是否班導師) 助教關系模式(教師編號,導師姓名),20,7.5.4 關系數(shù)據(jù)庫的邏輯設計 由于關系模型的固有優(yōu)點,邏輯設計可以運用關系數(shù)據(jù)庫模式設計理論使設計過程形式化地進行,并且結(jié)果可以驗證。關系數(shù)據(jù)庫的邏輯設計的過程如圖 7·29所示。,21,從圖729可以看出,概念設計的結(jié)果直接影響到邏輯設計過程的復雜性和效率。在概念設計階段已經(jīng)把關系規(guī)范化的某些思想用作構(gòu)造實體類型和聯(lián)系類型的標準,在邏輯設計階段,仍然要使用關系規(guī)范化理論來設計模式和評價模式。關系數(shù)據(jù)庫的邏輯設計的結(jié)果是一組關系模式的定義。 1導出初始關系模式 邏輯設計的第一步是把概念設計的結(jié)果(即全局ER模式)轉(zhuǎn)換成初始關系模式。,22,2規(guī)范化處理 規(guī)范化的目的是減少乃至消除關系模式中存在的各種異常,改善完整性、一致性和存儲效率。規(guī)范化過程分為兩個步驟: (1) 確定規(guī)范級別 規(guī)范級別取決于兩個因素,一是歸結(jié)出來的數(shù)據(jù)依賴的種類,二是實際應用的需要。在這里,我們主要從數(shù)據(jù)依賴的種類出發(fā),來討論規(guī)范級別問題。 首先考察數(shù)據(jù)依賴集合。在僅有函數(shù)依賴時,3NF或BCNF是適宜的標準,23,如還包括多值依賴時,應達到4NF。由于多值依賴語義的復雜性、非直觀性,一般使用得并不多。 在現(xiàn)實環(huán)境中,大量作用的還是函數(shù)依賴。 (2)實施規(guī)范化處理 確定規(guī)范級別之后,利用第5章的算法,逐一考察關系模式,判斷它們是否滿足規(guī)范要求。若不符合上下步所確定的規(guī)范級別,則利用相應的規(guī)范算法將關系模式規(guī)范化。 在規(guī)范化綜合或分解過程中,要特別注意保持依賴和無損聯(lián)接要求。,24,綜合以上數(shù)據(jù)庫的設計過程,規(guī)范化理論在數(shù)據(jù)庫設計中有如下幾方面的應用: (1) 在需求分析階段,用數(shù)據(jù)依賴概念分析和表示各個數(shù)據(jù)項之間的聯(lián)系。 (2) 在概念結(jié)構(gòu)設計階段,以規(guī)范化理論為指導,確定關系鍵,消除初步E-R圖中冗余的聯(lián)系。 (3) 在邏輯結(jié)構(gòu)設計階段,從E-R圖向數(shù)據(jù)模型轉(zhuǎn)換過程中,用模式合并與分解方法達到規(guī)范化級別。,25,(3) 模式評價 關系模式的規(guī)范化不是目的而是手段,數(shù)據(jù)庫設計的目的是最終滿足應用需求。因此,為了進一步提高數(shù)據(jù)庫應用系統(tǒng)的性能,還應該對規(guī)范化后產(chǎn)生的關系模式進行評價、改進,經(jīng)過反復多次的嘗試和比較,最后得到優(yōu)化的關系模式。 模式評價的目的是檢查所設計的數(shù)據(jù)庫模式是否滿足用戶的功能要求、效率,確定加以改進的部分。模式評價包括功能評價和性能評價。,26,(A) 功能評價 功能評價指對照需求分析的結(jié)果,檢查規(guī)范化后的關系模式集合是否支持用戶所有的應用要求。關系模式必須包括用戶可能訪問的所有屬性。在涉及多個關系模式的應用中,應確保聯(lián)接后不丟失信息。如果發(fā)現(xiàn)有的應用不被支持,或不完全被支持,則應該改進關系模式。發(fā)生這種問題的原因可能是在邏輯設計階段,也可能是在需求分析或概念設計階段。是哪個階段的問題就返回到哪個階段去,因此有可能對前兩個階段再進行評審,解決存在的問題。,27,在功能評價的過程中,可能會發(fā)現(xiàn)冗余的關系模式或?qū)傩?,這時應對它們加以區(qū)分,搞清楚它們是為未來發(fā)展預留的,還是某種錯誤造成的,比如名字混淆。如果屬于錯誤處置,進行改正即可,而如果這種冗余來源于前兩個設計階段,則也要返回重新進行評審。 (B) 性能評價 對于目前得到的數(shù)據(jù)庫模式,由于缺乏物理設計所提供的數(shù)量測量標準和相應的評價手段,所以性能評價是比較困難的,只能對實際性能進行估計,包括邏輯記錄的存取數(shù)、傳送量以及物理設計算法的模型等。,28,美國密執(zhí)安大學的T.Teorey和J.Fry于1980年提出的邏輯記錄訪問(Logical Record Access,LRA)方法是一種常用的模式性能評價方法。LRA方法對網(wǎng)狀模型和層次模型較為實用,對于關系模型的查詢也能起一定的估算作用。 有關LRA方法本書不詳細介紹,讀 者可以參考有關書籍。,29,(4) 模式改進 根據(jù)模式評價的結(jié)果,對已生成的模式進行改進。 如果因為需求分析、概念設計的疏漏導致某些應用不能得到支持,則應該增加新的關系模式或?qū)傩浴?如果因為性能考慮而要求改進,則可采用合并或分解的方法。 (A) 合并 如果有若干個關系模式具有相同的主鍵,并且對這些關系模式的處理主要是查詢操作,而且經(jīng)常是多關系的查詢,那么可對這些關系模式按照組合使用頻率進行合并。 這樣便可以減少聯(lián)接操作而提高查詢效率。,30,(B) 分解 為了提高數(shù)據(jù)操作的效率和存儲空間的利用率,最常用和最重要的模式優(yōu)化方法就是分解,根據(jù)應用的不同要求,可以對關系模式進行垂直分解和水平分解。 水平分解是把關系的元組分為若干子集合,定義每個子集合為一個子關系。 對于經(jīng)常進行大量數(shù)據(jù)的分類條件查詢的關系,可進行水平分解,這樣可以減少應用系統(tǒng)每次查詢需要訪問的記錄數(shù),從而提高了查詢性能。,31,例如,有學生關系(學號,姓名,類別),其中類別包括大專生、本科生和研究生。如果多數(shù)查詢一次只涉及其中的一類學生,就應該把整個學生關系水平分割為大專生、本科生和研究生三個關系。 垂直分解是把關系模式的屬性分解為若干子集合,形成若干子關系模式。垂直分解的原則是把經(jīng)常一起使用的屬性分解出來,形成一個子關系模式。 例如,有教師關系(教師號,姓名,性別,年齡,職稱,工資,崗位津貼,住址,電話),如果經(jīng)常查詢的僅是前六項,而后三項很少使用,則可以將教師關系進行垂直分割,得到兩個教師關系:,32,教師關系1(教師號,姓名,性別,年齡,職稱,工資) 教師關系2(教師號,崗位津貼,住址,電話) 這樣,便減少了查詢的數(shù)據(jù)傳遞量,提高了查詢速度。 垂直分解可以提高某些事務的效率,但也有可能使另一些事務不得不執(zhí)行連接操作,從而降低了效率。因此是否要進行垂直分解要看分解后的所有事務的總效率是否得到了提高。垂直分解要保證分解后的關系具有無損連接性和函數(shù)依賴保持性。相關的分解算法已經(jīng)在第4章進行了詳細介紹。,33,經(jīng)過多次的模式評價和模式改進之后,最終的數(shù)據(jù)庫模式得以確定。邏輯設計階段的結(jié)果是全局邏輯數(shù)據(jù)庫結(jié)構(gòu)。對于關系數(shù)據(jù)庫系統(tǒng)來說,就是一組符合一定規(guī)范的關系模式組成的關系數(shù)據(jù)庫模型。 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)物理獨立性特點消除了由于物理存儲改變而引起的對應程序的修改。標準的DBMS例行程序應適用于所有的訪問,查詢和更新事務的優(yōu)化應當在系統(tǒng)軟件一級上實現(xiàn)。這樣,邏輯數(shù)據(jù)庫確定之后,就可以開始進行應用程序設計了。,34,例715 學員王洪林為浙江省黃驊紙制品公司設計的“庫存銷售信息管技系統(tǒng)”對倉庫、車間、產(chǎn)品、客戶、銷售部的信息進行了有效的管理,其ER圖如圖730所示。,35,這個ER圖有5個實體類型,其屬性如下: 車間:車間號,車間名,主任名。 產(chǎn)品:產(chǎn)品號,產(chǎn)品名,單價。 倉位:倉位號,地址,主任名。 客戶:客戶號,客戶名,聯(lián)系人,電話,地址,稅號,賬號。 銷售員:銷售員號,姓名,性別,學歷,業(yè)績。,36,這個ER圖有4個聯(lián)系類型,其中3個是M:N:P, 1個是M:N,屬性如下: 入庫:入庫單號,入庫量,入庫日期,經(jīng)手人。 存儲:核對日期,核對員,存儲量。 出庫:出庫單號,出庫量,出庫日期,經(jīng)手人。 定單:定單號,數(shù)量,折扣,總價,定單日期。 試把這個ER圖轉(zhuǎn)換成關系模型,并指出每個表的主鍵和外鍵。,37,解根據(jù)ER模型轉(zhuǎn)換成關系模型的規(guī)則,可把上述ER圖轉(zhuǎn)換成9個關系模式,具體如下: 車間(車間號,車間名,主任名) 產(chǎn)品(產(chǎn)品號,產(chǎn)品名,單價) 倉位(倉位號,地址,主任名) 客戶(客戶號,客戶名,聯(lián)系人,電話,地址,稅號,賬號),38,銷售員(銷售員號,姓名,性別,學歷,業(yè)績) 入庫(入庫單號,入庫量,入庫日期,經(jīng)手人,車間號,倉位號,產(chǎn)品號) 存儲(倉位號,產(chǎn)品號,核對日期,核對員,存儲量) 出庫(出庫單號,出庫量,出庫日期,經(jīng)手人,客戶號,產(chǎn)品號,倉位號) 定單(定單號,數(shù)量,折扣,總價,定單日期,產(chǎn)品號,客戶號,銷售員號),39,7.6 數(shù)據(jù)庫物理設計 數(shù)據(jù)庫最終要存儲在物理設備上。對于給定的邏輯數(shù)據(jù)模型,選取一個最適合應用環(huán)境的物理結(jié)構(gòu)的過程,稱為數(shù)據(jù)庫物理設計。數(shù)據(jù)庫的物理結(jié)構(gòu)主要指數(shù)據(jù)庫的存儲記錄格式、存儲記錄安排和存取方法。顯然,數(shù)據(jù)庫的物理設計是完全依賴于給定的硬件環(huán)境和數(shù)據(jù)庫產(chǎn)品的。 在關系模型系統(tǒng)中,物理設計比較簡單一些,因為文件形式是單記錄類型文件,僅包含索引機制、空間大小、塊的大小等內(nèi)容。,40,數(shù)據(jù)庫的物理設計可分為兩步: (1) 確定物理結(jié)構(gòu),在關系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu); (2)評價物理結(jié)構(gòu),評價的重點是時間和空間效率。 7.6.1 確定物理結(jié)構(gòu) 設計人員必須深入了解給定的DBMS的功能,DBMS提供的環(huán)境和工具、硬件環(huán)境,特別是存儲設備的特征。另一方面也要了解應用環(huán)境的具體要求,如各種應用的數(shù)據(jù)量、處理頻率和響應時間等。只有“知己知彼”才能設計出較好的物理結(jié)構(gòu)。,41,1存儲記錄結(jié)構(gòu)的設計 在物理結(jié)構(gòu)中,數(shù)據(jù)的基本存取單位是存儲記錄。有了邏輯記錄結(jié)構(gòu)以后,就可以設計存儲記錄結(jié)構(gòu),一個存儲記錄可以和一個或多個邏輯記錄相對應。存儲記錄結(jié)構(gòu)包括記錄的組成、數(shù)據(jù)項的類型和長度,以及邏輯記錄到存儲記錄的映射。某一類型的所有存儲記錄的集合稱為“文件”,文件的存儲記錄可以是定長的,也可以是變長的。 文件組織或文件結(jié)構(gòu)是組成文件的存儲記錄的表示法。文件結(jié)構(gòu)應該表示文件格式、邏輯次序、物理次序、訪問路徑、物理設備的分配。物理數(shù)據(jù)庫就是指數(shù)據(jù)庫中實際存儲記錄的格式、邏輯次序和物理次序、訪問路徑、物理設備的分配。 決定存儲結(jié)構(gòu)的主要因素包括存取時間、存儲空間和維護代價三個方面。設計時應當根據(jù)實際情況對這三個方面進行綜合權(quán)衡。一般DBMS也提供一定的靈活性可供選擇,包括聚簇和索引。,42,(1) 聚簇(Cluster) 聚簇就是為了提高查詢速度,把在一個(或一組)屬性上具有相同值的元組集中地存放在一個物理塊中。如果存放不下,可以存放在相鄰的物理塊中。其中,這個(或這組)屬性稱為聚簇碼。 為什么要使用聚簇呢?聚簇有兩個作用: 使用聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇值不必在每個元組中重復存儲,只要在一組中存儲一次即可,因此可以節(jié)省存儲空間。,43,聚簇功能可以大大提高按聚簇碼進行查詢的效率。例如,假設要查詢學生關系中計算機系的學生名單,設計算機系有300名學生。在極端情況下,這些學生的記錄會分布在300個不同的物理塊中,這時如果要查詢計算機系的學生,就需要做300次的I/O操作,這將影響系統(tǒng)查詢的性能。如果按照系別建立聚簇,使同一個系的學生記錄集中存放,則每做一次I/O操作,就可以獲得多個滿足查詢條件和記錄,從而顯著地減少了訪問磁盤的次數(shù)。,44,(2) 索引 存儲記錄是屬性值的集合,主關系鍵可以惟一確定一個記錄,而其他屬性的一個具體值不能惟一確定是哪個記錄。在主關系鍵上應該建立惟一索引,這樣不但可以提高查詢速度,還能避免關系鍵重復值的錄入,確保了數(shù)據(jù)的完整性。 在數(shù)據(jù)庫中,用戶訪問的最小單位是屬性。如果對某些非主屬性的檢索很頻繁,可以考慮建立這些屬性的索引文件。索引文件對存儲記錄重新進行內(nèi)部鏈接,從邏輯上改變了記錄的存儲位置,從而改變了訪問數(shù)據(jù)的入口點。關系中數(shù)據(jù)越多索引的優(yōu)越性也就越明顯。,45,建立多個索引文件可以縮短存取時間,但是增加了索引文件所占用的存儲空間以及維護的開銷。因此,應該根據(jù)實際需要綜合考慮。 2訪問方法的設計 訪問方法是為存儲在物理設備(通常指輔存)上的數(shù)據(jù)提供存儲和檢索能力的方法。一個訪問方法包括存儲結(jié)構(gòu)和檢索機構(gòu)兩個部分。存儲結(jié)構(gòu)限定了可能訪問的路徑和存儲記錄;檢索機構(gòu)定義了每個應用的訪問路徑,但不涉及存儲結(jié)構(gòu)的設計和設備分配。,46,存儲記錄是屬性的集合,屬性是數(shù)據(jù)項類型,可用作主鍵或輔助鍵。主鍵惟一地確定了一個記錄。輔助鍵是用作記錄索引的屬性,可能并不惟一確定某一個記錄。 訪問路徑的設計分成主訪問路徑與輔訪問路徑的設計。主訪問路徑與初始記錄的裝入有關,通常是用主鍵來檢索的。首先利用這種方法設計各個文件,使其能最有效地處理主要的應用。一個物理數(shù)據(jù)庫很可能有幾套主訪問路徑。輔訪問路徑是通過輔助鍵的索引對存儲記錄重新進行內(nèi)部鏈接,從而改變訪問數(shù)據(jù)的入口點。用輔助索引可以縮短訪問時間,但增加了輔存空間和索引維護的開銷。設計者應根據(jù)具體情況作出權(quán)衡。,47,3.數(shù)據(jù)存放位置的設計 為了提高系統(tǒng)性能,應該根據(jù)應用情況將數(shù)據(jù)的易變部分、穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。 例如,目前許多計算機都有多個磁盤,因此可以將表和索引分別存放在不同的磁盤上,在查詢時,由于兩個磁盤驅(qū)動器并行工作,可以提高物理讀寫的速度。 在多用戶環(huán)境下,可能將日志文件和數(shù)據(jù)庫對象(表、索引等)放在不同的磁盤上,以加快存取速度。另外,數(shù)據(jù)庫的數(shù)據(jù)備份、日志文件備份等,只在數(shù)據(jù)庫發(fā)生故障進行恢復時才使用,而且數(shù)據(jù)量很大,可以存放在磁帶上,以改進整個系統(tǒng)的性能。,48,4.系統(tǒng)配置的設計 DBMS產(chǎn)品一般都提供了一些系統(tǒng)配置變量、存儲分配參數(shù),供設計人員和DBA對數(shù)據(jù)庫進行物理優(yōu)化。系統(tǒng)為這些變量設定了初始值,但是這些值不一定適合每一種應用環(huán)境,在物理設計階段,要根據(jù)實際情況重新對這些變量賦值,以滿足新的要求。 系統(tǒng)配置變量和參數(shù)很多,例如,同時使用數(shù)據(jù)庫的用戶數(shù)、同時打開的數(shù)據(jù)庫對象數(shù)、內(nèi)存分配參數(shù)、緩沖區(qū)分配參數(shù)(使用的緩沖區(qū)長度、個數(shù))、存儲分配參數(shù)、數(shù)據(jù)庫的大小、時間片的大小、鎖的數(shù)目等,這些參數(shù)值影響存取時間和存儲空間的分配,在物理設計時要根據(jù)應用環(huán)境確定這些參數(shù)值,以使系統(tǒng)的性能達到最優(yōu)。,49,7.6.2 評價物理結(jié)構(gòu) 和前面幾個設計階段一樣,在確定了數(shù)據(jù)庫的物理結(jié)構(gòu)之后,要進行評價,重點是時間和空間的效率。 如果評價結(jié)果滿足設計要求,則可進行數(shù)據(jù)庫實施。 實際上,往往需要經(jīng)過反復測試才能優(yōu)化物理設計。,50,7.7 數(shù)據(jù)庫實施 數(shù)據(jù)庫實施是指根據(jù)邏輯設計和物理設計的結(jié)果,在計算機上建立起實際的數(shù)據(jù)庫結(jié)構(gòu)、裝入數(shù)據(jù)、進行測試和試運行的過程。 數(shù)據(jù)庫實施主要包括以下工作: 建立實際數(shù)據(jù)庫結(jié)構(gòu); 裝入數(shù)據(jù); 應用程序編碼與調(diào)試; 數(shù)據(jù)庫試運行; 整理文檔。,51,7.7.1 建立實際數(shù)據(jù)庫結(jié)構(gòu) DBMS提供的數(shù)據(jù)定義語言(DDL)可以定義數(shù)據(jù)庫結(jié)構(gòu)??墒褂玫?章所講的SQL定義語句中的CREATE TABLE語句定義所需的基本表,使用CREATE VIEW語句定義視圖。 7.7.2 裝入數(shù)據(jù) 裝入數(shù)據(jù)又稱為數(shù)據(jù)庫加載(Loading),是數(shù)據(jù)庫實施階段的主要工作。在數(shù)據(jù)庫結(jié)構(gòu)建立好之后,就可以向數(shù)據(jù)庫中加載數(shù)據(jù)了。,52,由于數(shù)據(jù)庫的數(shù)據(jù)量一般都很大,它們分散于一個企業(yè)(或組織)中各個部門的數(shù)據(jù)文件、報表或多種形式的單據(jù)中,它們存在著大量的重復,并且其格式和結(jié)構(gòu)一般都不符合數(shù)據(jù)庫的要求,必須把這些數(shù)據(jù)收集起來加以整理,去掉冗余并轉(zhuǎn)換成數(shù)據(jù)庫所規(guī)定的格式,這樣處理之后才能裝入數(shù)據(jù)庫。因此,需要耗費大量的人力、物力,是一種非常單調(diào)乏味而又意義重大的工作。,53,由于應用環(huán)境和數(shù)據(jù)來源的差異,所以不可能存在普遍通用的轉(zhuǎn)換規(guī)則,現(xiàn)有的DBMS并不提供通用的數(shù)據(jù)轉(zhuǎn)換軟件來完成這一工作。 對于一般的小型系統(tǒng),裝入數(shù)據(jù)量較少,可以采用人工方法來完成。 首先將需要裝入的數(shù)據(jù)從各個部門的數(shù)據(jù)文件中篩選出來,轉(zhuǎn)換成符合數(shù)據(jù)庫要求的數(shù)據(jù)格式, 然后輸入到計算機中, 最后進行數(shù)據(jù)校驗,檢查輸入的數(shù)據(jù)是否有誤。,54,但是,人工方法不僅效率低,而且容易產(chǎn)生差錯。對于數(shù)據(jù)量較大的系統(tǒng),應該由計算機來完成這一工作。通常是設計一個數(shù)據(jù)輸入子系統(tǒng),其主要功能是從大量的原始數(shù)據(jù)文件中篩選、分類、綜合和轉(zhuǎn)換數(shù)據(jù)庫所需的數(shù)據(jù),把它們加工成數(shù)據(jù)庫所要求的結(jié)構(gòu)形式,最后裝入數(shù)據(jù)庫中,同時還要采用多種檢驗技術(shù)檢查輸入數(shù)據(jù)的正確性。 為了保證裝入數(shù)據(jù)庫中數(shù)據(jù)的正確無誤,必須高度重視數(shù)據(jù)的校驗工作。在輸入子系統(tǒng)的設計中應該考慮多種數(shù)據(jù)檢驗技術(shù),在數(shù)據(jù)轉(zhuǎn)換過程中應使用不同的方法進行多次檢驗,確認正確后方可入庫。,55,如果在數(shù)據(jù)庫設計時,原來的數(shù)據(jù)庫系統(tǒng)仍在使用,則數(shù)據(jù)的轉(zhuǎn)換工作是將原來老系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換成新系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。同時還要轉(zhuǎn)換原來的應用程序,使之能在新系統(tǒng)下有效地運行。 數(shù)據(jù)的轉(zhuǎn)換、分類和綜合常常需要多次才能完成,因而輸入子系統(tǒng)的設計和實施是很復雜的,需要編寫許多應用程序,由于這一工作需要耗費較多的時間,為了保證數(shù)據(jù)能夠及時入庫,應該在數(shù)據(jù)庫物理設計的同時編制數(shù)據(jù)輸入子系統(tǒng),而不能等物理設計完成后才開始。,56,7.7.3 應用程序編碼與調(diào)試 數(shù)據(jù)庫應用程序的設計屬于一般的程序設計范疇,但數(shù)據(jù)庫應用程序有自己的一些特點。例如,大量使用屏幕顯示控制語句、形式多樣的輸出報表、重視數(shù)據(jù)的有效性和完整性檢查、有靈活的交互功能。 為了加快應用系統(tǒng)的開發(fā)速度,一般選擇第四代語言開發(fā)環(huán)境,利用自動生成技術(shù)和軟件復用技術(shù),在程序設計編寫中往往采用工具(CASE)軟件來幫助編寫程序和文檔,如目前普遍使用的PowerBuilder、Delphi以及由北京航空航天大學研制的863/CMIS支持的數(shù)據(jù)庫開發(fā)工具OpenTools等。,57,數(shù)據(jù)庫結(jié)構(gòu)建立好之后,就可以開始編制與調(diào)試數(shù)據(jù)庫的應用程序,這時由于數(shù)據(jù)入庫尚未完成,調(diào)試程序時可以先使用模擬數(shù)據(jù)。 7.7.4 數(shù)據(jù)庫試運行 應用程序編寫完成,并有了一小部分數(shù)據(jù)裝入后,應該按照系統(tǒng)支持的各種應用分別試驗應用程序在數(shù)據(jù)庫上的操作情況,這就是數(shù)據(jù)庫的試運行階段,或者稱為聯(lián)合調(diào)試階段。在這一階段要完成兩方面的工作。,58,(1) 功能測試。實際運行應用程序,測試它們能否完成各種預定的功能。 (2) 性能測試。測量系統(tǒng)的性能指標,分析系統(tǒng)是否符合設計目標。 系統(tǒng)的試運行對于系統(tǒng)設計的性能檢驗和評價是很重要的,因為有些參數(shù)的最佳值只有在試運行后才能找到。如果測試的結(jié)果不符合設計目標,則應返回到設計階段,重新修改設計和編寫程序,有時甚至需要返回到邏輯設計階段,調(diào)整邏輯結(jié)構(gòu)。,59,重新設計物理結(jié)構(gòu)甚至邏輯結(jié)構(gòu),會導致數(shù)據(jù)重新入庫。由于數(shù)據(jù)裝入的工作量很大,所以可分期分批的組織數(shù)據(jù)裝入,先輸入小批量數(shù)據(jù)做調(diào)試用,待試運行基本合格后,再大批量輸入數(shù)據(jù),逐步增加數(shù)據(jù)量,逐步完成運行評價。 數(shù)據(jù)庫的實施和調(diào)試不是幾天就能完成的,需要有一定的時間。在此期間由于系統(tǒng)還不穩(wěn)定,隨時可能發(fā)生硬件或軟件故障,加之數(shù)據(jù)庫剛剛建立,操作人員對系統(tǒng)還不熟悉,對其規(guī)律,60,缺乏了解,容易發(fā)生操作錯誤,這些故障和錯誤很可能破壞數(shù)據(jù)庫中的數(shù)據(jù),這種破壞很可能在數(shù)據(jù)庫中引起連鎖反應,破壞整個數(shù)據(jù)庫。 因此必須做好數(shù)據(jù)庫的轉(zhuǎn)儲和恢復工作,要求設計人員熟悉DBMS的轉(zhuǎn)儲和恢復功能,并根據(jù)調(diào)試方式和特點首先加以實施,盡量減少對數(shù)據(jù)庫的破壞,并簡化故障恢復。,61,7.7.5 整理文檔 在程序的編碼調(diào)試和試運行中,應該將發(fā)現(xiàn)的問題和解決方法記錄下來,將它們整理存檔作為資料,供以后正式運行和改進時參考。 全部的調(diào)試工作完成之后,應該編寫應用系統(tǒng)的技術(shù)說明書和使用說明書,在正式運行時隨系統(tǒng)一起交給用戶。 完整的文件資料是應用系統(tǒng)的重要組成部分,但這一點常被忽視。必須強調(diào)這一工作的重要性,引起用戶與設計人員的充分注意。,62,7.8 數(shù)據(jù)庫運行和維護 數(shù)據(jù)庫試運行結(jié)果符合設計目標后,數(shù)據(jù)庫就投入正式運行,進入運行和維護階段。數(shù)據(jù)庫系統(tǒng)投入正式運行,標志著數(shù)據(jù)庫應用開發(fā)工作的基本結(jié)束,但并不意味著設計過程己經(jīng)結(jié)束。 由于應用環(huán)境不斷發(fā)生變化,用戶的需求和處理方法不斷發(fā)展,數(shù)據(jù)庫在運行過程中的存儲結(jié)構(gòu)也會不斷變化,從而必須修改和擴充相應的應用程序。,63,數(shù)據(jù)庫運行和維護階段的主要任務包括以下三項內(nèi)容: (1) 維護數(shù)據(jù)庫的安全性與完整性; (2) 監(jiān)測并改善數(shù)據(jù)庫性能; (3) 重新組織和構(gòu)造數(shù)據(jù)庫。 7.8.1 維護數(shù)據(jù)庫的安全性與完整性 按照設計階段提供的安全規(guī)范和故障恢復規(guī)范,DBA要經(jīng)常檢查系統(tǒng)的安全是否受到侵犯,根據(jù)用戶的實際需要授予用戶不同的操作權(quán)限。,64,數(shù)據(jù)庫在運行過程中,由于應用環(huán)境發(fā)生變化,對安全性的要求可能發(fā)生變化,DBA要根據(jù)實際情況及時調(diào)整相應的授權(quán)和密碼,以保證數(shù)據(jù)庫的安全性。 同樣數(shù)據(jù)庫的完整性約束條件也可能會隨應用環(huán)境的改變而改變,這時DBA也要對其進行調(diào)整,以滿足用戶的要求。 另外,為了確保系統(tǒng)在發(fā)生故障時,能夠及時地進行恢復,DBA要針對不同的應用要求定制不同的轉(zhuǎn)儲計劃,定期對數(shù)據(jù)庫和日志文件進行備份,以使數(shù)據(jù)庫在發(fā)生故障后恢復到某種一致性狀態(tài),保證數(shù)據(jù)庫的完整性。,65,7.8.2 監(jiān)測并改善數(shù)據(jù)庫性能 目前許多DBMS產(chǎn)品都提供了監(jiān)測系統(tǒng)性能參數(shù)的工具,DBA可以利用系統(tǒng)提供的這些工具,經(jīng)常對數(shù)據(jù)庫的存儲空間狀況及響應時間進行分析評價; 結(jié)合用戶的反應情況確定改進措施;及時改正運行中發(fā)現(xiàn)的錯誤; 按用戶的要求對數(shù)據(jù)庫的現(xiàn)有功能進行適當?shù)臄U充。 但要注意在增加新功能時應保證原有功能和性能不受損害。,66,7.8.3 重新組織和構(gòu)造數(shù)據(jù)庫 數(shù)據(jù)庫建立后,除了數(shù)據(jù)本身是動態(tài)變化以外,隨著應用環(huán)境的變化,數(shù)據(jù)庫本身也必須變化以適應應用要求。 數(shù)據(jù)庫運行一段時間后,由于記錄的不斷增加、刪除和修改,會改變數(shù)據(jù)庫的物理存儲結(jié)構(gòu),使數(shù)據(jù)庫的物理特性受到破壞,從而降低數(shù)據(jù)庫存儲空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫的性能下降。因此,需要對數(shù)據(jù)庫進行重新組織,即重新安排數(shù)據(jù)的存儲位置,回收垃圾,減少指針鏈,改進數(shù)據(jù)庫的響應時間和空間利用率,提高系統(tǒng)性能。這與操作系統(tǒng)對“磁盤碎片”的處理的概念相類似。,67,數(shù)據(jù)庫的重組只是使數(shù)據(jù)庫的物理存儲結(jié)構(gòu)發(fā)生變化,而數(shù)據(jù)庫的邏輯結(jié)構(gòu)不變,所以根據(jù)數(shù)據(jù)庫的三級模式,可以知道數(shù)據(jù)庫重組對系統(tǒng)功能沒有影響,只是為了提高系統(tǒng)的性能。 數(shù)據(jù)庫應用環(huán)境的變化可能導致數(shù)據(jù)庫的邏輯結(jié)構(gòu)發(fā)生變化,比如要增加新的實體,增加某些實體的屬性,這樣實體之間的聯(lián)系發(fā)生了變化,這樣使原有的數(shù)據(jù)庫設計不能滿足新的要求,必須對原來的數(shù)據(jù)庫重新構(gòu)造,適當調(diào)整數(shù)據(jù)庫的模式和內(nèi)模式,比如要增加新的數(shù)據(jù)項,增加或刪除索引,修改完整性約束條件等。,68,DBMS一般都提供了重新組織和構(gòu)造數(shù)據(jù)庫的應用程序,以幫助DBA完成數(shù)據(jù)庫的重組和重構(gòu)工作。 只要數(shù)據(jù)庫系統(tǒng)在運行,就需要不斷地進行修改、調(diào)整和維護。一旦應用變化太大,數(shù)據(jù)庫重新組織也無濟于事,這就表明數(shù)據(jù)庫應用系統(tǒng)的生命周期結(jié)束,應該建立新系統(tǒng),重新設計數(shù)據(jù)庫。從頭開始數(shù)據(jù)庫設計工作,標志著一個新的數(shù)據(jù)庫應用系統(tǒng)生命周期的開始。,69,小 結(jié) 本章主要討論數(shù)據(jù)庫設計的方法和步驟,列舉了許多實例,詳細介紹了數(shù)據(jù)庫設計中規(guī)劃、需求分析、概念設計、邏輯設計、物理設計及運行與維護各階段的目標、方法和應注意的事項。其中重點是概念結(jié)構(gòu)的設計和邏輯結(jié)構(gòu)的設計,這也是數(shù)據(jù)庫設計過程中最重要的兩個環(huán)節(jié)。 學習這一章,要努力掌握書中討論的基本方法,還要能在實際工作中運用這些思想,設計出符合應用需求的數(shù)據(jù)庫應用系統(tǒng)。,70,

注意事項

本文(數(shù)據(jù)庫實用教程ppt課件)為本站會員(鐘***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!