數(shù)據(jù)庫系統(tǒng)設計的步驟課件_第1頁
數(shù)據(jù)庫系統(tǒng)設計的步驟課件_第2頁
數(shù)據(jù)庫系統(tǒng)設計的步驟課件_第3頁
數(shù)據(jù)庫系統(tǒng)設計的步驟課件_第4頁
數(shù)據(jù)庫系統(tǒng)設計的步驟課件_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 數(shù)據(jù)庫系統(tǒng)設計的步驟和方法概念結構的設計數(shù)據(jù)庫邏輯結構的設計 數(shù)據(jù)庫的物理設計 本章節(jié)是課程的最重要內容。數(shù)據(jù)庫系統(tǒng)設計包括數(shù)據(jù)庫設計和數(shù)據(jù)庫應用系統(tǒng)設計。而數(shù)據(jù)庫設計正確與否直接影響到應用系統(tǒng)的成敗。本章要介紹數(shù)據(jù)庫系統(tǒng)設計的基本理論和方法。主要包括:9/19/2022目標:建立一個性能良好的、能滿足不同用戶使用要求的、又能被選定的DBMS所接受的數(shù)據(jù)庫模式。內容:數(shù)據(jù)庫的邏輯結構設計、外模式設計和內設計。其中數(shù)據(jù)庫的邏輯結構設計最關鍵。3.1 數(shù)據(jù)庫系統(tǒng)設計概述3.1.1 數(shù)據(jù)庫系統(tǒng)設計的內容9/19/2022將現(xiàn)實世界中的事物、事物間的聯(lián)系用E-R圖表示,得出數(shù)據(jù)庫的概念結構模型

2、,最后將該模型轉化為數(shù)據(jù)庫的邏輯結構模型表示。1. 邏輯結構設計9/19/2022確定數(shù)據(jù)庫用戶的行為和動作,并根據(jù)其行為特性設計出用戶數(shù)據(jù)庫。2. 外模式設計3. 內模式設計在選定的DBMS環(huán)境下,把數(shù)據(jù)庫的邏輯結構模型加以物理實現(xiàn),設計出數(shù)據(jù)庫的存儲模式和存取方法。9/19/2022數(shù)據(jù)庫設計應分6個階段進行:需求分析、概念結構設計、邏輯結構設計、物理結構設計、數(shù)據(jù)庫實施和數(shù)據(jù)庫運行和維護。3.1.3 數(shù)據(jù)庫系統(tǒng)設計方法9/19/20223.2 系統(tǒng)需求分析主要任務是:詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等);充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))的概況和發(fā)展前景;明確用戶的各種

3、需求;收集支持系統(tǒng)目標的基礎數(shù)據(jù)及其處理方法;確定系統(tǒng)的功能。系統(tǒng)需求分析出的內容:要保存的數(shù)據(jù)數(shù)據(jù)處理內容數(shù)據(jù)安全性和完整性要求9/19/2022設計方法的自頂向下的需求分析(從全局到局部)自底向上的概念結構設計(從局部到全局)3.3 概念結構的設 計3.3.1 概念結構的特點及設計方法概念模型的特點:是對現(xiàn)實世界的一個真實模型容易理解容易修改容易向數(shù)據(jù)模型轉換設計方法:9/19/20223.3 概念結構的設 計 3.3.2 數(shù)據(jù)抽象與局部ER設計數(shù)據(jù)抽象是從實際的人、物、事和概念中抽取所關心的、本質的共同特性。把這些特性用各種概念精確地加以描述,這些概念組成了某種模型什么叫數(shù)據(jù)抽象?數(shù)據(jù)抽

4、象的三種基本方法:分類、聚集、和概括。利用數(shù)據(jù)抽象方法,可以對現(xiàn)實世界抽象得出概念模型的實體集和屬性。9/19/2022(1) 分類定義某一類概念作為現(xiàn)實世界中一組對象的類型,這些對象具有某些共同的特性和行為。3.3 概念結構的設計 3.3.2 數(shù)據(jù)抽象與局部視圖設計1. 三種數(shù)據(jù)抽象方法實體集的抽象9/19/2022定義某一類型的組成部分,它抽象了對象類型和對象內部“組成部分”的語義。(2) 聚集屬性的抽象職工(職工號,姓名,性別,部門)部門(部門號,部門名,電話)9/19/20222 設計分 E-R 圖(1)選擇局部應用自頂向下的需求分析,得到每一個局部應用,對每一個局部應用設計E-R圖。

5、(2)局E-R圖的設計確定局部應用中實體集和實體集之間的聯(lián)系。9/19/2022如何確定實體集和屬性?實體集與屬性是相對而言的,同一事物在某個環(huán)境中是屬性,在另一個環(huán)境中可能就是實體集。確定實體集和屬性的原則:(1) 屬性不能再具有描述特性(2)屬性不能與其他實體集發(fā)生聯(lián)系(3)在滿足處理問題的要求前提下,盡量減少實體集,能作屬性時不要作為實體集。例如:教學管理中:教師(職工編號,姓名,年齡,職稱)工資管理中:職稱(職稱代號,名稱,職稱工資)9/19/2022姓名性別部門職工編號名稱電話屬性不能再具有描述特性(2)姓名性別部門職工屬于編號電話名稱n19/19/2022屬性不能與其他實體集發(fā)生聯(lián)

6、系勞保用品發(fā)放品名規(guī)格姓名性別工種職工nm勞保用品發(fā)放品名規(guī)格姓名性別工種職工nm9/19/2022在滿足處理問題的要求前提下,盡量減少實體集(1)國名國歌國徽國家首都如果有首都名就可以滿足處理了,就.首都是首都名面積國名國歌國徽國家人口119/19/2022在滿足處理問題的要求前提下,盡量減少實體集(2)職稱具有編號名稱姓名性別年齡職工職稱工資姓名性別年齡職工職稱如果有職稱名就可以滿足處理了,就.n19/19/2022派生屬性(衍生屬性)工資=基本工資+等級工資+效益工資工號姓名效益工資職工基本工資等級工資工資是否使用派生屬性,取決于某一種應用處理需求派生屬性9/19/2022多值屬性價格:

7、經銷、代銷、批發(fā)、零售產品名規(guī)格產品價格產品號9/19/2022(2)建立一個新的實體集,原來的多值屬性上升為實體集優(yōu)點:適應處理上的變化缺點:增加了新的實體集產品名規(guī)格產品類型價格銷售價格有產品號產品號新實體集的屬性包括原實體集的主碼和多值屬性.與原實體集之間具有1:N聯(lián)系,新實體集依賴原實體集而存在,所以新實體集是一個弱實體集.1n9/19/2022ER圖設計實際例題公司管理工程管理 人事管理 財務管理 合同管理 .該公司有若干技術部,每一技術部門承擔多個工程,每個工程是部門負責制。每一個工程屬于一個客戶,一個客戶可能有多個工程,一名員工可能參與多個工程,每一個工程有多名員工參與。選擇局部

8、應用(1): XX公司管理-工程管理在工程管理中數(shù)據(jù)庫需保存的主要信息有:工程號、工程名、工程負責部門、完成期限、用戶信息、每項工程職工的參與,職工參與工程的工作量。9/19/2022工程號性別MN工程名工期員工工程參與部門名員工號員工名一名員工可能參與多個工程,每一個工程有多名員工參與。工程號工程名部門名承擔工程工期工時9/19/2022工程號工程名工期部門名承擔工程N1工程號電話工程名工期客戶工程屬于部門名客戶號客戶名每一個工程屬于一個客戶,一個客戶可能有多個工程9/19/2022工時工程號性別MN工程名工期員工工程參與部門名員工號員工名電話N1客戶屬于客戶號客戶名9/19/2022實體集

9、:工程(工程號,工程名,工期,部門名)員工(員工號,員工名,性別)客戶(客戶號,客戶名,電話)聯(lián)系:參與(工時)屬于MN員工工程參與N1客戶屬于工程管理E-R圖(1)9/19/2022該公司有多個部門,每個部門有多個職工,每一名職工屬于一個部門。一名職工可能有多種技能,同一種技能有很多員工具備。選擇局部應用(2): XX公司管理-人員管理在人員管理中數(shù)據(jù)庫需保存的主要信息主要有:職工基本信息、所屬部門,具備的技能與技術等。職工號職工名部門名性別年齡技能職工9/19/2022職工技能具有MN聘用1N部門實體集:部門(部門號,部門名,負責人)職工(職工號,職工名,性別,年齡)技能(技能代號,技術名

10、稱,類別)聯(lián)系:聘用具有(等級)人員管理E-R圖(2)(分析方法同上)9/19/20221) 屬性域沖突,即屬性值的類型、取值范圍不同。假設:E-R(1)中部門號為字符型,取值范圍(0-9)E-R(2)中部門編號為數(shù)字型,取值范圍(0-99) 2)屬性取值單位沖突如職工的工作量有的以小時為單位,有的可能以天為單位屬性沖突通常以討論和協(xié)商方式解決3.3.3 視圖的集成1. 合并分E-R圖,生成初步E-R圖(1) 屬性沖突9/19/2022(2) 命名沖突1)同名異義沖突,即不同意義的對象在不同的局部應用中具有相同的名字。例如:房間(宿舍樓號,房間號,床位數(shù)) 房間(教學樓號,教室號,座位數(shù))2)

11、 異名同義沖突,即意義相同的對象在不同的局部應用中有不同的名字。例如:E-R(1)員工與E-R(2)職工是相同意義上的對象9/19/20221) 同一對象在不同的應用中具有不同的抽象。部門在E-R(1)作為屬性,在E-R(2)實體集2) 同一實體集在不同分E-R圖中的屬性組成不一致.同一實體集在不同局部視圖中所包含的屬性不完全相同。這是常見的一類沖突:E-R(1)中 員工(員工號,員工名,性別)E-R(2)中 職工(職工號,職工名,性別,年齡)(3) 結構沖突9/19/20223) 實體集之間的聯(lián)系在不同的分E-R圖中呈現(xiàn)不同的類型。例如2個實體集E1、E2在一個局部應用中是一對一的聯(lián)系,而在

12、另一個局部應用中是一對多的聯(lián)系(3) 結構沖突沖突屬性沖突命名沖突結構沖突屬性域沖突屬性取值單位沖突同名異義沖突異名同義沖突同一對象有不同的抽象同一實體集屬性組成不一致.實體集之間的聯(lián)系類型不一致9/19/2022實體集:部門(部門號,部門名,負責人)職工(職工號,職工名,性別,年齡)技能(技能代號,技術名稱,類別)聯(lián)系:聘用具有(等級)實體集:工程(工程號,工程名,工期,部門名)員工(員工號,員工名,性別)客戶(客戶號,客戶名,電話)聯(lián)系:參與(工時)屬于一、命名沖突:1)員工統(tǒng)一為職工二、結構沖突:1)職工屬性為職工號,職工名,性別,年齡2)將部門名抽象為實體集9/19/2022將局部E-

13、R圖合并實體集:客戶(客戶號,客戶名,電話)工程(工程號,工程名,工期)部門(部門號,部門名,電話,負責人)職工(職工號,職工名,性別,年齡)技能(技能代號,技術名稱,類別)聯(lián)系:屬于承擔參與(工時)聘用具有(等級)技能具有MN聘用N1MN職工工程參與N1部門承擔職工1N屬于客戶9/19/2022確定局部結構范圍確定局部結構實體集定義局部結構屬性定義局部結構聯(lián)系還有局部結構設計?系統(tǒng)分析結果全局E-R模型設計有無E-R 模型的設計步驟9/19/20223.4.2 概念模型向關系模型的轉換1. 實體集的轉換規(guī)則一個實體集轉換為關系模型中的一個關系模式,實體集的屬性就是關系模式的屬性,從實體集碼中

14、選擇一個當主碼??蛻簦蛻籼枺蛻裘?,電話)工程(工程號,工程名,工期)部門(部門號,部門名,電話,負責人)職工(職工號,職工名,性別,年齡)技能(技能代號,技術名稱,類別)9/19/20222. 實體集間聯(lián)系的轉換規(guī)則(1) 1:1聯(lián)系的轉換方法1) 將1:1聯(lián)系轉換為一個獨立的關系模式,與該聯(lián)系相連的各實體集的主碼以及聯(lián)系本身的屬性均轉換為該模式的屬性,且每個實體集的主碼均是該關系模式的碼,選擇一個當主碼。實體集:職工(職工號,姓名,年齡)地點(地點編號,地點名,值班電話)聯(lián)系:值班(日期)值班(職工號,地點編號,日期)或值班(地點編號,職工號,日期)地點職工值班119/19/20222)

15、 將1:1聯(lián)系與某一端實體集所對應的關系模式合并,在被合并關系模式中增加屬性,其新增的屬性為聯(lián)系本身的屬性和與聯(lián)系相關的另一個實體集的主碼 產品職工負責11實體集:職工(職工號,姓名,年齡)產品(產品號,產品名,價格)聯(lián)系:負責職工(職工號,姓名,年齡,產品號)產品(產品號,產品名,價格)職工(職工號,姓名,年齡)產品(產品號,產品名,價格,職工號)在關系數(shù)據(jù)庫中,為了實現(xiàn)表與表之間的聯(lián)系,將一個表的主碼放到另一個表中(公共屬性),這些在另一個表中起聯(lián)系作用的屬性稱為外碼如果職工記錄多產品記錄少則有太多的空值9/19/2022(2) 1:n聯(lián)系的轉換方法1)將聯(lián)系轉換為一個獨立的關系模式。其關

16、系模式的屬性由與該聯(lián)系相連的各實體集的主碼以及聯(lián)系本身的屬性組成,而該關系的主碼為n端實體集的主碼圖書讀者借閱1n讀者(讀者號,姓名,性別)圖書(圖書號,書名,ISBN)借閱(日期)讀者(讀者號,姓名,性別)圖書(圖書號,書名,ISBN)借閱(圖書號,讀者號,日期)9/19/20222)將1:n 聯(lián)系與n 端實體集所對應的關系模式合并,在n 端實體集中增加新屬性。新屬性由聯(lián)系對應的 1 端實體集的主碼和聯(lián)系自身的屬性構成,新增屬性后原關系模式的主碼不變。產品倉庫倉儲1n倉庫(倉庫號,地點,面積)產品(產品號,產品名,價格)倉儲(數(shù)量)倉庫(倉庫號,地點,面積)產品(產品號,產品名,價格,倉庫號

17、,數(shù)量)9/19/2022(3) m:n聯(lián)系的轉換方法一個m:n聯(lián)系轉換為一個關系模式。轉換方法為:與該聯(lián)系相連的各實體集的主碼以及聯(lián)系本身的屬性均轉換為關系模式的屬性,新關系模式的主碼為兩個相連實體集主碼的組合(該主碼為多屬性構成的組合碼)。 課程學生選修mn學生(學號,姓名,年齡,性別)課程(課程號,課程名,學時數(shù))選修(成績)學生(學號,姓名,年齡,性別)課程(課程號,課程名,學時數(shù))選修(學號,課程號,成績)9/19/2022供應商(供應商號,供應商名,地址)零件(零件號,零件名,單價)產品(產品號,產品名,型號)供應(供應商號,零件號,產品號,數(shù)量)(4)多實體集間的多對多聯(lián)系的E-

18、R圖轉換供應商項目供應零件mpn供應商(供應商號,供應商名,地址)零件(零件號,零件名,單價)產品(產品號,產品名,型號)供應(數(shù)量)將三個或三個以上實體集間的聯(lián)系轉換為一個關系模式9/19/2022*(5)弱實體集的轉換一個弱實體集轉換為一個關系模式。且該關系模式的主碼部分或全部從所依賴的那個實體集中獲得。產品(產品號,產品名,規(guī)格)銷售價格(產品號,類型,價格)產品銷售價格有1n產品號產品名規(guī)格01計算機P402計算機P303打印機600DPI04掃描儀600DPI.產品號 類型價格01A600001B610001C650002B400002C4200.9/19/2022*(6)超類和子類

19、的轉換將超類和子類各定義一個關系模式(為了簡化表達方法,稱超類轉換的關系為父表,子類轉換的關系為子表)。將父表中的主碼放在子表中,實現(xiàn)父表與子表的聯(lián)系,由于父表與子表的主碼相同,所以子表的主碼也是外碼。職工技術人員干部職工(職工編號,姓名,性別,出生年月)技術人員(職工編號,學歷,專業(yè),級別)干部(職工編號,職務,職稱)9/19/2022在超類中將子表的類型設置為屬性,數(shù)據(jù)類型定義為邏輯型職工(職工編號,姓名,性別,出生年月,技術員,干部) 適用于非互斥性性子類(GS) 職工編號姓名性別出生年月技術員干部1001王名男1980-01-05TF1002何迎女1981-06-05TT9/19/20

20、22為查詢方便,在超類中增加定向指示器,根據(jù)指示器的值,查詢所要的子表。 職工(職工編號,姓名,性別,出生年月,類別)類別: 1技術人員 2干部職工編號姓名性別出生年月類別1001王名男1980-01-0511002何迎女1981-06-052適用于互斥性子類 9/19/2022*(7) 轉換中的其它問題 產品用戶購買MN一種產品多個用戶購買,一個用戶購買多種產品,并可在同一天內重復購買。產品(產品號,名稱,單價)用戶(顧客號,名稱,類別)購買(日期,數(shù)量) 購買(產品號,顧客號,日期,數(shù)量)產品號名稱單價01計算機600002顯示器100003打印機1800顧客號名稱類別01王銅個人02紡織

21、部機關03何鍵個人產品號顧客號日期數(shù)量01022004/1010/155購買(業(yè)務序號,日期, 產品號,顧客號,數(shù)量)9/19/20223. 關系模式合并規(guī)則在關系模型中具有相同主碼的關系模式可根據(jù)情況合并為一個關系模式模式。倉庫(倉庫號,地點,面積)產品(產品號,產品名,價格)倉儲(產品號,倉庫號,數(shù)量)倉庫(倉庫號,地點,面積)產品(產品號,產品名,價格,倉庫號,數(shù)量)9/19/20223.4.4 數(shù)據(jù)庫邏輯結構實例實體集:客戶(客戶號,客戶名,電話)工程(工程號,工程名,工期)部門(部門號,部門名,電話,負責人)職工(職工號,職工名,性別,年齡)技能(技能代號,

22、技術名稱,類別)聯(lián)系:屬于承擔參與(工時)聘用具有(等級)工程(工程號,工程名,工期,客戶號,客戶號,部門號)1)屬于 工程固定的屬于某個客戶職工(職工號,職工名,性別,年齡,部門號)技能(技能代號,技術名稱,類別)部門(部門號,部門名,電話,負責人)具有(職工號,技能代號)參與(工程號,職工號,工時)XX公司數(shù)據(jù)庫的E-R圖技能具有MN聘用N1MN職工工程參與N1部門承擔職工1N屬于客戶客戶(客戶號,客戶名,電話)2)承擔 工程由部門負責經常變化嗎?3)參與 構成主碼?4)具有 構成主碼?5)聘用 一名職工經常調動嗎?9/19/2022XX公司數(shù)據(jù)庫的數(shù)據(jù)結構圖工程(工程號,工程名,工期,客

23、戶號,客戶號,部門號)職工(職工號,職工名,性別,年齡,部門號)技能(技能代號,技術名稱,類別)部門(部門號,部門名,電話,負責人)具有(職工號,技能代號)參與(工程號,職工號,工時)客戶(客戶號,客戶名,電話)9/19/20223.4.3 用戶子模式的設計主要考慮用戶對數(shù)據(jù)的使用要求、習慣和安全性要求1 使用更符合用戶習慣的別名2 對不同級別的用戶可以定義不同的子模式3 簡化用戶對系統(tǒng)的使用9/19/2022例1 查詢工程承擔工程號,工程名,技術部,交工日期,用戶名涉及的關系模式:工程(工程號,工程名,工期,客戶名,部門號)部門(部門號,部門名,電話,負責人)例2 查詢職工的工程參與工時職工

24、名,工程名,小時涉及的關系模式:職工(職工號,職工名,性別,年齡,部門號)參與(工程號,職工號,工時)工程(工程號,工程名,工期,客戶名,部門號)9/19/20223.5 數(shù)據(jù)庫的物理設計 數(shù)據(jù)庫的物理設計是對于給定的邏輯數(shù)據(jù)模型選擇一個最適合應用環(huán)境的物理結構。什么是數(shù)據(jù)庫的物理設計?什么是數(shù)據(jù)庫的物理結構?數(shù)據(jù)庫在物理設備上的存儲結構與存取方法,它依賴于給定的計算機系統(tǒng)。9/19/2022查詢所需要的關系查詢條件所涉及的屬性連接條件所涉及的屬性查詢的投影屬性數(shù)據(jù)庫運行響應時間少存儲空間利用率高事務的吞吐率大物理設計目標是什么?確定數(shù)據(jù)存取方法時需考慮的問題:9/19/20223.5.2 關

25、系模式存取方法的選擇如何建立索引;根據(jù)應用要求確定對關系的那些屬性列建立索引及組合索引;那些建立唯一索引;建立多少索引合適。數(shù)據(jù)庫物理設計任務之一是確定數(shù)據(jù)的存取方法。9/19/2022索引文件 109876543219帶有索引的文件稱為索引文件, 它由索引文件和文件本身兩部分組成,索引文件的索引一定是按索引關鍵字順序存放的,所以索引文件在物理存儲器上有數(shù)據(jù)區(qū)和索引區(qū)2個部分. 索引文件的查找速度快, 但需要額外的存儲空間,一個文件建立的索引文件過多,會降低數(shù)據(jù)更新的速度.9/19/2022物理地址職工編號年齡工資工齡1001S001191910101002S002232000121003S0

26、0317187021004S004222110131005S005182400151006S00619180017232219191817年齡100210041006100110051003物理地址240021102000191018701800工資100510041002100110031006物理地址9/19/20221 索引存取方法(非聚蔟索引)建立索引原則:一個屬性或屬性組經常在查詢條件中出現(xiàn)一個屬性經常作為最大值和最小值等聚集函數(shù)的參數(shù)一個屬性或屬性組經常在連接條件中出現(xiàn)關系上定義索引數(shù)要適當 9/19/20222 聚蔟索引存取方法為了提高某個屬性或屬性組的查詢速度,把這個屬性或屬性組上具有相同值的元組集中存放在連續(xù)的物理塊上的處理為

溫馨提示

  • 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

提交評論