數(shù)據(jù)庫設計培訓_第1頁
數(shù)據(jù)庫設計培訓_第2頁
數(shù)據(jù)庫設計培訓_第3頁
數(shù)據(jù)庫設計培訓_第4頁
數(shù)據(jù)庫設計培訓_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

培訓講師:XXXXXX2020年6月數(shù)據(jù)庫設計培訓數(shù)據(jù)庫設計概述1數(shù)據(jù)庫設計2數(shù)據(jù)庫設計規(guī)范3目錄數(shù)據(jù)庫設計概述為什么需要設計數(shù)據(jù)庫?良好的數(shù)據(jù)庫設計:節(jié)省數(shù)據(jù)的存儲空間能夠保證數(shù)據(jù)的完整性方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)糟糕的數(shù)據(jù)庫設計:數(shù)據(jù)冗余、存儲空間浪費內存空間浪費數(shù)據(jù)更新和插入的異常數(shù)據(jù)庫設計概述什么是數(shù)據(jù)庫設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造(設計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結構,并據(jù)此建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應用需求,包括信息管理要求和數(shù)據(jù)操作要求。目標:為用戶和各種應用系統(tǒng)提供一個信息基礎設施和高效率的運行環(huán)境數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計專業(yè)人員應具備哪些知識?數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設計技術計算機科學的基礎知識和程序設計的方法和技巧軟件工程的原理和方法應用領域的知識數(shù)據(jù)庫設計概述數(shù)據(jù)庫設計方法規(guī)范設計法手工設計方法基本思想:過程迭代和逐步求精典型方法新奧爾良(NewOrleans)方法將數(shù)據(jù)庫設計分為四個階段基于E-R模型的數(shù)據(jù)庫設計方法概念設計階段廣泛采用3NF(第三范式)的設計方法邏輯階段可采用的有效方法ODL(ObjectDefinitionLanguage)方法面向對象的數(shù)據(jù)庫設計方法計算機輔助設計ORACLEDesigner2000SYBASEPowerDesigner數(shù)據(jù)庫設計概述良好設計的目標數(shù)據(jù)庫支持設定的和實時的信息提取。數(shù)據(jù)庫必須存儲必要的信息,支持在設計時確定的信息需求,并支持用戶可能提出的實時查詢。表應當正確、有效地構造。數(shù)據(jù)庫中的每個表都代表一個主題,由一些相關的字段組成,數(shù)據(jù)的冗余度盡可能小,并且在整個數(shù)據(jù)庫中通過一個具有唯一值的字段表示。數(shù)據(jù)的完整性強加在字段、表和關系級。這些完整性幫助確保數(shù)據(jù)結構和它們的值始終是有效的和正確的。數(shù)據(jù)庫支持與組織機構有關的業(yè)務規(guī)則。數(shù)據(jù)必須提供合法和正確的信息,這些信息對于企業(yè)總是有意義的。數(shù)據(jù)庫支持未來的增長。隨著企業(yè)的信息需求的變化和增長,數(shù)據(jù)庫的結構應當易于修改和擴充。數(shù)據(jù)庫設計概述開發(fā)周期現(xiàn)實世界建模信息世界數(shù)據(jù)庫世界模型轉換規(guī)范化需求分析階段:分析客戶的業(yè)務和數(shù)據(jù)處理需求;概要設計階段:設計數(shù)據(jù)庫的E-R模型圖,確認需求信息的正確和完整;詳細設計階段:將E-R圖轉換為多張表,進行邏輯設計,并應用數(shù)據(jù)庫設計的三大范式進行審核;代碼編寫階段:選擇具體數(shù)據(jù)庫進行物理實現(xiàn);軟件測試階段:……安裝部署:……數(shù)據(jù)庫設計概述基本步驟數(shù)據(jù)庫設計分6個階段需求分析概念結構設計邏輯結構設計物理結構設計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護

數(shù)據(jù)庫設計概述1數(shù)據(jù)庫設計2數(shù)據(jù)庫設計規(guī)范3目錄數(shù)據(jù)庫設計術語及定義實體(Entity):客觀存在并可相互區(qū)別的事物稱為實體,實體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。屬性(Attribute):實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。主鍵:通常在實體中將一個屬性或多個屬性的數(shù)據(jù)設置成具有各不相同的值,以便能惟一地標識實體中的每一條記錄。這樣的一個屬性或多個屬性稱為表的主鍵,通過它可強制實現(xiàn)實體的完整性,消除實體的冗余數(shù)據(jù)。主鍵具有如下特性:不重復性、非空性、惟一性。外鍵:外鍵是最能體現(xiàn)關系型數(shù)據(jù)庫引用完整性特點的約束。將一個實體的一個屬性(或多個屬性)定義為引用其他實體的主鍵或惟一約束屬性,則引用實體中的這個屬性(或多個屬性)就稱為外鍵。被引用的實體稱為主鍵約束(或惟一約束)實體;引用實體稱為外鍵約束實體。

數(shù)據(jù)庫設計術語及定義概念模型:概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言。它可以真實、充分地反映現(xiàn)實世界,包括事物與事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實模型。概念模型設計是整個數(shù)據(jù)庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。邏輯模型:邏輯模型設計的任務就是把概念模型設計階段設計好的基本E-R圖經過優(yōu)化、聚類轉換為與選用DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構。E-R模型關系模型概念結構設計數(shù)據(jù)抽象與局部視圖數(shù)據(jù)抽象抽象是對實際的人、物、事和概念中抽取所關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述。概念結構是對現(xiàn)實世界的一種抽象。三類抽象分類聚集概括概念結構設計數(shù)據(jù)抽象與局部視圖分類將一類具有共同特性和行為的對象定義為一種某類型,在E-R模型中的實體型就是這種抽象,如學生,課程抽象了對象的值和型之間“ismemberof”語義學生“ismemberof”張英王平趙斌實體型課程“ismemberof”C語言數(shù)據(jù)庫操作系統(tǒng)實體型概念結構設計數(shù)據(jù)抽象與局部視圖聚集定義某類型的組成成分,對應E-R模型中實體的屬性抽象了對象類型和其成分之間的“ispartof”語義學生學號姓名專業(yè)班級“ispartof”實體型屬性概念結構設計數(shù)據(jù)抽象與局部視圖概括定義類型之間的子集聯(lián)系,形成超(父)類、子類抽象了類型之間“issubsetof”語義概括的重要性質:繼承,即子類集成超類的所有抽象是E-R模型的抽象機制的擴充學生本科生研究生概括的E-R表示“issubsetof”超類子類學號,姓名,性別,年齡專業(yè),綜合排名導師,研究方向概念結構設計E-R圖例邏輯結構設計邏輯結構設計的任務把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構邏輯結構設計的步驟將概念結構轉化為一般的關系、網狀、層次模型將轉換來的關系、網狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉換對數(shù)據(jù)模型進行優(yōu)化邏輯結構設計邏輯結構設計一對一關系轉換實體對應關系模式分別為:班級(班號,專業(yè),人數(shù))班長(學號,姓名,專長)聯(lián)系管理(班號,學號)關系模式“管理”的主鍵也可以選擇學號建立獨立的關系模式邏輯結構設計一對多關系轉換實體對應的關系模式系(系號,系名,系主任,電話)教師(教師號,姓名,專業(yè),職稱,性別,年齡)聯(lián)系對應的關系模式管理(教師號,系號)建立獨立的關系模式邏輯結構設計多對多關系轉換課程(課程號,課程名,學時,類別)學生(學號,姓名,性別,專業(yè),出生日期,照片)選修(學號,課程號,分數(shù))邏輯結構設計數(shù)據(jù)規(guī)范化僅有好的RDBMS并不足以避免數(shù)據(jù)冗余,必須在數(shù)據(jù)庫的設計中創(chuàng)建好的表結構DrE.F.codd最初定義了規(guī)范化的三個級別,范式是具有最小冗余的表結構。這些范式是:第一范式(1stNF-FirstNormalFromate)第二范式(2ndNF-SecondNormalFromate)第三范式(3rdNF-ThirdNormalFromate)邏輯結構設計第一范式BuyerIDCountryCity1142中國中國日本美國北京北京東京紐約………BuyerIDAddress1234中國北京市美國紐約市英國利物浦日本東京市……第一范式的目標是確保每列的原子性如果每列都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)邏輯結構設計第二范式Orders字段例子訂單編號產品編號訂購日期價格001A0012000-2-3$29.00……Orders字段例子訂單編號訂購日期0012000-2-3Products字段例子產品編號價格A001$29.00如果一個關系滿足1NF,并且除了主鍵以外的其他列,都依賴與該主鍵,則滿足第二范式(2NF)第二范式要求每個表只描述一件事情邏輯結構設計第三范式Orders字段例子訂單編號訂購日期顧客編號0012000-2-3AB001顧客姓名Tony……Orders字段例子訂單編號訂購日期顧客編號0012000-2-3AB001……如果一個關系滿足2NF,并且除了主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF)邏輯結構設計規(guī)范化實例工程號工程名稱職工號姓名職務小時工資率工時實發(fā)工資A1花園大廈1001齊光明工程師6513845.001002李思岐技術員6016960.001004葛宇宏律師60191140.00小計2945.00A2立交橋1001齊光明工程師6515975.001003鞠明亮工人5517935.00小計1910.00A3臨江飯店1002李思岐技術員60181080.001004葛宇洪技術員6014840.00小計1920.00圖1某公司的工資表邏輯結構設計規(guī)范化實例工程號工程名稱職工號姓名職務小時工資率工時A1花園大廈1001齊光明工程師6513A1花園大廈1002李思岐技術員6016A1花園大廈1001齊光明工程師6513A1花園大廈1003鞠明亮工人5517A3臨江飯店1002李思岐技術員6018A3臨江飯店1004葛宇洪技術員6014圖2某公司的項目工時表邏輯結構設計規(guī)范化實例1.表中包含大量的冗余,可能會導致數(shù)據(jù)異常:更新異常例如,修改職工號=1001的職務,則必須修改所有職工號=1001的行添加異常若要增加一個新的職工時,首先必須給這名職工分配一個工程?;蛘邽榱颂砑右幻侣毠さ臄?shù)據(jù),先給這名職工分配一個虛擬的工程。(因為主關鍵字不能為空)刪除異常例如,1001號職工要辭職,則必須刪除所有職工號=1001的數(shù)據(jù)行。這樣的刪除操作,很可能丟失了其它有用的數(shù)據(jù)邏輯結構設計應用第一范式一張表描述了多件事情,如圖3所示。工程號工程名稱職工號姓名職務小時工資率工時圖3函數(shù)依賴圖工程信息員工信息項目工時信息邏輯結構設計應用第2范式工程號工程名稱職工號姓名職務小時工資率工程號職工號工時圖4

應用第二范式工程表員工表項目工時表滿足第三范式嗎?

邏輯結構設計應用第三范式工程號工程名稱職工號姓名職務職務小時工資率工程號職工號工時工程表員工表職務表工程表邏輯結構設計規(guī)范化和性能的關系為滿足某種商業(yè)目標,數(shù)據(jù)庫性能比規(guī)范化數(shù)據(jù)庫更重要通過在給定的表中添加額外的字段,以大量減少需要從中搜索信息所需的時間通過在給定的表中插入計算列(如成績總分),以方便查詢進行規(guī)范化的同時,還需要綜合考慮數(shù)據(jù)庫的性能。邏輯結構設計規(guī)范化和性能的關系例:在關系模式學生成績單(學號,英語,數(shù)學,語文,平均成績)

中存在下列函數(shù)依賴:學號→英語學號→數(shù)學學號→語文學號→平均成績

(英語,數(shù)學,語文)→平均成績顯然有:學號→(英語,數(shù)學,語文)

因此該關系模式中存在傳遞函數(shù)信賴,是2NF關系。雖然平均成績可以由其他屬性推算出來,但如果應用中需要經常查詢學生的平均成績,為提高效率,我們仍然可保留該冗余數(shù)據(jù),對關系模式不再做進一步分解。物理結構設計數(shù)據(jù)庫在物理設備上的存儲結

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論