版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫系統(tǒng)原理及應用機械工業(yè)出版社
2023/2/3第3章
數(shù)據(jù)庫系統(tǒng)的設計方法3.1數(shù)據(jù)庫系統(tǒng)設計概述
3.1.1數(shù)據(jù)庫系統(tǒng)設計的內容
3.1.2數(shù)據(jù)庫系統(tǒng)設計應注意的問題
3.1.3數(shù)據(jù)庫設計的基本方法
3.1.4數(shù)據(jù)庫系統(tǒng)設計的基本步驟3.2系統(tǒng)需求分析
3.2.1需求分析的任務和方法
3.2.2數(shù)據(jù)字典及其表示3.3數(shù)據(jù)庫邏輯結構的設計
3.3.1概念結構的特點及設計方法
3.3.2
數(shù)據(jù)抽象與局部視圖設計
3.3.3
視圖的集成
3.4數(shù)據(jù)庫邏輯結構的設計
3.4.1概念模型向網(wǎng)狀模型轉換
3.4.2概念模型向關系模型的轉換23.1數(shù)據(jù)庫系統(tǒng)設計概述3.1.1數(shù)據(jù)庫系統(tǒng)設計的內容
目標:對于給定的應用環(huán)境,建立一個性能良好的、能滿足不同用戶使用要求的、又能被選定的DBMS所接受的數(shù)據(jù)庫系統(tǒng)模式。按照該模式建立的數(shù)據(jù)庫系統(tǒng),應當能夠完整地反映現(xiàn)實世界中信息及信息之間的聯(lián)系;能夠有效地進行數(shù)據(jù)存儲;能夠方便地執(zhí)行各種數(shù)據(jù)檢索和處理操作;并且有利于進行數(shù)據(jù)維護和數(shù)據(jù)控制管理的工作。
內容:數(shù)據(jù)庫的結構特性設計,數(shù)據(jù)庫的行為特性設計,數(shù)據(jù)庫的物理模式設計。將結構特性設計和行為特性設計結合起來,相互參照,同步進行,才能較好地達到設計目標。數(shù)據(jù)庫設計是設計數(shù)據(jù)庫結構特性,為特定應用環(huán)境構造出最優(yōu)的數(shù)據(jù)模型;數(shù)據(jù)庫應用系統(tǒng)設計是設計數(shù)據(jù)庫的行為結構特性,建立能滿足各種用戶對數(shù)據(jù)庫應用需求的功能模型。3
1.數(shù)據(jù)庫的結構特性設計
先將現(xiàn)實世界中的事物、事物間的聯(lián)系用E-R圖表示,再將各個分E-R圖匯總,得出數(shù)據(jù)庫的概念結構模型,最后將概念結構模型轉化為數(shù)據(jù)庫的邏輯結構模型表示。2.數(shù)據(jù)庫的行為特性設計
首先要將現(xiàn)實世界中的數(shù)據(jù)及應用情況用數(shù)據(jù)流程圖和數(shù)據(jù)字典表示,并詳細描述其中的數(shù)據(jù)操作要求(即操作對象、方法、頻度和實時性要求),進而得出系統(tǒng)的功能模塊結構和數(shù)據(jù)庫的子模式。3.數(shù)據(jù)庫的物理模式設計
根據(jù)庫結構的動態(tài)特性(即數(shù)據(jù)庫應用處理要求),在選定的DBMS環(huán)境下,把數(shù)據(jù)庫的邏輯結構模型加以物理實現(xiàn),從而得出數(shù)據(jù)庫的存儲模式和存取方法。4加載試驗數(shù)據(jù)程序說明調試和運行企業(yè)數(shù)據(jù)分析用戶業(yè)務活動分析概念模型設計邏輯模式設計物理模式設計用戶子模式設計功能模型事務設計應用程序設計性能考核滿意投入運行維護加載數(shù)據(jù)庫不是5考慮到計算機硬件、軟件和干件的實際情況三分技術,七分管理,十二分基礎數(shù)據(jù)
(1)數(shù)據(jù)庫系統(tǒng)的硬件條件
根據(jù)其數(shù)據(jù)存儲設備、網(wǎng)絡和通信設備、計算機性能等硬件條件設計數(shù)據(jù)庫的規(guī)模、數(shù)據(jù)存儲方式、分布結構以及數(shù)據(jù)通訊方式。
(2)DBMS和主語言系統(tǒng)的特點
在數(shù)據(jù)庫設計前,應當選擇合適的DBMS和主語言系統(tǒng),使之適合數(shù)據(jù)庫系統(tǒng)的要求。
(3)數(shù)據(jù)庫用戶的技術水平和管理水平
應當讓DBA充分參與設計數(shù)據(jù)庫的工作,使之對數(shù)據(jù)庫設計過程的每個細節(jié)都了解的比較清楚。。2.使結構特性設計和行為特性設計緊密結合
數(shù)據(jù)庫設計過程是一種自上而下的、逐步逼近設計目標的過程,是結構設計和行為設計分離設計、相互參照、反復探尋的過程。
3.1.2
數(shù)據(jù)庫系統(tǒng)設計應注意的問題6數(shù)據(jù)庫設計的目標數(shù)據(jù)庫設計的核心問題是如何建立一個好的模型。一般而言,這個好的模型應該滿足若干準則,這些準則可以分為兩類:結構準則和性能準則。前者討論如何保持數(shù)據(jù)的特性。后者則主要是考慮資源合理使用、系統(tǒng)使用方便和效率高的數(shù)據(jù)庫。具體而言,數(shù)據(jù)庫設計應該達到以下的目標:1.滿足用戶的信息需求和處理需求。2.準確模擬現(xiàn)實世界3.具有DBMS的支持4.具有良好的性能7
數(shù)據(jù)庫系統(tǒng)設計應分6個階段進行,這6個階段是需求分析、概念結構設計、邏輯結構設計、物理結構設計、數(shù)據(jù)庫實施和數(shù)據(jù)庫運行和維護。
3.1.3數(shù)據(jù)庫系統(tǒng)設計方法8需求分析階段概念設計階段邏輯設計階段物理設計階段數(shù)據(jù)庫實施階段數(shù)據(jù)庫運行、維護階段不滿意需求收集和分析設計概念結構設計邏輯結構數(shù)據(jù)模型優(yōu)化設計物理結構評價設計,性能預測物理實現(xiàn)試驗性運行使用、維護數(shù)據(jù)庫不滿意應用需求(數(shù)據(jù)、處理)轉換規(guī)則、DBMS要求和優(yōu)化方法應用要求,DBMS詳細特征和限制91.需求分析階段:準確了解并分析用戶對系統(tǒng)的需要和要求,弄清系統(tǒng)要達到的目標和實現(xiàn)的功能。2.概念結構設計階段:對用戶需求進行綜合、歸納和抽象,形成一個獨立于具體計算機和DBMS的概念模型。3.邏輯結構設計階段:將概念結構轉換為DBMS所支持的數(shù)據(jù)模型,并將其性能進行優(yōu)化。4.數(shù)據(jù)庫物理設計階段:為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構,包括數(shù)據(jù)存儲結構和存取方法。5.數(shù)據(jù)庫實施階段:運用DBMS提供的數(shù)據(jù)操作語言和宿主語言,根據(jù)數(shù)據(jù)庫的邏輯設計和物理設計的結果建立數(shù)據(jù)庫、編制與調試應用程序、組織數(shù)據(jù)入庫并進行系統(tǒng)試運行。6.數(shù)據(jù)庫運行和維護階段:不斷地對其結構性能進行評價、調整和修改。
3.1.4數(shù)據(jù)庫設計的基本步驟10
IPO表……輸入:輸出:處理:Creat……Load……Main()……if……then……end分區(qū)1
分區(qū)2……概念結構設計邏輯結構設計物理設計設計階段
設計描述數(shù)據(jù)處理需求分析
數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處理過程的描述
概念模型(E-R圖)
數(shù)據(jù)字典
系統(tǒng)說明書包括:
①新系統(tǒng)要求、方案和概圖
②反映新系統(tǒng)信息流的數(shù)據(jù)流圖
某種數(shù)據(jù)模型關系非關系
系統(tǒng)結構圖(模塊結構)
存儲安排方法選擇存取路徑建立
模塊設計
IPO表實施階段
編寫模式裝入數(shù)據(jù)數(shù)據(jù)庫試運行
程序編碼、編譯聯(lián)結、測試運行、維護
性能監(jiān)測、轉儲/恢復數(shù)據(jù)庫重組和重構
新舊系統(tǒng)轉換、運行、維護(修正性、適應性、改善性維護)11圖3.3數(shù)據(jù)庫的各級模式應用1應用3應用2概念模式概念要求概念要求概念要求應用1應用3應用2邏輯模式內模式外模式3外模式2外模式1綜合轉換映像映像123.2.1需求分析的任務和方法
任務:調查現(xiàn)實世界要處理的對象;了解原系統(tǒng)的概況和發(fā)展;明確用戶需求;收集基礎數(shù)據(jù)及其處理方法;確定新系統(tǒng)的功能和邊界。需求分析的任務不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是通過詳細調查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)工作概況,明確用戶的各種需求,然后在此基礎上對目標系統(tǒng)提出完整、準確、具體的功能要求。即:
----準確地回答“系統(tǒng)必須做什么?”。
3.2系統(tǒng)需求分析
分析用戶的要求,將分析結果用數(shù)據(jù)流程圖和數(shù)據(jù)字典表示。13需求分析的任務在分析軟件需求和書寫軟件需求規(guī)格說明書的過程中,分析員和用戶都起著關鍵的、必不可少的作用。
141.系統(tǒng)需求調查的內容(1)數(shù)據(jù)庫中的信息內容
數(shù)據(jù)庫中需存儲哪些數(shù)據(jù),包括用戶將從數(shù)據(jù)庫中直接獲得或間接導出的信息內容和性質。
(2)數(shù)據(jù)處理內容
用戶要完成什么數(shù)據(jù)處理功能;用戶對數(shù)據(jù)處理響應時間的要求;數(shù)據(jù)處理的工作方式。
(3)數(shù)據(jù)安全性和完整性要求
數(shù)據(jù)的保密措施和存取控制要求;數(shù)據(jù)自身的或數(shù)據(jù)間的約束限制。15了解現(xiàn)實世界的組織機構情況
弄清所設計的數(shù)據(jù)庫系統(tǒng)與哪些部門相關,這些部門以及下屬各個單位的聯(lián)系和職責是什么。(2)了解相關部門的業(yè)務活動情況
各部門需要輸入和使用什么數(shù)據(jù);在部門中是如何加工處理這些數(shù)據(jù)的;各部門需要輸出什么信息;輸出到什么部門;輸出數(shù)據(jù)的格式是什么。(3)確定新系統(tǒng)的邊界
哪些功能現(xiàn)在就由計算機完成;哪些功能將來準備讓計算機完成;哪些功能或活動由人工完成。由計算機完成的功能就是新系統(tǒng)應該實現(xiàn)的功能。
2.系統(tǒng)需求的調查步驟16
(1)跟班作業(yè):數(shù)據(jù)庫設計人員親身參加業(yè)務工作。
(2)開調查會:通過與用戶座談的方式來了解業(yè)務活動情況及用戶需求。
(3)請專人介紹:請業(yè)務熟練的專家或用戶介紹業(yè)務專業(yè)知識和業(yè)務活動情況,設計人員從中了解并詢問相關問題。
(4)詢問:對某些調查中的問題,可以找專人詢問。
(5)設計調查表請用戶填寫:數(shù)據(jù)庫設計人員可以提前設計一個合理的、詳細的業(yè)務活動及數(shù)據(jù)要求調查表,并將此表發(fā)給相關的用戶。
(6)查閱現(xiàn)實世界的數(shù)據(jù)記錄:查閱與原系統(tǒng)有關的數(shù)據(jù)記錄,包括帳本、檔案或文獻等。3.系統(tǒng)需求調查的方法174.系統(tǒng)需求分析方法分析和表達用戶的需求的常用方法自頂向下的結構化分析方法(StructuredAnalysis,簡稱SA方法)SA方法從最上層的系統(tǒng)組織機構入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。18
數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,DFD)是描述系統(tǒng)的重要工具,它力圖從數(shù)據(jù)傳遞和處理的角度以圖形的方式表示數(shù)據(jù)處理系統(tǒng)的工作狀況,較好地抓住問題的本質,具有直觀、容易理解的優(yōu)點,便于一組人同時進行審查。19繪制數(shù)據(jù)流程圖的符號數(shù)據(jù)源點或終點:指本系統(tǒng)之外的人或單位,他們與本系統(tǒng)有信息傳遞關系。數(shù)據(jù)存儲文件:指通過數(shù)據(jù)文件、文件夾或賬本等存儲數(shù)據(jù)。數(shù)據(jù)處理:數(shù)據(jù)處理對進入的數(shù)據(jù)流進行特定的加工的過程,處理后將產(chǎn)生新的數(shù)據(jù)流
處理標識處理名稱數(shù)據(jù)流:表示流動著的數(shù)據(jù),它可以是一項數(shù)據(jù),也可以是一組數(shù)據(jù)。數(shù)據(jù)流名稱數(shù)據(jù)流圖20數(shù)據(jù)流圖為了很好地表達數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結構的數(shù)據(jù)流圖。
頂層圖:將整個系統(tǒng)作為一個數(shù)據(jù)加工項,著重描述系統(tǒng)與外部實體的聯(lián)系。明確系統(tǒng)的邊界。第0層圖:對頂層圖中的數(shù)據(jù)加工進行分解,形成系統(tǒng)較詳細的數(shù)據(jù)流程圖第一層圖:對頂層圖中的數(shù)據(jù)加工進一步分解,形成系統(tǒng)更詳細的數(shù)據(jù)流程圖。21
數(shù)據(jù)流圖以下依然以圖書管理系統(tǒng)為例來實現(xiàn)數(shù)據(jù)庫設計的全過程。圖書管理系統(tǒng)的工作流程如下:
圖書管理員要為每個學生建立學生借閱賬戶,并給學生發(fā)放不同類別的借閱卡,賬戶內存儲學生的個人基本信息和借閱記錄信息。持有借閱卡的學生可以通過管理員(作為學生的代理人與系統(tǒng)交互)借閱、歸還圖書,不同類別的學生可借閱圖書的范圍、數(shù)量和期限不同。學生可通過互聯(lián)網(wǎng)或圖書館內查詢終端查詢圖書信息和個人借閱情況,以及進行續(xù)借圖書(系統(tǒng)審核符合續(xù)借條件)。22數(shù)據(jù)流圖借閱圖書時,先輸入學生的借閱卡號,系統(tǒng)驗證借閱卡的有效性和學生是否可繼續(xù)借閱圖書,無效則提示其原因,有效則顯示學生的基本信息(包括照片),供管理員人工核對。然后輸入要借閱的書號,系統(tǒng)查閱圖書信息數(shù)據(jù)庫,顯示圖書的基本信息,供管理員人工核對。最后提交借閱請求,若被系統(tǒng)接受則存儲借閱紀錄,并修改可借閱圖書的數(shù)量。23數(shù)據(jù)流圖歸還圖書時,輸入學生借閱卡號和圖書號,系統(tǒng)驗證是否有此借閱紀錄以及是否超期借閱,無則提示,有則顯示學生和圖書的基本信息供管理員人工審核。如果有超期借閱或丟失情況,先轉入過期罰款或圖書丟失處理。然后提交還書請求,系統(tǒng)接受后刪除借閱紀錄,修改可借閱圖書的數(shù)量。圖書管理員定期或不定期對圖書信息進行入庫、修改、刪除等圖書信息管理以及注銷(不外借),包括圖書類別和出版社管理。24頂層數(shù)據(jù)流圖根據(jù)之前的描述,建立了圖書管理系統(tǒng)的頂層數(shù)據(jù)流程圖。25第0層數(shù)據(jù)流圖然而,頂層數(shù)據(jù)流圖畢竟太抽象了,從這張圖上對圖書管理系統(tǒng)所能了解到的信息非常有限。下面再對它一步一步地分解,把基本模型細化,描述系統(tǒng)的主要功能。分解時要注意下層數(shù)據(jù)流必須與上層數(shù)據(jù)流圖保持一致。下一層的數(shù)據(jù)流圖必須有上圖的所有輸入/輸出數(shù)據(jù)流和外部實體。
把頂層數(shù)據(jù)流圖分解后得到如圖所示的圖書管理系統(tǒng)第0層圖。
26第0層數(shù)據(jù)流圖27第1層數(shù)據(jù)流圖接下來應該對功能級數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進一步細化。(1)圖書管理28第1層數(shù)據(jù)流圖。(2)學生管理29第1層數(shù)據(jù)流圖(3)借閱管理30
D1在校學生D3學生學籍表學生科刪除記錄a
P1P2
退學通知學生學生退學處理畢業(yè)處理
c派遣證c
學生科各系D2成績記錄D4學分記錄ab一個數(shù)據(jù)流程圖的實例
31
數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合1.數(shù)據(jù)項:數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。2.數(shù)據(jù)結構:數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系。3.數(shù)據(jù)流:據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂健?.數(shù)據(jù)存儲:數(shù)據(jù)存儲是數(shù)據(jù)及其結構停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。數(shù)據(jù)存儲可以是手工文檔、手工憑單或計算機文檔。5.處理過程:用判定表或判定樹來描述。3.2.2數(shù)據(jù)字典及其表示32
數(shù)據(jù)字典(1)數(shù)據(jù)項。數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。對數(shù)據(jù)項的描述通常包括以下內容:
數(shù)據(jù)項名稱:借書證號別名:借書證編號數(shù)據(jù)項含義:唯一地標識學生借閱身份的號碼定義:借書證號=6{數(shù)字字符}6
位置:學生信息、借閱信息33數(shù)據(jù)字典
(2)數(shù)據(jù)結構以“圖書”為例 “圖書”是該系統(tǒng)中的一個核心數(shù)據(jù)結構:數(shù)據(jù)結構:圖書含義說明:是圖書管理子系統(tǒng)的主體數(shù)據(jù)結構,定義了一本圖書的有關信息組成:書號,書名,作者,出版社,類別,單價,狀態(tài),其他……
34
數(shù)據(jù)字典(3)數(shù)據(jù)流。數(shù)據(jù)流可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結構,表示某一加工處理過程的輸入或輸出數(shù)據(jù)。對數(shù)據(jù)流的描述應該包括以下內容:數(shù)據(jù)流名稱:借書信息別名:BORROW
說明:學生到圖書管理員那里完成借閱圖書數(shù)據(jù)流來源:圖書管理員數(shù)據(jù)流去向:圖書管理系統(tǒng)平均流量:200次/天高峰流量:280次/天數(shù)據(jù)組成:借書證號+ISBN+借書時間+應還時間35
數(shù)據(jù)字典(4)數(shù)據(jù)存儲。數(shù)據(jù)存儲是數(shù)據(jù)保留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。它可以是手工文檔或手工憑單,也可以是計算機文檔。對數(shù)據(jù)存儲的描述通常包括以下內容:
數(shù)據(jù)存儲名:圖書信息表別名:BOOK
說明:數(shù)據(jù)庫存放,記錄圖書的詳細信息編號:D2
數(shù)據(jù)組成:ISBN+書名+作者+價格+復本數(shù)+庫存量數(shù)據(jù)量:350本/天存取頻率:450本/天
36數(shù)據(jù)字典
(5)處理過程。處理過程說明某個具體的加工處理工作。
處理過程名:圖書管理別名:Bookmanage
說明:圖書管理員將圖書基本信息錄入系統(tǒng),學生給定查詢條件完成圖書查找。編號:P1
觸發(fā)條件:圖書管理員送來圖書信息,學生給出查詢條件。輸入:圖書情況、圖書查詢條件輸出:圖書信息加工邏輯:圖書管理的處理算法,此書不贅述。
373.3概念結構的設計概念結構是對現(xiàn)實世界的一種抽象,即對實際的人、物、事和概念進行人為處理,抽取人們關心的共同特性,忽略非本質的細節(jié),并把這些特性用各種概念精確地加以描述。它用E-R圖進行描述。38
概念結構的特點和設計方法
1.概念結構的特點(1)概念結構獨立于數(shù)據(jù)庫邏輯結構,也獨立于支持數(shù)據(jù)庫的DBMS。其主要特點如下:(2)概念模型能夠充分反映現(xiàn)實世界:能夠滿足用戶對數(shù)據(jù)的處理要求。(3)概念模型易于向關系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉換。(4)概念模型易于理解,便于和不熟悉計算機的用戶交換意見,使用戶易于參與。(5)概念模型易于更改,當現(xiàn)實世界需求改變時,概念結構又可以很容易地作相應調整。39概念結構的特點和設計方法
2.概念結構設計方法概念模型是數(shù)據(jù)模型的前身,它比數(shù)據(jù)模型更獨立于機器、更抽象,也更加穩(wěn)定。概念模型設計有4種方法。(1)自頂向下策略(top-downstrategy)
(2)自底向上策略(bottom-upstrategy)
(3)由內向外策略(inside-outstrategy)
(4)混合策略(mixedstrategy)
40概念結構的特點和設計方法
3.概念結構的設計步驟在對數(shù)據(jù)庫的具體設計過程中,通常先采用自頂向下法進行需求分析,得到每一具體的應用需求,然后反過來根據(jù)每個子需求,采用自底向上方法分步設計產(chǎn)生每一局部的E-R模型,綜合各局部E-R模型,逐層向上回到頂部,最終產(chǎn)生全局E-R模型。
41
概念結構的特點和設計方法需求需求1需求2需求1.1概念模式概念模式概念模式概念模式概念模式1概念模式n全局概念模式需求1.2需求n.1需求n.2…………(應用1)(應用n)圖3-6
自頂向下分析需求和自底向上設計概念結構423.3概念結構的設計3.3.2數(shù)據(jù)抽象與局部視圖設計1.三種數(shù)據(jù)抽象方法(1)分類:定義類概念作為現(xiàn)實世界中對象的類型,這些對象具有某些共同的特性和行為。在E-R模型中,實體集是該抽象。(2)聚集:定義某一類型的組成部分,它抽象了對象內部的類型和“組成部分”的語義。(3)概括:定義類型之間的一種子集聯(lián)系,它抽象了類型之間的“所屬”的語義。2.設計分E-R圖概念結構設計是利用抽象機制對需求分析階段收集到的數(shù)據(jù)分類、組織(聚集),形成實體集、屬性和碼,確定實體集之間的聯(lián)系類型,進而設計分E-R圖。43數(shù)據(jù)抽象和局部視圖設計
3.應用舉例下面,繼續(xù)以“學生圖書管理系統(tǒng)”為例,利用這些需求分析的結果進行自底向上的概念結構設計。在這個的例子中,圖書管理系統(tǒng)的局部應用中主要涉及的實體包括學生、圖書、出版社、罰款、登陸用戶。那么,這些實體之間的聯(lián)系又是怎樣的呢?44數(shù)據(jù)抽象和局部視圖設計由于一個學生可以借閱多本圖書,一本圖書可以被多個學生借閱;一個圖書由一個出版社出版,一個出版社可以出版很多本圖書;一本圖書屬于一種類別,一種類別可以有多本圖書;因此各實體之間的關系見右圖。圖書屬于出版社n1學生圖書管理系統(tǒng)的分E-R圖學生借閱圖書mn圖書屬于圖書類別n1學生登陸登陸用戶圖書過期/丟失罰款111145數(shù)據(jù)抽象和局部視圖設計這些實體的屬性分別為:
學生:{借書證號,姓名,專業(yè),性別,借書數(shù),出生年份,年齡,辦證日期}圖書表:{ISBN,書名,作者,價格,復本數(shù),庫存量}出版社:{出版社名稱,出版社地址,出版社電話,負責人,傳真,郵編,EMAIL}圖書類別:{圖書類別名,可借閱天數(shù),過期罰款額}罰款:{借閱者,罰款原因,罰款日期,罰款金額}登陸用戶:{登陸ID,登陸密碼,用戶權限,上一次登陸時間}463.3.3視圖的集成1.合并分E-R圖,生成初步E-R圖
無論采用哪個方法集成視圖,在每次集成時都要分三步進行:
(1)解決模式之間的沖突,合并分E-R圖沖突的原因?由于各個局部應用所面向的問題是不同的,而且通常是由不同的設計人員進行不同局部的視圖設計,所以就會導致各個分E-R圖之間必定會存在許多不一致的地方,即產(chǎn)生沖突問題。
47全局視圖設計模式間可能會發(fā)生如下的3類沖突:
①屬性沖突屬性域沖突:即屬性值的類型、取值范圍或取值集合不同。
屬性取值單位沖突
例如:“職員”的性別屬性,有些部門定義的類型是布爾型,取值0和1;
例如:“職員”的身高,不同部門可能分別用米或厘米來表示,這就會給數(shù)據(jù)統(tǒng)計造成錯誤。48全局視圖設計②命名沖突同名異義:不同意義的對象在不同的局部應用中具有相同的名字。
異名同義(一義多名):意義相同的對象在不同的局部應用中具有不同的名字。
49全局視圖設計③結構沖突
同一對象在不同應用中具有不同的抽象。
同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。
實體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型。
50全局視圖設計(2)修改和重構初步E-R圖,使得相互一致
對一些模式進行修改,以便于其它模式相符合。重構是一個可選步驟,可能會對全局模式進行分析和重構,以刪除任何冗余和不必要的內容。這一步可以解決上一步發(fā)現(xiàn)的沖突。
51(3)合并視圖
全局視圖設計通過創(chuàng)建單個子視圖來創(chuàng)建全局視圖。相應的概念在全局模式中只出現(xiàn)一次,并且要確定子視圖和全局視圖之間的映射關系。
52全局視圖設計下面將繼續(xù)以“學生圖書管理系統(tǒng)”為例,介紹分E-R圖進行合并的主要過程:第一步:確定各模式之間的對應和沖突:
各模式之間主要存在命名沖突:“登陸用戶”實體的{登陸ID}對應“學生”實體的{借書證號},“罰款”實體的{借閱者}對應“學生實體”的{借書證號}。
535.3.3全局視圖設計第二步:消除存在的冗余數(shù)據(jù)和冗余聯(lián)系:
“學生”實體中的年齡屬性可以由出生年份推算出來,屬于冗余數(shù)據(jù),應該去掉。這樣不僅可以節(jié)省存儲空間,而且當某個學生的出生日期有誤,進行修改后,無須修改年齡,減少了產(chǎn)生數(shù)據(jù)不一致的機會。
54全局視圖設計第三步:視圖集成:集成后的學生圖書管理系統(tǒng)的E-R如圖所示:出版社1屬于n圖
圖書管理系統(tǒng)的集成E-R圖圖書m借還n借書時間應還時間屬于n1圖書類別過期/丟失罰款11學生登陸登陸用戶11553.4數(shù)據(jù)庫邏輯結構的設計3.4.1概念模型向網(wǎng)狀模型轉換不同型實體集及其聯(lián)系的轉換規(guī)則
1)每個實體集轉換成一個記錄。
2)每個1:n的二元聯(lián)系轉換成一個系,系的方向由1方實體記錄指向n方實體記錄。
3)每個m:n的二元聯(lián)系,在轉換時要引入一個連結記錄,并形成兩個系,系的方向由實體記錄方指向連結記錄方。4)K(>=3)個實體型之間的多元聯(lián)系,在轉換時也引入一個連結記錄,并將聯(lián)系轉換成K個實體記錄型和連結記錄型之間的K個系,系的方向均為實體型指向連結記錄。56轉換實例
部門部門-職工職工1n部門職工部門-職工系學生選課課程mn學生課程選課學生-選課課程-選課(a)1:n聯(lián)系的轉換實例(b)m:n聯(lián)系的轉換實例57多實體型之間多元聯(lián)系轉換實例部件工程部件-工程-供應供應mnp部件工程供應部件-工程-供應Set1Set2Set3583.4.2概念模型向關系模型的轉換實體集的轉換規(guī)則
一個實體集轉換為關系模型中的一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼,關系的結構是關系模式。2.實體集間聯(lián)系的轉換規(guī)則
(1)1:1聯(lián)系的轉換方法
1)將1:1聯(lián)系轉換為一個獨立的關系:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,且每個實體的碼均是該關系的候選碼。
2)將1:1聯(lián)系與某一端實體集所對應的關系合并,則需要在被合并關系中增加屬性,其新增的屬性為聯(lián)系本身的屬性和與聯(lián)系相關的另一個實體集的碼。
59【例3-1】將圖中E-R圖轉換為關系模型。方案1:聯(lián)系形成的關系獨立存在:職工(職工號,姓名,年齡);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格);負責(職工號,產(chǎn)品號).方案2:“負責”與“職工”兩關系合并:職工(職工號,姓名,年齡,產(chǎn)品號);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格);方案3:“負責”與“產(chǎn)品”兩關系合并:職工(職工號,姓名,年齡);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格,職工號).負責1產(chǎn)品產(chǎn)品號產(chǎn)品名價格1職工職工號姓名年齡60(2)1:n聯(lián)系的轉換方法
一種方法是將聯(lián)系轉換為一個獨立的關系,其關系的屬性由與該聯(lián)系相連的各實體集的碼以及聯(lián)系本身的屬性組成,而該關系的碼為n端實體集的碼;另一種方法是在n端實體集中增加新屬性,新屬性由聯(lián)系對應的1端實體集的碼和聯(lián)系自身的屬性構成,新增屬性后原關系的碼不變。61【例3-2】將含有1:n聯(lián)系的E-R圖轉換為關系模型。方案1:聯(lián)系形成的關系獨立存在。
倉庫(倉庫號,地點,面積);
產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格);
倉儲(倉庫號,產(chǎn)品號,數(shù)量).方案2:聯(lián)系形成的關系與n端對象合并。
倉庫(倉庫號,地點,面積);
產(chǎn)品(產(chǎn)品號,產(chǎn)品名,價格,倉庫號,數(shù)量).倉儲n產(chǎn)品產(chǎn)品號產(chǎn)品名價格1倉庫倉庫號地點面積數(shù)量62(3)m:n聯(lián)系的轉換方法
在向關系模型轉換時,一個m:n聯(lián)系轉換為一個關系。轉換方法為:與該聯(lián)系相連的各實體集的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,新關系的碼為兩個相連實體碼的組合(該碼為多屬性構成的組合碼)。
63【例3-4】將圖中含有m:n二元聯(lián)系的E-R圖,轉換為關系模型。
轉換的關系模型為:學生(學號,姓名,年齡,性別);
課程(課程號,課程名,學時數(shù));
選修(學號,課程號,成績).學生學號姓名年齡性別課程課程號課程名學時數(shù)選修mn成績64(4)三個或三個以上實體集間的多元聯(lián)系的轉換方法
1)對于一對多的多元聯(lián)系,轉換為關系模型的方法是修改1端實體集對應的關系,即將與聯(lián)系相關的其他實體集的碼和聯(lián)系自身的屬性作為新屬性加入到1端實體集中。
2)對于多對多的多元聯(lián)系,轉換為關系模型的方法是新建一個獨立的關系,該關系的屬性為多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性,碼為各實體碼的組合。
65【例3-6】將圖中含有多實體集間的多對多聯(lián)系的E-R圖轉換為關系模型。
供應商(供應商號,供應商名,地址);零件(零件號,零件名,單價);產(chǎn)品(產(chǎn)品號,產(chǎn)品名,型號);供應(供應商號,零件號,產(chǎn)品號,數(shù)量).供應商供應商號供應商名地址零件零件號零件名單價產(chǎn)品產(chǎn)品號產(chǎn)品名型號供應nmp數(shù)量66邏輯結構的優(yōu)化應用規(guī)范化理論對邏輯設計階段產(chǎn)生的邏輯模式進行初步優(yōu)化,以減少乃至消除關系模式中存在的各種異常,改善完整性、一致性和存儲效率。規(guī)范化過程分為兩個步驟:
(1)確定范式級別
(2)實施規(guī)范化處理67設計用戶子模式在將概念模型轉換為邏輯模型后,即生成了整個應用系統(tǒng)的模式后,還應該根據(jù)局部應用需求,結合具體DBMS的特點,設計用戶的子模式。目前關系數(shù)據(jù)庫管理系統(tǒng)一般都提供了視圖概念,支持用戶的虛擬視圖??梢岳眠@一功能,設計更符合局部用戶需要的用戶子模式。
683.5
物理結構設計數(shù)據(jù)庫的物理結構設計是對于給定的邏輯數(shù)據(jù)模型,選取一個最適合應用環(huán)境的物理結構。數(shù)據(jù)庫的物理結構主要是指數(shù)據(jù)庫在物理上的存儲結構和存取方法。它依賴于給定的計算機系統(tǒng)。
693.5.1
存取方法的選擇數(shù)據(jù)庫物理設計的任務之一就是確定建立哪些存取路徑和選擇哪些數(shù)據(jù)存取方法
關系數(shù)據(jù)庫常用的存取方法:索引方法、聚簇方法。1.索引選擇索引是加到數(shù)據(jù)庫內部的特殊數(shù)據(jù)結構,用于加快記錄的檢索,幾乎所有的關系DBMS都提供建立索引的功能。
703.5.1
存取方法的選擇選擇索引實際上要根據(jù)應用要求確定對關系的哪些屬性建立索引,哪些屬性建立組合索引,哪些索引建立唯一索引等。選擇索引方法的基本原則是:(1)如果經(jīng)常執(zhí)行插入、刪除、修改操作或者記錄數(shù)較少的關系,應盡量避免建立索引。(2)如果一個屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個屬性上建立索引;如果一組屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這組屬性上建立組合索引。(3)如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引。(4)如果一個屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個屬性上建立索引;
713.5.1
存取方法的選擇2.聚簇存取方法的選擇
為了提高某個屬性或屬性組的查詢速度,把這個屬性或屬性組上具有相同值的元組集中存放在連續(xù)的物理塊上的處理稱為聚簇,這個屬性或屬性組稱為聚簇碼。一個數(shù)據(jù)庫可以建立多個聚簇,但一個關系只能加入一個聚簇。選擇聚簇的存取方法就是確定需要建立多少個聚簇,確定每個聚簇包括哪些關系。
723.5.2
存儲結構的確定確定數(shù)據(jù)的存放位置和存儲結構要綜合考慮存取時間、存儲空間利用率和維護代價3方面的因素。這3方面常常相互矛盾,需要進行權衡,選擇一個折衷方案。
1.確定數(shù)據(jù)的存放位置
2.確定系統(tǒng)配置733.6
數(shù)據(jù)庫實施、運行和維護數(shù)據(jù)系統(tǒng)設計的根本目的,是為用戶提供一個能夠實際運行的系統(tǒng),并保證該系統(tǒng)的穩(wěn)定和高效。要做到這點,還有兩項工作,就是數(shù)據(jù)庫的實施、運行和維護。743.6
數(shù)據(jù)庫實施、運行和維護1.數(shù)據(jù)庫的實施
數(shù)據(jù)庫的實施主要是根據(jù)邏輯結構設計和物理結構設計的結果,在計算機系統(tǒng)上建立實際的數(shù)據(jù)庫結構、導入數(shù)據(jù)并進行程序的調試。它相當于軟件工程中的代碼編寫和程序調試的階段。用具體的DBMS提供的數(shù)據(jù)定義語言(DDL),把數(shù)據(jù)庫的邏輯結構設計和物理結構設計的結果轉化為程序語句,然后經(jīng)DBMS編譯處理和運行后,實際的數(shù)據(jù)庫便建立起來了。
753.6
數(shù)據(jù)庫實施、運行和維護具體地說,建立數(shù)據(jù)庫結構應包括以下幾個方面:(1)數(shù)據(jù)庫模式與子模式,以及數(shù)據(jù)庫空間的描述。(2)數(shù)據(jù)完整性的描述。(3)數(shù)據(jù)安全性描述。(4)數(shù)據(jù)庫物理存儲參數(shù)的描述。763.6
數(shù)據(jù)庫實施、運行和維護
2.數(shù)據(jù)庫的試運行當有部分數(shù)據(jù)裝入數(shù)據(jù)庫以后,就可以進入數(shù)據(jù)庫的試運行階段,數(shù)據(jù)庫的試運行也稱為聯(lián)合調試。數(shù)據(jù)庫的試運行對于系統(tǒng)設計的性能檢測和評價是十分重要的,因為某些DBMS參數(shù)的最佳值只有在試運行中才能確定。
773.6
數(shù)據(jù)庫實施、運行和維護3.數(shù)據(jù)庫的運行和維護數(shù)據(jù)庫系統(tǒng)投入正式運行,意味著數(shù)據(jù)庫的設計與開發(fā)階段的基本結束,運行與維護階段的開始。數(shù)據(jù)庫的運行和維護是個長期的工作,是數(shù)據(jù)庫設計工作的延續(xù)和提高。783.6
數(shù)據(jù)庫實施、運行和維護數(shù)據(jù)庫的運行和維護階段的主要工作有:(1)對數(shù)據(jù)庫性能的監(jiān)測、分析和改善。(2)數(shù)據(jù)庫的轉儲和恢復。(3)維持數(shù)據(jù)庫的安全性和完整性。(4)數(shù)據(jù)庫的重組和重構。793.6
數(shù)據(jù)庫實施、運行和維護4.評價物理結構數(shù)據(jù)庫物理設計過程中需要對時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一英語上冊月考試題及答案
- 通信行業(yè)售后網(wǎng)絡工程師面試題集
- 新員工考試題庫及答案
- 質量控制經(jīng)理的面試題集
- 廚師證考試中西餐烹飪理論實操全攻略含答案
- 2025年數(shù)字圖書館建設可行性研究報告
- 2025年家庭園藝智能系統(tǒng)項目可行性研究報告
- 2025年城市固體廢棄物處理與資源化項目可行性研究報告
- 2025年健康養(yǎng)老產(chǎn)業(yè)園開發(fā)項目可行性研究報告
- 2025年個性化健康管理APP開發(fā)項目可行性研究報告
- 動脈穿刺法教案(2025-2026學年)
- 2025年《肌肉骨骼康復學》期末考試復習參考題庫(含答案)
- 國企合作加盟合同范本
- 2025年企業(yè)員工激勵機制管理模式創(chuàng)新研究報告
- 工程勘察設計收費標準
- 2025年中國工業(yè)級小蘇打行業(yè)市場分析及投資價值評估前景預測報告
- 家具生產(chǎn)工藝流程標準手冊
- 消防新隊員安全培訓課件
- 2025瑪納斯縣司法局招聘編制外專職人民調解員人筆試備考題庫及答案解析
- 德邦物流系統(tǒng)講解
- 初中歷史時間軸(中外對照橫向版)
評論
0/150
提交評論