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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、An Introduction to Database System溫浩宇溫浩宇數(shù)據(jù)庫原理與應(yīng)用數(shù)據(jù)庫原理與應(yīng)用第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 本章討論數(shù)據(jù)庫設(shè)計的方法和技術(shù)。主要本章討論數(shù)據(jù)庫設(shè)計的方法和技術(shù)。主要討論基于討論基于RDBMSRDBMS的關(guān)系數(shù)據(jù)庫設(shè)計問題。的關(guān)系數(shù)據(jù)庫設(shè)計問題。7.1 數(shù)據(jù)庫設(shè)計概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計 7.5 數(shù)據(jù)庫的物理設(shè)計7.6 數(shù)據(jù)庫的實施和維護An Introduction to Database System

2、7.1數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述n我們在第一章關(guān)于數(shù)據(jù)庫系統(tǒng)的解釋為 DBS=DB+DBMS+APPLICATION+DBA+USERn什么是數(shù)據(jù)庫設(shè)計n廣義地講:數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計,即設(shè)計整個的數(shù)據(jù)庫應(yīng)用系統(tǒng)。n狹義地講:是設(shè)計數(shù)據(jù)庫本身,即設(shè)計數(shù)據(jù)庫的各級模式并建立數(shù)據(jù)庫,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的一部分。本章的重點是介紹狹義的數(shù)據(jù)庫設(shè)計本章的重點是介紹狹義的數(shù)據(jù)庫設(shè)計An Introduction to Database System7.1數(shù)據(jù)庫設(shè)計概述(續(xù))數(shù)據(jù)庫設(shè)計概述(續(xù))n數(shù)據(jù)庫設(shè)計的一般定義數(shù)據(jù)庫設(shè)計的一般定義n數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,

3、構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求信息管理要求和數(shù)據(jù)操作要求數(shù)據(jù)操作要求。信息管理要求信息管理要求: :是指在數(shù)據(jù)庫中應(yīng)存儲和管理哪些數(shù)據(jù)對象。數(shù)據(jù)操作要求數(shù)據(jù)操作要求: :是指對數(shù)據(jù)對象需要進行哪些操作,如查詢、增、刪、改、統(tǒng)計分析、打印等等操作。n數(shù)據(jù)庫設(shè)計的目標(biāo)數(shù)據(jù)庫設(shè)計的目標(biāo)n為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行環(huán)境。An Introduction to Database System數(shù)據(jù)庫和信息系統(tǒng)數(shù)據(jù)庫和信息系統(tǒng)n數(shù)據(jù)庫 數(shù)據(jù)庫是指長期存儲在計算機內(nèi)的、有

4、組織的、可共享的、大量的數(shù)據(jù)集合。n信息系統(tǒng) 信息系統(tǒng)是提供信息、輔助人們對環(huán)境進行控制和進行決策的系統(tǒng)。An Introduction to Database System數(shù)據(jù)庫與信息系統(tǒng)的關(guān)系數(shù)據(jù)庫與信息系統(tǒng)的關(guān)系n數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)n數(shù)據(jù)庫把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來n數(shù)據(jù)庫提供存儲、維護、檢索數(shù)據(jù)的功能n數(shù)據(jù)庫使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從中獲得所需的信息n只有對數(shù)據(jù)庫進行合理的邏輯設(shè)計和高效的物理設(shè)計,才能開發(fā)出完善、高效的信息系統(tǒng)n數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分An Introduction to Database System7.1.1

5、數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點1、數(shù)據(jù)庫建設(shè)的基本規(guī)律n“三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”是數(shù)據(jù)庫設(shè)計的特點之一。n管理n數(shù)據(jù)庫建設(shè)項目管理n企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理n基礎(chǔ)數(shù)據(jù)n收集、入庫n更新新的數(shù)據(jù)An Introduction to Database System7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點 2、結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合n數(shù)據(jù)庫設(shè)計應(yīng)該與應(yīng)用系統(tǒng)設(shè)計相結(jié)合。這是數(shù)據(jù)庫設(shè)計的特點之二。n結(jié)構(gòu)(數(shù)據(jù))設(shè)計:設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu)n行為(處理)設(shè)計:設(shè)計應(yīng)用程序、事務(wù)處理等An Introduction to Da

6、tabase System數(shù)據(jù)庫設(shè)計的特點(續(xù))數(shù)據(jù)庫設(shè)計的特點(續(xù))n結(jié)構(gòu)和行為分離的設(shè)計n傳統(tǒng)的軟件工程忽視對應(yīng)用中數(shù)據(jù)語義的分析和抽象(如SD方法、逐步求精的方法等),只要有可能就盡量推遲數(shù)據(jù)結(jié)構(gòu)設(shè)計的決策。這對于數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計是不合適的。n早期的數(shù)據(jù)庫設(shè)計致力于數(shù)據(jù)模型和數(shù)據(jù)庫建模方法的研究,忽視了對行為的設(shè)計,也是不完善的。An Introduction to Database System數(shù)據(jù)庫設(shè)計的特點(續(xù))數(shù)據(jù)庫設(shè)計的特點(續(xù))現(xiàn)實世界現(xiàn)實世界概念模型設(shè)計概念模型設(shè)計子模式設(shè)計子模式設(shè)計物理數(shù)據(jù)庫設(shè)計物理數(shù)據(jù)庫設(shè)計邏輯數(shù)據(jù)庫設(shè)計邏輯數(shù)據(jù)庫設(shè)計建立數(shù)據(jù)庫建立數(shù)據(jù)庫數(shù)據(jù)分析數(shù)

7、據(jù)分析功能分析功能分析功能模型功能模型功能說明功能說明事務(wù)設(shè)計事務(wù)設(shè)計程序說明程序說明應(yīng)用程序設(shè)計應(yīng)用程序設(shè)計程序編碼調(diào)試程序編碼調(diào)試 結(jié)構(gòu)和行為分離的設(shè)計結(jié)構(gòu)和行為分離的設(shè)計An Introduction to Database System7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法n數(shù)據(jù)庫設(shè)計人員應(yīng)該具備的技術(shù)和知識n計算機的基礎(chǔ)知識n軟件工程的原理和方法n程序設(shè)計的方法和技巧n數(shù)據(jù)庫的基本知識n數(shù)據(jù)庫設(shè)計技術(shù)n應(yīng)用領(lǐng)域的知識An Introduction to Database System7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法n一、手工與經(jīng)驗相結(jié)合方法一、手工與經(jīng)驗相結(jié)合方法n設(shè)計質(zhì)量

8、與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系n缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證n數(shù)據(jù)庫運行一段時間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護代價An Introduction to Database System數(shù)據(jù)庫設(shè)計方法簡述(續(xù))數(shù)據(jù)庫設(shè)計方法簡述(續(xù))n二、規(guī)范設(shè)計法二、規(guī)范設(shè)計法規(guī)范設(shè)計法的基本思想:過程迭代和逐步求精1、新奧爾良(New Orleans)方法 該方法將數(shù)據(jù)庫設(shè)計分為四個階段:需求分析;概念設(shè)計;邏輯設(shè)計;物理設(shè)計。2、基于E-R模型的數(shù)據(jù)庫設(shè)計方法 這是數(shù)據(jù)庫概念設(shè)計階段廣泛采用的方法在面向?qū)ο蠓治雠c設(shè)計中,多用UML建模An Introduction to D

9、atabase System數(shù)據(jù)庫設(shè)計方法簡述(續(xù))數(shù)據(jù)庫設(shè)計方法簡述(續(xù))n二、規(guī)范設(shè)計法二、規(guī)范設(shè)計法(續(xù)續(xù))3、基于3NF的設(shè)計方法 是關(guān)系數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計采用的一種有效方法。4、ODL(Object Defination Language)方法 這是面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法。該方法用面向?qū)ο蟮母拍詈托g(shù)語來說明數(shù)據(jù)庫結(jié)構(gòu)。An Introduction to Database System數(shù)據(jù)庫設(shè)計方法簡述(續(xù))數(shù)據(jù)庫設(shè)計方法簡述(續(xù))n三、計算機輔助數(shù)據(jù)庫設(shè)計三、計算機輔助數(shù)據(jù)庫設(shè)計nORACLE Designer 2000nSYBASE PowerDesigner 這些工具軟件可以

10、輔助設(shè)計人員完成數(shù)據(jù)庫設(shè)計過程中的很多任務(wù)。An Introduction to Database System7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟n數(shù)據(jù)庫設(shè)計分6個階段需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫實施數(shù)據(jù)庫運行和維護n需求分析需求分析和概念設(shè)計概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng)n邏輯設(shè)計邏輯設(shè)計和物理設(shè)計物理設(shè)計與選用的DBMS密切相關(guān)An Introduction to Database System7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟一、數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作一、數(shù)據(jù)庫設(shè)計的準(zhǔn)備工作 選定參加設(shè)計的人員1. 系統(tǒng)分析人員 和 數(shù)據(jù)庫設(shè)計人

11、員n數(shù)據(jù)庫設(shè)計的核心人員n自始至終參與數(shù)據(jù)庫設(shè)計n其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量An Introduction to Database System6.1.4 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟2. 用戶(選出數(shù)據(jù)庫管理員DBA)n在數(shù)據(jù)庫設(shè)計中也是舉足輕重的n主要參加需求分析和數(shù)據(jù)庫的運行維護n用戶積極參與帶來的好處n加速數(shù)據(jù)庫設(shè)計n提高數(shù)據(jù)庫設(shè)計的質(zhì)量An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))3. 應(yīng)用開發(fā)人員(程序員)n在系統(tǒng)實施階段參與進來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境An Introduction to

12、 Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))二、數(shù)據(jù)庫設(shè)計的過程二、數(shù)據(jù)庫設(shè)計的過程( (六個階段六個階段) ) 我們這里介紹的是以邏輯數(shù)據(jù)庫設(shè)計和物理數(shù)據(jù)庫設(shè)計為核心的規(guī)范設(shè)計方法需求分析階段需求分析階段n準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)n是整個設(shè)計過程的基礎(chǔ),是最困難、最耗費時的一步An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))概念結(jié)構(gòu)設(shè)計階段n是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵n通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型邏輯結(jié)構(gòu)設(shè)計階段n將概念結(jié)構(gòu)轉(zhuǎn)

13、換為某個DBMS所支持的數(shù)據(jù)模型n對其進行優(yōu)化(對關(guān)系數(shù)據(jù)庫系統(tǒng)用規(guī)范化理論對關(guān)系數(shù)據(jù)庫系統(tǒng)用規(guī)范化理論)An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫物理設(shè)計階段n為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫實施階段n運用DBMS提供的數(shù)據(jù)語言(如SQL)、工具及宿主語言(如C#),根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果n建立數(shù)據(jù)庫n編制與調(diào)試應(yīng)用程序n組織數(shù)據(jù)入庫n進行

14、試運行An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫運行和維護階段n數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。n在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進行評價、調(diào)整與修改。An Introduction to Database System數(shù)據(jù)庫設(shè)計的數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))基本步驟(續(xù)) 設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷反復(fù)。 P202 圖7.2 設(shè)計物理結(jié)構(gòu) 需求收集和分析 設(shè)計邏輯結(jié)構(gòu) 設(shè)計概念結(jié)構(gòu) 數(shù)據(jù)模型優(yōu)化 評價設(shè)計,性能預(yù)測 物理實現(xiàn) 使用、維護數(shù)據(jù)庫 試驗性運行 應(yīng)用需求 (數(shù)

15、據(jù)、處理) 轉(zhuǎn)換規(guī)則 DBMS 功能 優(yōu)化方法 應(yīng)用要求DBMS 特征 參數(shù) N N 需求分析階段 邏輯設(shè)計階段 概念設(shè)計階段 物理設(shè)計階段 數(shù)據(jù)庫實施階段 數(shù)據(jù)庫運行和維護階段 Y Y An Introduction to Database System數(shù)據(jù)庫設(shè)計原則數(shù)據(jù)庫設(shè)計原則n在設(shè)計過程中把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來n將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進行,相互參照,相互補充,以完善兩方面的設(shè)計n設(shè)計過程各個階段的設(shè)計描述:P204圖7.3An Introduction to Database System IPO表輸入:輸出:處理:Crea

16、tLoadMain( )ifthenend 分區(qū)1 分區(qū)2邏輯邏輯結(jié)構(gòu)結(jié)構(gòu)設(shè)計設(shè)計概念概念結(jié)構(gòu)結(jié)構(gòu)設(shè)計設(shè)計物理物理設(shè)計設(shè)計設(shè) 計設(shè) 計階階 段段 設(shè)設(shè) 計計 描描 述述數(shù)數(shù) 據(jù)據(jù)處處 理理需 求需 求分分 析析 數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、 數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和判定表(判定樹)、數(shù)數(shù)據(jù)流圖和判定表(判定樹)、數(shù)據(jù)字典中處理過程的描述據(jù)字典中處理過程的描述 概念模型(概念模型(E-R圖)圖) 數(shù)據(jù)字典數(shù)據(jù)字典 系統(tǒng)說明書包括:系統(tǒng)說明書包括: 新系統(tǒng)要求、新系統(tǒng)要求、 方案和概圖方案和概圖 反映新系統(tǒng)信息反映新系統(tǒng)信息 流的數(shù)據(jù)流圖流的數(shù)

17、據(jù)流圖 某種數(shù)據(jù)模型某種數(shù)據(jù)模型 關(guān)系關(guān)系 非關(guān)系非關(guān)系 系統(tǒng)結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖 (模塊結(jié)構(gòu))(模塊結(jié)構(gòu)) 存儲安排存儲安排 方法選擇方法選擇 存取路徑建立存取路徑建立 模塊設(shè)計模塊設(shè)計 IPO表表實施實施階段階段 編寫模式編寫模式 裝入數(shù)據(jù)裝入數(shù)據(jù) 數(shù)據(jù)庫試運行數(shù)據(jù)庫試運行 程序編碼、程序編碼、 編譯聯(lián)結(jié)、編譯聯(lián)結(jié)、 測試測試運 行運 行維維 護護 性能監(jiān)測、轉(zhuǎn)儲性能監(jiān)測、轉(zhuǎn)儲/恢復(fù)恢復(fù) 數(shù)據(jù)庫重組和重構(gòu)數(shù)據(jù)庫重組和重構(gòu) 新舊系統(tǒng)轉(zhuǎn)換、運行、維護(修正性、新舊系統(tǒng)轉(zhuǎn)換、運行、維護(修正性、適應(yīng)性、改善性維護)適應(yīng)性、改善性維護)圖7.3 數(shù)據(jù)庫設(shè)計各個階段的設(shè)計描述An Introductio

18、n to Database System7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式n數(shù)據(jù)庫各級模式的形成過程(P205圖圖7.4見下頁見下頁PPT)n1、需求分析階段n 綜合各個用戶的應(yīng)用需求(DFD圖)n2、概念設(shè)計階段n 形成獨立于機器特點,獨立于各個DBMS產(chǎn)品的概念模式(E-R圖)An Introduction to Database System7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫的各級模式An Introduction to Database System7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式n3、邏

19、輯設(shè)計階段n首先將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式n然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(View),形成數(shù)據(jù)庫的外模式n4、物理設(shè)計階段n根據(jù)DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式下面我們詳細(xì)介紹六個階段的具體設(shè)計內(nèi)容和設(shè)計過程下面我們詳細(xì)介紹六個階段的具體設(shè)計內(nèi)容和設(shè)計過程An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計 7.5 數(shù)據(jù)庫的物理設(shè)計7.6

20、 數(shù)據(jù)庫的實施和維護An Introduction to Database System7.2 需求分析需求分析n簡單地說:需求分析就是分析用戶的要求n需求分析是設(shè)計數(shù)據(jù)庫的起點n需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任務(wù)u需求分析的重點u需求分析的難點7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典An Introduction to Database System一、需求分析的任務(wù)一、需求分析的任務(wù) 1、通過詳

21、細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求 2、在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計數(shù)據(jù)庫 3、分析結(jié)果形成需求分析說明書An Introduction to Database System二、需求分析的重點二、需求分析的重點n需求分析的重點是“數(shù)據(jù)”和“處理”。就是調(diào)查,收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。n 信息要求n指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)n由用戶的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)?An

22、 Introduction to Database System需求分析的重點(續(xù))需求分析的重點(續(xù))n處理要求n指用戶要完成什么處理功能n對處理的響應(yīng)時間的要求n對處理方式的要求(批處理 / 聯(lián)機處理)n數(shù)據(jù)處理的高峰流量n新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。 用戶-表操作-屬性操作An Introduction to Database System三、需求分析的難點三、需求分析的難點n確定用戶最終需求的難點n用戶用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準(zhǔn)確地表達自己的需求,他們所提出的需求往往不斷地變化。n設(shè)

23、計人員設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。n新新的硬件、軟件技術(shù)的出現(xiàn)技術(shù)的出現(xiàn)也會使用戶需求發(fā)生變化。An Introduction to Database System需求分析的難點需求分析的難點(續(xù)續(xù))n解決方法n設(shè)計人員必須采用有效的方法,與用戶不斷深入深入地進行交流交流,才能逐步得以確定用戶的實際需求An Introduction to Database System7.2.2 需求分析的方法需求分析的方法n 調(diào)查清楚用戶的實際需求并進行初步分析n 與用戶達成共識n 進一步分析與表達這些需求(SA方法)An Introduction to Data

24、base System一、一、 調(diào)查與初步分析用戶需求調(diào)查與初步分析用戶需求 調(diào)查組織機構(gòu)情況n 組織、部門的組成情況n 各部門的職責(zé)等An Introduction to Database System調(diào)查與初步分析用戶需求(續(xù))調(diào)查與初步分析用戶需求(續(xù)) 調(diào)查各部門的業(yè)務(wù)活動情況。調(diào)查重點之一。n 各個部門輸入和使用什么數(shù)據(jù)n 如何加工處理這些數(shù)據(jù)n 輸出什么信息n 輸出到什么部門n 輸出結(jié)果的格式是什么An Introduction to Database System調(diào)查與初步分析用戶需求(續(xù))調(diào)查與初步分析用戶需求(續(xù)) 在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種要求。調(diào)查

25、重點之二。n 信息要求n 處理要求n 安全性與完整性要求An Introduction to Database System調(diào)查與初步分析用戶需求(續(xù))調(diào)查與初步分析用戶需求(續(xù)) 確定新系統(tǒng)的邊界n對前面調(diào)查的結(jié)果進行初步分析n確定哪些功能由計算機完成或?qū)頊?zhǔn)備由計算機完成n確定哪些活動由人工完成 由計算機完成的功能就是新系統(tǒng)應(yīng)該實現(xiàn)的功能。An Introduction to Database System二、常用調(diào)查方法二、常用調(diào)查方法n做需求調(diào)查時,往往需要同時采用多種方法n無論使用何種調(diào)查方法,都必須有用戶的積極參與和配合n設(shè)計人員應(yīng)該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立

26、數(shù)據(jù)庫環(huán)境下的共同概念,并對設(shè)計工作的最后結(jié)果共同承擔(dān)責(zé)任共同承擔(dān)責(zé)任An Introduction to Database System二、常用調(diào)查方法(續(xù))二、常用調(diào)查方法(續(xù))n常用調(diào)查方法 跟班作業(yè)跟班作業(yè)n通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動的情況n能比較準(zhǔn)確地理解用戶的需求,但比較耗時 開調(diào)查會開調(diào)查會n通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求 請專人介紹請專人介紹An Introduction to Database System二、常用調(diào)查方法(續(xù))二、常用調(diào)查方法(續(xù)) 詢問詢問n對某些調(diào)查中的問題,可以找專人詢問 設(shè)計調(diào)查表請用戶填寫設(shè)計調(diào)查表請用戶填寫n如果調(diào)查表設(shè)計合理,

27、則很有效,且易于為用戶接受 查閱記錄查閱記錄n查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄An Introduction to Database System三、進一步分析和表達用戶需求三、進一步分析和表達用戶需求n分析和表達用戶需求的常用方法n自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)nSA方法從最上層的系統(tǒng)組織機構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖數(shù)據(jù)流圖和數(shù)據(jù)字典數(shù)據(jù)字典描述系統(tǒng)。 An Introduction to Database System三、進一步分析和表達用戶需求(續(xù))三、進一步分析和表達用戶需求(續(xù))1首先把任何一個系統(tǒng)都抽象為:數(shù)據(jù)流數(shù)據(jù)

28、流數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)數(shù)據(jù)存儲存儲信息要求信息要求數(shù)據(jù)數(shù)據(jù)來源來源處理處理數(shù)據(jù)數(shù)據(jù)輸出輸出處理要求處理要求An Introduction to Database System三、進一步分析和表達用戶需求(續(xù))三、進一步分析和表達用戶需求(續(xù))2分解處理功能和數(shù)據(jù)(1)分解處理功能n將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程分解,直到把系統(tǒng)的工作過程表達清楚表達清楚為止為止。(2)分解數(shù)據(jù)n在處理功能逐步分解的同時,其所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖。n 數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系。An Introduction to Database S

29、ystem三、進一步分析和表達用戶需求(續(xù))三、進一步分析和表達用戶需求(續(xù))(3)表達方法n 處理過程:用判定表或判定樹來描述n 數(shù)據(jù):用數(shù)據(jù)字典來描述 An Introduction to Database System三、進一步分析和表達用戶需求(續(xù))三、進一步分析和表達用戶需求(續(xù))判定表例An Introduction to Database System三、進一步分析和表達用戶需求(續(xù))三、進一步分析和表達用戶需求(續(xù))3將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可An Introduction to Database System四、需求分析小結(jié)四、需求分析小結(jié)n需求分析過程,見P2

30、07圖7.6 An Introduction to Database System需求分析小結(jié)(續(xù))需求分析小結(jié)(續(xù))案例:案例:假設(shè)我們要開發(fā)一個學(xué)校管理系統(tǒng)。1經(jīng)過可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個子系統(tǒng)分別配備一個開發(fā)小組。2進一步細(xì)化各個子系統(tǒng)。其中學(xué)生管理子系統(tǒng)開發(fā)小組通過進一步的需求調(diào)查,明確了該子系統(tǒng)的主要功能是進行學(xué)籍管理和課程管理,包括學(xué)生報到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。通過詳細(xì)的信息流程分析和數(shù)據(jù)收集后,他們生成了該子該子系統(tǒng)系統(tǒng)的數(shù)據(jù)流圖( (見下頁見下頁) )。An Intr

31、oduction to Database System學(xué)生管理子系統(tǒng)數(shù)據(jù)流圖學(xué)生管理子系統(tǒng)數(shù)據(jù)流圖(DFD)An Introduction to Database System7.2.3 數(shù)據(jù)字典數(shù)據(jù)字典一、數(shù)據(jù)字典的用途二、數(shù)據(jù)字典的內(nèi)容An Introduction to Database System一、數(shù)據(jù)字典的用途一、數(shù)據(jù)字典的用途n數(shù)據(jù)流圖數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關(guān)系。n數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。n數(shù)據(jù)字典是進行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果n數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位An Introduction to Database System二、

32、數(shù)據(jù)字典的內(nèi)容二、數(shù)據(jù)字典的內(nèi)容n數(shù)據(jù)字典的內(nèi)容包括:n1、數(shù)據(jù)項n2、數(shù)據(jù)結(jié)構(gòu)n3、數(shù)據(jù)流n4、數(shù)據(jù)存儲n5、處理過程n 數(shù)據(jù)項是數(shù)據(jù)的最小組成單位n 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)n 數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。An Introduction to Database System 數(shù)據(jù)項數(shù)據(jù)項n數(shù)據(jù)項是不可再分的數(shù)據(jù)單位n 對數(shù)據(jù)項的描述數(shù)據(jù)項描述數(shù)據(jù)項名,數(shù)據(jù)項含義說明, 別名,數(shù)據(jù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項的邏輯關(guān)系n取值范圍、與其他數(shù)據(jù)項的邏輯關(guān)系定義了

33、數(shù)據(jù)取值范圍、與其他數(shù)據(jù)項的邏輯關(guān)系定義了數(shù)據(jù)的的完整性約束條件完整性約束條件An Introduction to Database System數(shù)據(jù)項(續(xù))數(shù)據(jù)項(續(xù))例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。數(shù)據(jù)項數(shù)據(jù)項,以“學(xué)號”為例: 數(shù)據(jù)項名:學(xué)號 含義說明:唯一標(biāo)識每個學(xué)生 別名:學(xué)生編號 類型:字符型 長度: 8 取值范圍: 00000000至99999999 取值含義:前兩位標(biāo)別該學(xué)生所在年級, 后六位按順序編號 與其他數(shù)據(jù)項的邏輯關(guān)系:無 (例(例:Cno:Cno和和CpnoCpno)An Introduction to Database System 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)n數(shù)據(jù)結(jié)構(gòu)反映

34、了數(shù)據(jù)之間的組合關(guān)系。n 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。n 對數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)名,含義說明, 組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)An Introduction to Database System數(shù)據(jù)結(jié)構(gòu)(續(xù))數(shù)據(jù)結(jié)構(gòu)(續(xù))數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 以“學(xué)生”為例 “學(xué)生”是該系統(tǒng)中的一個核心數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)結(jié)構(gòu)名:學(xué)生 含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié) 構(gòu),定義了一個學(xué)生的有關(guān)信息 組成:學(xué)號、姓名、性別、年齡、 所在系、年級An Introduction to Database System 數(shù)據(jù)流數(shù)據(jù)流n 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健 對數(shù)據(jù)流的描述數(shù)據(jù)流描述數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量n數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個過程n數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個過程去n平均流量是指

溫馨提示

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

評論

0/150

提交評論