22-1數據庫設計教學教案_第1頁
22-1數據庫設計教學教案_第2頁
22-1數據庫設計教學教案_第3頁
22-1數據庫設計教學教案_第4頁
22-1數據庫設計教學教案_第5頁
已閱讀5頁,還剩76頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫設計-1數據庫原理及應用-數據庫設計2主要內容數據庫設計概述需求分析概念結構設計邏輯結構設計數據庫的物理設計數據庫實施和維護小結數據庫原理及應用-數據庫設計3數據庫設計概述數據庫應用系統管理信息系統辦公自動化系統地理信息系統電子政務系統電子商務系統數據庫原理及應用-數據庫設計5數據庫設計概述數據庫設計的特點數據庫設計方法數據庫設計的基本步驟數據庫設計過程中的各級模式返回數據庫原理及應用-數據庫設計6數據庫設計的特點三分技術,七分管理,十二分基礎數據結構設計和行為設計相結合即數據庫設計與應用系統設計相結合返回數據庫原理及應用-數據庫設計7數據庫設計方法數據庫設計人員應該具備的技術和知識數據庫的基本知識和數據庫設計技術計算機的基礎知識程序設計的方法和技巧軟件工程的原理和方法應用領域的知識數據庫原理及應用-數據庫設計8數據庫設計方法手工試湊法手工與經驗相結合的方法規范設計法采用軟件工程的思想來進行數據設計典型方法-新奧爾良法將數據庫設計分四個階段需求分析、概念設計、邏輯設計和物理設計計算機輔助設計ORACLEDesigner2000SYBASEPowerDesigner返回數據庫原理及應用-數據庫設計9數據庫設計步驟需求收集和分析設計概念結構設計邏輯結構數據模型優化設計物理結構評價設計、性能預測使用、維護數據庫不滿意不滿意需求分析階段概念設計階段邏輯設計階段物理設計階段數據庫實施階段數據庫運行和維護階段試驗性運行物理實現數據庫原理及應用-數據庫設計10設計特點數據庫設計和應用系統設計緊密結合將這兩個設計的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計返回數據庫原理及應用-數據庫設計11數據庫設計過程中的各級模式應用要求應用要求應用要求應用要求概念模式邏輯模式外模式外模式外模式外模式應用1應用2應用3應用4綜合轉換映像映像內模式返回數據庫原理及應用-數據庫設計12需求分析需求分析概述需求分析的任務需求分析的重點需求分析的難點需求分析的步驟數據字典數據庫原理及應用-數據庫設計13需求分析需求分析是設計數據庫的起點需求分析的結果是否準確地反映了用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用通過詳細調查現實世界要處理的對象,充分了解原系統工作概況,明確需求。在此基礎上確定新系統的功能新系統必須充分考慮今后可能的擴充和改變數據庫原理及應用-數據庫設計14需求分析的重點需求分析的重點是調查、收集與分析用戶在數據管理中的各種要求:信息要求用戶需要從數據庫中獲得信息的內容與性質在數據庫中需要存儲哪些數據處理要求對處理功能、響應時間、處理方式的要求安全性與完整性要求數據庫原理及應用-數據庫設計15需求分析的難點用戶缺少計算機知識,無法準確表達自己的需求設計人員缺少用戶的專業知識,不易理解用戶的真正需求新的硬件、軟件技術的出現也會使用戶需求發生變化解決方法:不斷溝通數據庫原理及應用-數據庫設計16需求分析的步驟1、調查清楚用戶的實際需求并進行初步分析2、與用戶達成共識3、進一步分析與表達這些需求4、將分析結果再次提交給用戶,征得用戶的認可數據庫原理及應用-數據庫設計17調查與初步分析用戶需求調查與初步分析用戶需求步驟調查組織機構情況調查各部門的業務活動情況在熟悉業務活動的基礎上,協助用戶明確對新系統的各種要求對前面調查的結果進行初步分析數據庫原理及應用-數據庫設計18調查與初步分析用戶需求常用調查方法跟班作業開調查會請專人介紹詢問設計調查表請用戶填寫查閱記錄數據庫原理及應用-數據庫設計19進一步分析和表達用戶需求分析和表達用戶的需求的常用方法:自頂向下的結構化分析方法(StructuredAnalysis,簡稱SA方法)SA方法從最上層的系統組織機構入手,采用逐層分解的方式分析系統,并用數據流圖和數據字典描述系統。數據庫原理及應用-數據庫設計20進一步分析和表達用戶需求1、首先把任何一個系統都抽象為:數據流數據流數據存儲信息要求數據來源處理數據輸出處理要求數據流圖——表達了數據和處理過程的關系數據庫原理及應用-數據庫設計21進一步分析和表達用戶需求2、分解處理功能和數據分解處理功能分解數據表達方法將處理功能的具體內容分解為若干子功能,再將每個子功能繼續分解,直到把系統的工作過程表達清楚為止。在處理功能逐步分解的同時,其所用的數據也逐級分解,形成若干層次的數據流圖處理過程:用判定表或判定樹來描述數據:用數據字典來描述數據與處理過程的關系:數據流圖

數據庫原理及應用-數據庫設計22需求分析過程需求分析過程明確用戶需求返回數據庫原理及應用-數據庫設計23數據字典數據字典的用途:數據字典是各類數據描述的集合;數據字典是進行詳細的數據收集和數據分析所獲得的主要結果數據字典在數據庫設計中占有很重要的地位數據庫原理及應用-數據庫設計24數據字典的內容數據字典的內容:數據項數據結構數據流數據存儲處理過程數據庫原理及應用-數據庫設計25數據項數據項是數據的最小組成單位若干個數據項可以組成一個數據結構數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容。對數據項的描述:{數據項名,數據項含義說明,別名,數據類型,長度,取值范圍,取值含義,與其他數據項的邏輯關系}數據庫原理及應用-數據庫設計26數據項示例例1學生學籍管理子系統的數據字典。數據項:以“學號”為例:數據項名:學號含義說明:唯一標識每個學生別名:學生編號、類型:字符型、長度:8取值范圍:00000000至99999999取值含義:前兩位表示該學生所在年級,后六位按順序編號數據庫原理及應用-數據庫設計27數據結構數據結構反映了數據之間的組合關系。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構混合組成對數據結構的描述:{數據結構名,含義說明,組成:{數據項或數據結構}}數據庫原理及應用-數據庫設計28數據結構示例數據結構:以“學生”為例[例1]數據結構名:學生含義說明:是學籍管理子系統的主體數據結構,定義了一個學生的有關信息組成:學號,姓名,性別,年齡,所在系,年級數據庫原理及應用-數據庫設計29數據流數據流是數據結構在系統內傳輸的路徑對數據流的描述:{數據流名,說明,數據流來源,數據流去向,組成:{數據結構},平均流量,高峰期流量}數據流來源是說明該數據流來自哪個過程數據流去向是說明該數據流將到哪個過程去平均流量是指在單位時間(每天、每周、每月等)里的傳輸次數高峰期流量則是指在高峰時期的數據流量數據庫原理及應用-數據庫設計30數據流示例數據流:“體檢結果”可如下描述:數據流名:體檢結果說明:學生參加體格檢查的最終結果數據流來源:體檢數據流去向:批準組成:……平均流量:……高峰期流量:……數據庫原理及應用-數據庫設計31數據存儲數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一對數據存儲的描述:數據存儲描述={數據存儲名,說明,編號,流入的數據流,流出的數據流,組成:{數據結構},數據量,存取方式}流入的數據流:指出數據來源;流出的數據流:指出數據去向;數據量:每次存取多少數據,每天(或每小時、每周等)存取幾次等信息;數據庫原理及應用-數據庫設計32數據存儲存取方法:批處理/聯機處理;檢索/更新;順序檢索/隨機檢索。數據庫原理及應用-數據庫設計33數據存儲示例

數據存儲:

“學生登記表”可如下描述:數據存儲名:學生登記表說明:記錄學生的基本情況流入數據流:……流出數據流:……組成:……數據量:每年3000張存取方式:隨機存取數據庫原理及應用-數據庫設計34處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。數據字典中只需要描述處理過程的說明性信息處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},處理:{簡要說明}}簡要說明:功能:該處理過程用來做什么;處理要求:處理頻度要求(如單位時間里處理多少事務,多少數據量);響應時間要求等;處理要求是后面物理設計的輸入及性能評價的標準。數據庫原理及應用-數據庫設計35處理過程示例處理過程:“分配宿舍”可如下描述:處理過程名:分配宿舍說明:為所有新生分配學生宿舍輸入:學生,宿舍輸出:宿舍安排處理:為所有新生分配學生宿舍。要求:

同一間宿舍只能安排同一性別的學生,

同一個學生只能安排在一個宿舍中,

每個學生的居住面積不小于3平方米;

安排新生宿舍其處理時間應不超過15分鐘。返回數據庫原理及應用-數據庫設計36概念結構設計概念結構設計概述概念結構設計的方法與步驟數據抽象與局部視圖設計視圖的集成返回數據庫原理及應用-數據庫設計37概念結構設計將需求分析得到的用戶需求抽象為概念模型的過程就是概念結構設計概念結構設計是整個數據庫設計的關鍵現實世界機器世界

信息世界

需求分析概念結構設計數據庫原理及應用-數據庫設計38概念結構設計的特點概念結構是現實世界的一個真實模型。易于理解,可以用它和用戶溝通易于更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充。易于向關系、網狀、層次等各種數據模型轉換。返回數據庫原理及應用-數據庫設計39概念結構設計的方法自頂向下自底向上逐步擴張混合策略首先定義全局概念結構的框架,然后逐步細化首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。數據庫原理及應用-數據庫設計40概念結構設計的方法常用策略:首先自頂向下地進行需求分析,然后自底向上地設計概念結構。需求需求1需求n需求1.1需求1.2需求n.1需求n.2概念模式1.1概念模式1.2概念模式n.1概念模式n.2概念模式1概念模式n全局概念模式(應用1)(應用n)需求分析概念結構設計數據庫原理及應用-數據庫設計41概念結構設計的方法自底向上設計概念結構通常分為兩步:第一步是抽象數據并設計局部視圖第二步是集成局部視圖,得到全局概念結構數據抽象、局部視圖的設計視圖集成分ER圖總ER圖DFDDD需求分析返回用戶征求意見直到滿意為止邏輯結構設計返回數據庫原理及應用-數據庫設計42數據抽象三種常用抽象:分類(Classification)聚集(Aggregation)概括(Generalization)數據庫原理及應用-數據庫設計43數據抽象-分類定義某一類概念作為現實世界中一組對象的類型,這些對象具有某些共同的特性和行為在E-R模型中,實體型就是這種抽象它抽象了對象值和型之間的“ismemberof”的語義學生張英王平劉勇趙斌“ismemberof”……數據庫原理及應用-數據庫設計44數據抽象-聚集定義某一類型的組成成分它抽象了對象內部類型和成分之間“ispartof”的語義在E-R模型中若干屬性的聚集組成了實體型,就是這種抽象學生學號姓名專業班級實體型屬性“ispartof”數據庫原理及應用-數據庫設計45數據抽象-概括定義類型之間的一種子集聯系它抽象了類型之間的“issubsetof”的語義概括有一個很重要的性質:繼承性。子類繼承超類上定義的所有抽象學生本科生研究生超類子類“issubsetof”數據庫原理及應用-數據庫設計46數據抽象-概括原E-R模型不具有概括,本書對E-R模型作了擴充,允許定義超類實體型和子類實體型用雙豎邊的矩形框表示子類用直線加小圓圈表示超類-子類的聯系數據庫原理及應用-數據庫設計47數據抽象的用途數據抽象的用途對需求分析階段收集到的數據進行分類、組織(聚集),形成實體實體的屬性,標識實體的碼確定實體之間的聯系類型(1:1,1:n,m:n)數據庫原理及應用-數據庫設計48局部視圖設計步驟:1、選擇局部應用2、逐一設計分E-R圖數據庫原理及應用-數據庫設計49選擇局部應用需求分析階段已用多層數據流圖和數據字典描述了整個系統設計分E-R圖首先需要根據系統的具體情況,在多層的數據流圖中選擇一個適當層次的數據流圖,讓這組圖中每一部分對應一個局部應用,然后以這一層次的數據流圖為出發點,設計分E-R圖數據庫原理及應用-數據庫設計50選擇局部應用通常以中層數據流圖作為設計分E-R圖的依據高層數據流圖只能反映系統的概貌中層數據流圖能較好地反映系統中各局部應用的子系統組成低層數據流圖過細數據庫原理及應用-數據庫設計51選擇局部應用教師管理

子系統后勤管理

子系統學生管理

子系統學校信息

管理系統……設計分ER圖的出發點……圖8設計分ER圖的出發點數據庫原理及應用-數據庫設計52逐一設計分E-R圖任務:確定局部應用中的實體、屬性、碼,實體間的聯系如何抽象實體和屬性實體:現實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是“ismemberof”的關系例如:在學校環境中,可把張三、李四等對象抽象為學生實體數據庫原理及應用-數據庫設計53逐一設計分E-R圖屬性:對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是“ispartof"的關系。例如:學號、姓名、專業、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼區別實體和屬性的兩條準則:屬性不能再具有需要描述的性質。即屬性必須是不可分的數據項屬性不能與其他實體具有聯系。聯系只發生在實體之間。數據庫原理及應用-數據庫設計54逐一設計分E-R圖符合上述兩條特性的事物一般作為屬性對待。為了簡化E-R圖的處置,現實世界中的事物凡能夠作為屬性對待的,應盡量作為屬性數據庫原理及應用-數據庫設計55逐一設計分E-R圖例2“學生”由學號、姓名等屬性進一步描述,根據準則1,“學生”只能作為實體,不能作為屬性。例3職稱通常作為教師實體的屬性,但在涉及住房分配時,由于分房與職稱有關,也就是說職稱與住房實體之間有聯系,根據準則2,這時把職稱作為實體來處理會更合適些。數據庫原理及應用-數據庫設計56逐一設計分E-R圖設計分E-R圖的步驟:(1)以數據字典為出發點定義E-R圖。數據字典中的“數據結構”、“數據流”和“數據存儲”等已是若干屬性的有意義的聚合(2)按上面給出的準則進行必要的調整數據庫原理及應用-數據庫設計57逐一設計分E-R圖例4學籍管理局部應用中主要涉及的實體包括學生、宿舍、檔案材料、班級、班主任。實體之間的聯系:宿舍與學生之間是1:n的聯系。班級與學生之間是1:n的聯系。班主任與學生之間是1:n的聯系班級與班主任之間是1:1的聯系數據庫原理及應用-數據庫設計58逐一設計分E-R圖學籍管理局部應用的分ER圖數據庫原理及應用-數據庫設計59逐一設計分E-R圖該E-R圖中省略了各個實體的屬性描述。這些實體的屬性分別為:學生:{學號,姓名,出生日期,}

檔案材料:{檔案號,……}

班級:{班級號,學生人數}

班主任:{職工號,姓名,性別,是否為優秀班主任}

宿舍:{宿舍編號,地址,人數}

教室:{教室編號,地址,容量}數據庫原理及應用-數據庫設計60逐一設計分E-R圖學生:{姓名,學號,性別,年齡,所在系,年級,平均成績}

課程:{課程號,課程名,學分}

教師:{職工號,姓名,性別,職稱}

教科書:{書號,書名,價錢}

教室:{教室編號,地址,容量}教學管理局部應用的分ER圖返回數據庫原理及應用-數據庫設計61視圖的集成各個局部視圖即分E-R圖建立好后,還需要對它們進行合并,集成為一個整體的概念結構即總E-R圖。兩種方式:一次集成逐步累積式數據庫原理及應用-數據庫設計62視圖的集成(E-R)1(E-R)2(E-R)n……初步E-R基本E-R圖11多個分ER圖一次集成數據庫原理及應用-數據庫設計63視圖的集成(E-R)1(E-R)2(E-R)12…初步E-R基本E-R(E-R)3圖12逐步集成數據庫原理及應用-數據庫設計64視圖的集成集成局部E-R圖的步驟:1、合并

解決各E-R圖之間的沖突,將各分E-R圖合并起來生成初步E-R圖2、修改與重構

消除不必要的冗余,生成基本E-R圖3、驗證整體概念結構返回數據庫原理及應用-數據庫設計65視圖的集成數據庫原理及應用-數據庫設計66合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突各個局部應用所面向的問題不同由不同的設計人員進行設計各個分E-R圖之間必定會存在許多不一致的地方合并分E-R圖的主要工作與關鍵所在:合理消除各分E-R圖的沖突數據庫原理及應用-數據庫設計67合并分E-R圖,生成初步E-R圖沖突的種類:屬性沖突命名沖突結構沖突數據庫原理及應用-數據庫設計68屬性沖突兩類屬性沖突屬性域沖突:屬性值的類型、取值范圍或取值集合不同。屬性取值單位沖突例:某一局部應用將學號定義為整數形式,另一局部應用又將學號定義為字符型形式例:學生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位數據庫原理及應用-數據庫設計69屬性沖突屬性沖突的解決方法通常用討論、協商以及行政手段加以解決數據庫原理及應用-數據庫設計70命名沖突兩類命名沖突同名異義:不同意義的對象在不同的局部應用中具有相同的名字例:局部應用A中將教室稱為房間

局部應用B中將學生宿舍稱為房間異名同義(一義多名):同一意義的對象在不同的局部應用中具有不同的名字例:有的部門把教科書稱為課本

有的部門則把教科書稱為教材數據庫原理及應用-數據庫設計71命名沖突命名沖突可能發生在屬性級、實體級、聯系級上。其中屬性的命名沖突更為常見命名沖突的解決方法通過討論、協商以及行政手段加以解決數據庫原理及應用-數據庫設計72結構沖突三類結構沖突同一對象在不同應用中具有不同的抽象例:“課程”在某一局部應用中被當作實體

在另一局部應用中則被當作屬性解決方法:通常是把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。變換時要遵循兩個準則。數據庫原理及應用-數據庫設計73結構沖突同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。產生原因:不同的局部應用關心的是該實體的不同側面。解決方法:使該

溫馨提示

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

評論

0/150

提交評論