數(shù)據(jù)庫系統(tǒng)概論:第7章 數(shù)據(jù)庫設(shè)計(1)_第1頁
數(shù)據(jù)庫系統(tǒng)概論:第7章 數(shù)據(jù)庫設(shè)計(1)_第2頁
數(shù)據(jù)庫系統(tǒng)概論:第7章 數(shù)據(jù)庫設(shè)計(1)_第3頁
數(shù)據(jù)庫系統(tǒng)概論:第7章 數(shù)據(jù)庫設(shè)計(1)_第4頁
數(shù)據(jù)庫系統(tǒng)概論:第7章 數(shù)據(jù)庫設(shè)計(1)_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database System數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計7.6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié)An Introduction to Database System7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)

2、計概述v 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計n數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫計)優(yōu)化的數(shù)據(jù)庫邏輯模式邏輯模式和和物理結(jié)構(gòu)物理結(jié)構(gòu),并據(jù)此建立并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。數(shù)據(jù)操作要求。n信息管理要求:在數(shù)據(jù)庫中應(yīng)該存儲和管理哪些數(shù)據(jù)信息管理要求:在數(shù)據(jù)庫中應(yīng)該存儲和管理哪些數(shù)據(jù)對象對象 。n數(shù)據(jù)操作要求:對數(shù)據(jù)對象需要進(jìn)行哪些操作,如查數(shù)據(jù)操作要求:對數(shù)據(jù)

3、對象需要進(jìn)行哪些操作,如查詢、增、刪、改、統(tǒng)計等操作。詢、增、刪、改、統(tǒng)計等操作。 An Introduction to Database System數(shù)據(jù)庫設(shè)計概述(續(xù))數(shù)據(jù)庫設(shè)計概述(續(xù))v 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計n數(shù)據(jù)庫設(shè)計的目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個數(shù)據(jù)庫設(shè)計的目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施信息基礎(chǔ)設(shè)施和高效率的和高效率的運(yùn)行環(huán)境運(yùn)行環(huán)境 。n高效率的運(yùn)行環(huán)境高效率的運(yùn)行環(huán)境l數(shù)據(jù)庫數(shù)據(jù)的存取效率高數(shù)據(jù)庫數(shù)據(jù)的存取效率高l數(shù)據(jù)庫存儲空間的利用率高數(shù)據(jù)庫存儲空間的利用率高l數(shù)據(jù)庫系統(tǒng)運(yùn)行管理的效率高數(shù)據(jù)庫系統(tǒng)運(yùn)行管理的效率高An Introduction to Da

4、tabase System7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式An Introduction to Database System7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點1. 數(shù)據(jù)庫建設(shè)的基本規(guī)律數(shù)據(jù)庫建設(shè)的基本規(guī)律n三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù) n管理管理 l數(shù)據(jù)庫建設(shè)項目管理數(shù)據(jù)庫建設(shè)項目管理 l企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管

5、理 n基礎(chǔ)數(shù)據(jù)基礎(chǔ)數(shù)據(jù) l數(shù)據(jù)的收集、整理、組織和不斷更新數(shù)據(jù)的收集、整理、組織和不斷更新An Introduction to Database System數(shù)據(jù)庫設(shè)計的特點(續(xù))數(shù)據(jù)庫設(shè)計的特點(續(xù))2. 結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計相結(jié)合 n將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計密切結(jié)合將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和數(shù)據(jù)處理設(shè)計密切結(jié)合v結(jié)構(gòu)和行為分離的設(shè)計結(jié)構(gòu)和行為分離的設(shè)計n傳統(tǒng)的軟件工程:重傳統(tǒng)的軟件工程:重 行為設(shè)計行為設(shè)計l忽視對應(yīng)用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡忽視對應(yīng)用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡量推遲數(shù)據(jù)結(jié)構(gòu)設(shè)計的決策量推遲數(shù)據(jù)結(jié)

6、構(gòu)設(shè)計的決策n早期的數(shù)據(jù)庫設(shè)計:重早期的數(shù)據(jù)庫設(shè)計:重 結(jié)構(gòu)設(shè)計結(jié)構(gòu)設(shè)計l致力于數(shù)據(jù)模型和數(shù)據(jù)庫建模方法研究,忽視了行為設(shè)致力于數(shù)據(jù)模型和數(shù)據(jù)庫建模方法研究,忽視了行為設(shè)計對結(jié)構(gòu)設(shè)計的影響計對結(jié)構(gòu)設(shè)計的影響An Introduction to Database System數(shù)據(jù)庫設(shè)計的特點(續(xù))數(shù)據(jù)庫設(shè)計的特點(續(xù))結(jié)構(gòu)和行為分離的設(shè)計結(jié)構(gòu)和行為分離的設(shè)計 現(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ù)據(jù)分析功能分析功能分析功能模型功能模型功能說明功能說明事務(wù)設(shè)計事務(wù)設(shè)計應(yīng)用設(shè)計應(yīng)用設(shè)計應(yīng)用開發(fā)

7、應(yīng)用開發(fā)系統(tǒng)調(diào)試系統(tǒng)調(diào)試數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計應(yīng)用系統(tǒng)設(shè)計應(yīng)用系統(tǒng)設(shè)計An Introduction to Database System7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式An Introduction to Database System7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法v大型數(shù)據(jù)庫設(shè)計是涉及多學(xué)科的綜合性技術(shù),又大型數(shù)據(jù)庫設(shè)計是涉及多學(xué)科的綜合性技術(shù),又是一項龐大的工程項目。是一項龐大的

8、工程項目。v它要求多方面的知識和技術(shù)。主要包括:它要求多方面的知識和技術(shù)。主要包括:n計算機(jī)的基礎(chǔ)知識計算機(jī)的基礎(chǔ)知識n軟件工程的原理和方法軟件工程的原理和方法n程序設(shè)計的方法和技巧程序設(shè)計的方法和技巧n數(shù)據(jù)庫的基本知識數(shù)據(jù)庫的基本知識n數(shù)據(jù)庫設(shè)計技術(shù)數(shù)據(jù)庫設(shè)計技術(shù)n應(yīng)用領(lǐng)域的知識應(yīng)用領(lǐng)域的知識An Introduction to Database System數(shù)據(jù)庫設(shè)計方法(續(xù))數(shù)據(jù)庫設(shè)計方法(續(xù))v手工試湊法手工試湊法n設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系設(shè)計質(zhì)量與設(shè)計人員的經(jīng)驗和水平有直接關(guān)系n缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以

9、保證證n數(shù)據(jù)庫運(yùn)行一段時間后常常又不同程度地發(fā)現(xiàn)各種問數(shù)據(jù)庫運(yùn)行一段時間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護(hù)代價題,增加了維護(hù)代價An Introduction to Database System數(shù)據(jù)庫設(shè)計方法(續(xù))數(shù)據(jù)庫設(shè)計方法(續(xù))v規(guī)范設(shè)計法規(guī)范設(shè)計法n手工設(shè)計方法手工設(shè)計方法n基本思想基本思想l過程迭代和逐步求精過程迭代和逐步求精n典型方法典型方法l新奧爾良(新奧爾良(New Orleans)方法)方法l基于基于E-R模型的數(shù)據(jù)庫設(shè)計方法模型的數(shù)據(jù)庫設(shè)計方法l3NF(第三范式)的設(shè)計方法(第三范式)的設(shè)計方法l面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計方法l統(tǒng)一建模語言(統(tǒng)一

10、建模語言(UML)方法)方法An Introduction to Database System7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式An Introduction to Database System7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟v數(shù)據(jù)庫設(shè)計分?jǐn)?shù)據(jù)庫設(shè)計分6個階段個階段n需求分析需求分析n概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計n邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計n物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計n數(shù)據(jù)庫實施

11、數(shù)據(jù)庫實施n數(shù)據(jù)庫運(yùn)行和維護(hù)數(shù)據(jù)庫運(yùn)行和維護(hù) v需求分析和概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng)需求分析和概念設(shè)計獨立于任何數(shù)據(jù)庫管理系統(tǒng) v邏輯設(shè)計和物理設(shè)計與選用的數(shù)據(jù)庫管理系統(tǒng)密邏輯設(shè)計和物理設(shè)計與選用的數(shù)據(jù)庫管理系統(tǒng)密切相關(guān)切相關(guān)An Introduction to Database SystemAn Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))v參加數(shù)據(jù)庫設(shè)計的人員參加數(shù)據(jù)庫設(shè)計的人員n系統(tǒng)分析人員和數(shù)據(jù)庫設(shè)計人員系統(tǒng)分析人員和數(shù)據(jù)庫設(shè)計人員l自始至終參與數(shù)據(jù)庫設(shè)計,其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的自始至終參與數(shù)據(jù)庫設(shè)計,其水平

12、決定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量質(zhì)量n數(shù)據(jù)庫管理員和用戶代表數(shù)據(jù)庫管理員和用戶代表l主要參加需求分析與數(shù)據(jù)庫的運(yùn)行和維護(hù)主要參加需求分析與數(shù)據(jù)庫的運(yùn)行和維護(hù)n應(yīng)用開發(fā)人員應(yīng)用開發(fā)人員l包括程序員和操作員包括程序員和操作員l在實施階段參與進(jìn)來,分別負(fù)責(zé)編制程序和準(zhǔn)備軟硬件在實施階段參與進(jìn)來,分別負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境環(huán)境An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))1. 需求分析階段需求分析階段n是否做得充分與準(zhǔn)確,決定了構(gòu)建數(shù)據(jù)庫的速度和質(zhì)是否做得充分與準(zhǔn)確,決定了構(gòu)建數(shù)據(jù)庫的速度和質(zhì)量量2. 概念結(jié)構(gòu)設(shè)計階段概念結(jié)構(gòu)設(shè)計階

13、段n通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體數(shù)據(jù)庫管理系統(tǒng)的概念模型立于具體數(shù)據(jù)庫管理系統(tǒng)的概念模型3. 邏輯結(jié)構(gòu)設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段n將概念結(jié)構(gòu)轉(zhuǎn)換為某個數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)將概念結(jié)構(gòu)轉(zhuǎn)換為某個數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化模型,并對其進(jìn)行優(yōu)化An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))4. 物理結(jié)構(gòu)設(shè)計階段物理結(jié)構(gòu)設(shè)計階段n為邏輯數(shù)據(jù)結(jié)構(gòu)選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)為邏輯數(shù)據(jù)結(jié)構(gòu)選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)n包括存儲結(jié)構(gòu)和

14、存取方法包括存儲結(jié)構(gòu)和存取方法5. 數(shù)據(jù)庫實施階段數(shù)據(jù)庫實施階段n根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果構(gòu)建數(shù)據(jù)庫根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果構(gòu)建數(shù)據(jù)庫n編寫與調(diào)試應(yīng)用程序編寫與調(diào)試應(yīng)用程序n組織數(shù)據(jù)入庫并進(jìn)行試運(yùn)行組織數(shù)據(jù)入庫并進(jìn)行試運(yùn)行6. 數(shù)據(jù)庫運(yùn)行和維護(hù)階段數(shù)據(jù)庫運(yùn)行和維護(hù)階段n經(jīng)過試運(yùn)行后即可投入正式運(yùn)行經(jīng)過試運(yùn)行后即可投入正式運(yùn)行n在運(yùn)行過程中必須不斷對其進(jìn)行評估、調(diào)整與修改在運(yùn)行過程中必須不斷對其進(jìn)行評估、調(diào)整與修改An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))v設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系

15、統(tǒng) 往往是上述往往是上述6個個階段的不斷反復(fù)階段的不斷反復(fù)v這個設(shè)計步驟既是數(shù)據(jù)庫設(shè)計的過程,也包括了這個設(shè)計步驟既是數(shù)據(jù)庫設(shè)計的過程,也包括了數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計過程數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計過程v把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊把數(shù)據(jù)庫的設(shè)計和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來,將這兩個方面的需求分析、抽象、密結(jié)合起來,將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進(jìn)行,相互參照,相設(shè)計、實現(xiàn)在各個階段同時進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計互補(bǔ)充,以完善兩方面的設(shè)計An Introduction to Database System數(shù)據(jù)庫設(shè)計的基本步驟(續(xù))數(shù)據(jù)庫設(shè)

16、計的基本步驟(續(xù))圖圖7.3 數(shù)據(jù)庫設(shè)計各個階段的數(shù)據(jù)設(shè)計描述數(shù)據(jù)庫設(shè)計各個階段的數(shù)據(jù)設(shè)計描述An Introduction to Database System7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.1.1 數(shù)據(jù)庫設(shè)計的特點數(shù)據(jù)庫設(shè)計的特點7.1.2 數(shù)據(jù)庫設(shè)計方法數(shù)據(jù)庫設(shè)計方法7.1.3 數(shù)據(jù)庫設(shè)計的基本步驟數(shù)據(jù)庫設(shè)計的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式An Introduction to Database System7.1.4 數(shù)據(jù)庫設(shè)計過程中的各級模式數(shù)據(jù)庫設(shè)計過程中的各級模式v數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫

17、各級模式數(shù)據(jù)庫的各級模式數(shù)據(jù)庫的各級模式 An Introduction to Database System數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))v數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式需求分析階段:需求分析階段:綜合各個用戶的應(yīng)用需求綜合各個用戶的應(yīng)用需求數(shù)據(jù)庫的各級模式數(shù)據(jù)庫的各級模式 An Introduction to Database System數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))v數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式概念設(shè)計階段:概念設(shè)計階段: 形

18、成獨立于機(jī)器特點,獨形成獨立于機(jī)器特點,獨立于各個數(shù)據(jù)庫管理系統(tǒng)產(chǎn)立于各個數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品的品的概念模式概念模式(E-R圖)圖)數(shù)據(jù)庫的各級模式數(shù)據(jù)庫的各級模式 An Introduction to Database System數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))v數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式邏輯設(shè)計階段:邏輯設(shè)計階段:1. 首先將首先將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫形成數(shù)據(jù)庫邏輯模式邏輯模式2. 然后根據(jù)用戶處理的要求、安全

19、性的考慮,在基本表的基礎(chǔ)上再建立然后根據(jù)用戶處理的要求、安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖(必要的視圖(View),形成數(shù)據(jù)的),形成數(shù)據(jù)的外模式外模式An Introduction to Database System數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))數(shù)據(jù)庫設(shè)計過程中的各級模式(續(xù))v數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式數(shù)據(jù)庫設(shè)計不同階段形成的數(shù)據(jù)庫各級模式物理設(shè)計階段:物理設(shè)計階段:根據(jù)數(shù)據(jù)庫管理系統(tǒng)特點和處理的需要,根據(jù)數(shù)據(jù)庫管理系統(tǒng)特點和處理的需要,進(jìn)行物理存儲安排,建立索引,形成數(shù)進(jìn)行物理存儲安排,建立索引,形成數(shù)據(jù)庫據(jù)庫內(nèi)模式內(nèi)模式數(shù)據(jù)庫的各級模式數(shù)據(jù)庫的各級模式 An

20、 Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計7.6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié)An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任務(wù)需求分析的任務(wù)7.2.2 需求分析的方法需求分析的方法7.2.3 數(shù)據(jù)字典數(shù)據(jù)字典An Introduction to Database System需求分析(續(xù))需求

21、分析(續(xù))v需求分析就是分析用戶的要求需求分析就是分析用戶的要求n是設(shè)計數(shù)據(jù)庫的起點是設(shè)計數(shù)據(jù)庫的起點n結(jié)果是否準(zhǔn)確地反映了用戶的實際要求,將直接影響結(jié)果是否準(zhǔn)確地反映了用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用和實用An Introduction to Database System7.2.1 需求分析的任務(wù)需求分析的任務(wù)v詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等)企業(yè)等)v充分了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))工作充分了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))工作概況

22、概況v明確用戶的各種需求明確用戶的各種需求v在此基礎(chǔ)上確定新系統(tǒng)的功能在此基礎(chǔ)上確定新系統(tǒng)的功能v新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變An Introduction to Database System需求分析的任務(wù)(續(xù))需求分析的任務(wù)(續(xù))v調(diào)查的重點是調(diào)查的重點是“數(shù)據(jù)數(shù)據(jù)”和和“處理處理”,獲得用戶對,獲得用戶對數(shù)據(jù)庫的要求數(shù)據(jù)庫的要求(1)信息要求)信息要求l用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)l由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)哪些數(shù)據(jù)

23、(2)處理要求)處理要求l用戶要完成的處理功能用戶要完成的處理功能l對處理性能的要求對處理性能的要求(3)安全性與完整性要求)安全性與完整性要求An Introduction to Database System需求分析的任務(wù)(續(xù))需求分析的任務(wù)(續(xù))v確定用戶最終需求的難點確定用戶最終需求的難點n用戶缺少計算機(jī)知識,不能準(zhǔn)確地表達(dá)自己的需求,用戶缺少計算機(jī)知識,不能準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。他們所提出的需求往往不斷地變化。n設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正設(shè)計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求需求,甚至誤解用戶的需求v

24、解決方法解決方法n設(shè)計人員必須不斷深入地與用戶進(jìn)行交流,才能逐步設(shè)計人員必須不斷深入地與用戶進(jìn)行交流,才能逐步確定用戶的實際需求確定用戶的實際需求An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任務(wù)需求分析的任務(wù)7.2.2 需求分析的方法需求分析的方法7.2.3 數(shù)據(jù)字典數(shù)據(jù)字典An Introduction to Database System7.2.2 需求分析的方法需求分析的方法v調(diào)查清楚用戶的實際需求并進(jìn)行初步分析調(diào)查清楚用戶的實際需求并進(jìn)行初步分析v與用戶達(dá)成共識與用戶達(dá)成共識v分析與表達(dá)這些需求分析與表達(dá)這些需求An

25、 Introduction to Database System調(diào)查用戶需求的步驟調(diào)查用戶需求的步驟(1)調(diào)查組織機(jī)構(gòu)情況)調(diào)查組織機(jī)構(gòu)情況(2)調(diào)查各部門的業(yè)務(wù)活動情況)調(diào)查各部門的業(yè)務(wù)活動情況(3)協(xié)助用戶明確對新系統(tǒng)的各種要求,包括信)協(xié)助用戶明確對新系統(tǒng)的各種要求,包括信 息要求、處理要求、完全性與完整性要求息要求、處理要求、完全性與完整性要求(4)確定新系統(tǒng)的邊界)確定新系統(tǒng)的邊界An Introduction to Database System常用調(diào)查方法常用調(diào)查方法(1)跟班作業(yè))跟班作業(yè)n通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動的情況通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動的情況(2)開調(diào)查

26、會)開調(diào)查會n通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求通過與用戶座談來了解業(yè)務(wù)活動情況及用戶需求(3)請專人介紹)請專人介紹(4)詢問)詢問n對某些調(diào)查中的問題,可以找專人詢問對某些調(diào)查中的問題,可以找專人詢問(5)設(shè)計調(diào)查表請用戶填寫)設(shè)計調(diào)查表請用戶填寫n調(diào)查表設(shè)計合理,則很有效調(diào)查表設(shè)計合理,則很有效(6)查閱記錄)查閱記錄n查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄An Introduction to Database System進(jìn)一步分析和表達(dá)用戶需求進(jìn)一步分析和表達(dá)用戶需求v分析方法分析方法n結(jié)構(gòu)化分析方法(結(jié)構(gòu)化分析方法(Structured Analysis,簡稱

27、,簡稱SA方法)方法)lSA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手l采用自頂向下、逐層分解的方式分析系統(tǒng)采用自頂向下、逐層分解的方式分析系統(tǒng)v對用戶需求進(jìn)行分析與表達(dá)后,需求分析報告必須對用戶需求進(jìn)行分析與表達(dá)后,需求分析報告必須提交給用戶,征得用戶的認(rèn)可提交給用戶,征得用戶的認(rèn)可An Introduction to Database System需求分析過程需求分析過程需求分析過程需求分析過程 An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任務(wù)需求分析的任務(wù)7.2.2 需求分析的方法需求分析的方法7.2

28、.3 數(shù)據(jù)字典數(shù)據(jù)字典An Introduction to Database System7.2.3 數(shù)據(jù)字典數(shù)據(jù)字典v數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),不是數(shù)據(jù)本身不是數(shù)據(jù)本身v數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實、完善中不斷修改、充實、完善v數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果的主要結(jié)果注意:注意:和關(guān)系數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)字典的區(qū)別和聯(lián)系和關(guān)系數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)字典的區(qū)別和聯(lián)系A(chǔ)n Introductio

29、n to Database System數(shù)據(jù)字典(續(xù))數(shù)據(jù)字典(續(xù))v數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)字典的內(nèi)容n數(shù)據(jù)項數(shù)據(jù)項n數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)n數(shù)據(jù)流數(shù)據(jù)流n數(shù)據(jù)存儲數(shù)據(jù)存儲n處理過程處理過程v 數(shù)據(jù)項是數(shù)據(jù)的最小組成單位數(shù)據(jù)項是數(shù)據(jù)的最小組成單位v 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)v 數(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 System1. 數(shù)據(jù)項數(shù)據(jù)項v 數(shù)據(jù)項是不可再分的數(shù)據(jù)單位數(shù)據(jù)項是不可再分的數(shù)據(jù)單位v 對數(shù)據(jù)項的

30、描述對數(shù)據(jù)項的描述數(shù)據(jù)項描述數(shù)據(jù)項描述=數(shù)據(jù)項名數(shù)據(jù)項名,數(shù)據(jù)項含義說明數(shù)據(jù)項含義說明,別名別名, 數(shù)據(jù)類型數(shù)據(jù)類型,長度長度,取值范圍取值范圍,取值含義取值含義, 與其他數(shù)據(jù)項的邏輯關(guān)系與其他數(shù)據(jù)項的邏輯關(guān)系, 數(shù)據(jù)項之間的聯(lián)系數(shù)據(jù)項之間的聯(lián)系n“取值范圍取值范圍”、“與其他數(shù)據(jù)項的邏輯關(guān)系與其他數(shù)據(jù)項的邏輯關(guān)系”定義了數(shù)定義了數(shù)據(jù)的完整性約束條件,是設(shè)計據(jù)的完整性約束條件,是設(shè)計 數(shù)據(jù)檢驗功能的依據(jù)數(shù)據(jù)檢驗功能的依據(jù)n可以用關(guān)系規(guī)范化理論為指導(dǎo),用數(shù)據(jù)依賴的概念分析可以用關(guān)系規(guī)范化理論為指導(dǎo),用數(shù)據(jù)依賴的概念分析和表示數(shù)據(jù)項之間的聯(lián)系和表示數(shù)據(jù)項之間的聯(lián)系 An Introduction

31、to Database System2. 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)v數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。v 一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。構(gòu)混合組成。v 對數(shù)據(jù)結(jié)構(gòu)的描述對數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)結(jié)構(gòu)描述=數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)An Introduction to Database System3. 數(shù)據(jù)流數(shù)據(jù)流v 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)?/p>

32、路徑。數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健 對數(shù)據(jù)流的描述對數(shù)據(jù)流的描述 數(shù)據(jù)流描述數(shù)據(jù)流描述=數(shù)據(jù)流名數(shù)據(jù)流名,說明說明,數(shù)據(jù)流來源數(shù)據(jù)流來源, 數(shù)據(jù)流去向數(shù)據(jù)流去向,組成組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu), 平均流量平均流量,高峰期流量高峰期流量n數(shù)據(jù)流來源:說明該數(shù)據(jù)流來自哪個過程數(shù)據(jù)流來源:說明該數(shù)據(jù)流來自哪個過程n數(shù)據(jù)流去向:說明該數(shù)據(jù)流將到哪個過程去數(shù)據(jù)流去向:說明該數(shù)據(jù)流將到哪個過程去n平均流量:在單位時間(每天、每周、每月等)里的傳平均流量:在單位時間(每天、每周、每月等)里的傳輸次數(shù)輸次數(shù)n高峰期流量:在高峰時期的數(shù)據(jù)流量高峰期流量:在高峰時期的數(shù)據(jù)流量An Introduction

33、to Database System4. 數(shù)據(jù)存儲數(shù)據(jù)存儲v數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。流的來源和去向之一。v對數(shù)據(jù)存儲的描述對數(shù)據(jù)存儲的描述數(shù)據(jù)存儲描述數(shù)據(jù)存儲描述=數(shù)據(jù)存儲名數(shù)據(jù)存儲名,說明說明,編號編號,輸輸 入的數(shù)據(jù)流入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流輸出的數(shù)據(jù)流, 組成組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量數(shù)據(jù)量, 存取頻度存取頻度,存取方式存取方式n存取頻度:每小時、每天或每周存取次數(shù),每次存取的存取頻度:每小時、每天或每周存取次數(shù),每次存取的數(shù)據(jù)量等信息數(shù)據(jù)量等信息 n存取方法:批處理存取方法:批處理 / 聯(lián)機(jī)處理;

34、檢索聯(lián)機(jī)處理;檢索 / 更新;順序檢索更新;順序檢索 / 隨機(jī)檢索隨機(jī)檢索n輸入的數(shù)據(jù)流:數(shù)據(jù)來源輸入的數(shù)據(jù)流:數(shù)據(jù)來源n輸出的數(shù)據(jù)流:數(shù)據(jù)去向輸出的數(shù)據(jù)流:數(shù)據(jù)去向An Introduction to Database System5. 處理過程處理過程v處理過程的具體處理邏輯一般用判定表或判定樹來描處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息v處理過程說明性信息的描述處理過程說明性信息的描述 處理過程描述處理過程描述=處理過程名處理過程名,說明說明,輸入輸入:數(shù)據(jù)流數(shù)據(jù)流, 輸出輸出:數(shù)據(jù)流數(shù)據(jù)流,處

35、理處理:簡要說明簡要說明n簡要說明:說明該處理過程的功能及處理要求簡要說明:說明該處理過程的功能及處理要求l功能:該處理過程用來做什么功能:該處理過程用來做什么l處理要求:處理頻度要求,如單位時間里處理多少事務(wù),多處理要求:處理頻度要求,如單位時間里處理多少事務(wù),多少數(shù)據(jù)量、響應(yīng)時間要求等少數(shù)據(jù)量、響應(yīng)時間要求等l處理要求是后面物理設(shè)計的輸入及性能評價的標(biāo)準(zhǔn)處理要求是后面物理設(shè)計的輸入及性能評價的標(biāo)準(zhǔn)An Introduction to Database System需求分析小結(jié)需求分析小結(jié)v把需求收集和分析作為數(shù)據(jù)庫設(shè)計的第一階段是把需求收集和分析作為數(shù)據(jù)庫設(shè)計的第一階段是十分重要的。十分重

36、要的。v第一階段收集的基礎(chǔ)數(shù)據(jù)(用數(shù)據(jù)字典來表達(dá))第一階段收集的基礎(chǔ)數(shù)據(jù)(用數(shù)據(jù)字典來表達(dá))是下一步進(jìn)行概念設(shè)計的基礎(chǔ)。是下一步進(jìn)行概念設(shè)計的基礎(chǔ)。v強(qiáng)調(diào)兩點強(qiáng)調(diào)兩點 (1)設(shè)計人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計)設(shè)計人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計易于更改,系統(tǒng)易于擴(kuò)充易于更改,系統(tǒng)易于擴(kuò)充 (2)必須強(qiáng)調(diào)用戶的參與)必須強(qiáng)調(diào)用戶的參與An Introduction to Database System第七章第七章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計7.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述7.2 需求分析需求分析7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.4 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計7.5 物理結(jié)構(gòu)設(shè)計

37、物理結(jié)構(gòu)設(shè)計7.6 數(shù)據(jù)庫的實施和維護(hù)數(shù)據(jù)庫的實施和維護(hù)7.7 小結(jié)小結(jié)An Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念模型概念模型7.3.2 E-R模型模型*7.3.3 擴(kuò)展的擴(kuò)展的E-R模型模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計An Introduction to Database System7.3.1 概念模型概念模型v將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(即概將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(即概念模型)的過程就是概念結(jié)構(gòu)設(shè)計念模型)的過程就是概念結(jié)構(gòu)設(shè)計v概念模型的特點概念模型的特點(

38、1)能真實、充分地反映現(xiàn)實世界,是現(xiàn)實世界的一個真)能真實、充分地反映現(xiàn)實世界,是現(xiàn)實世界的一個真 實模型。實模型。(2)易于理解,從而可以用它和不熟悉計算機(jī)的用戶交換)易于理解,從而可以用它和不熟悉計算機(jī)的用戶交換 意見。意見。(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概 念模型修改和擴(kuò)充。念模型修改和擴(kuò)充。(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換v描述概念模型的工具描述概念模型的工具nE-R模型模型An Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概

39、念結(jié)構(gòu)設(shè)計7.3.1 概念結(jié)構(gòu)概念結(jié)構(gòu)7.3.2 E-R模型模型*7.3.3 擴(kuò)展的擴(kuò)展的E-R模型模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計An Introduction to Database System7.3.2 E-R模型模型1. 實體之間的聯(lián)系實體之間的聯(lián)系(1)兩個實體型之間的聯(lián)系:)兩個實體型之間的聯(lián)系:一對一聯(lián)系(一對一聯(lián)系(1 1)一對多聯(lián)系(一對多聯(lián)系(1 n)多對多聯(lián)系(多對多聯(lián)系(m n)An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))一對一聯(lián)系(一對一聯(lián)系(1 1)如果對于實體集如果對于實體集A中的每一

40、個實體,實體集中的每一個實體,實體集B中至多有中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集實體集A與實體集與實體集B具有一對一聯(lián)系,記為具有一對一聯(lián)系,記為1 1。例如,學(xué)校里一個班級只有一個正班長,而一個班長例如,學(xué)校里一個班級只有一個正班長,而一個班長只在一個班中任職,則班級與班長之間具有一對一聯(lián)只在一個班中任職,則班級與班長之間具有一對一聯(lián)系。系。An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))一對多聯(lián)系(一對多聯(lián)系(1 n)如果對于實體集如果對于實體集A中的每一個實體,實體集中的

41、每一個實體,實體集B中有中有n個實個實體(體(n0)與之聯(lián)系,反之,對于實體集)與之聯(lián)系,反之,對于實體集B中的每一個中的每一個實體,實體集實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實中至多只有一個實體與之聯(lián)系,則稱實體集體集A與實體集與實體集B有一對多聯(lián)系,記為有一對多聯(lián)系,記為1 n。例如,一個班級中有若干名學(xué)生,而每個學(xué)生只在一個例如,一個班級中有若干名學(xué)生,而每個學(xué)生只在一個班級中學(xué)習(xí),則班級與學(xué)生之間具有一對多聯(lián)系。班級中學(xué)習(xí),則班級與學(xué)生之間具有一對多聯(lián)系。An Introduction to Database System多對多聯(lián)系(多對多聯(lián)系(m n)如果對于實體集如果對于

42、實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有n個實體(個實體(n0)與之聯(lián)系,反之,對于實體集)與之聯(lián)系,反之,對于實體集B中的中的每一個實體,實體集每一個實體,實體集A中也有中也有m個實體(個實體(m0)與之)與之聯(lián)系,則稱實體集聯(lián)系,則稱實體集A與實體集與實體集B具有多對多聯(lián)系,記具有多對多聯(lián)系,記為為m n。例如,一門課程同時有若干個學(xué)生選修,而一個學(xué)例如,一門課程同時有若干個學(xué)生選修,而一個學(xué)生可以同時選修多門課程,則課程與學(xué)生之間具有生可以同時選修多門課程,則課程與學(xué)生之間具有多對多聯(lián)系。多對多聯(lián)系。E-R模型(續(xù))模型(續(xù))An Introduction to D

43、atabase SystemE-R模型(續(xù))模型(續(xù))圖圖7.6 兩個實體型之間的三類聯(lián)系兩個實體型之間的三類聯(lián)系A(chǔ)n Introduction to Database SystemE-R模型(續(xù))模型(續(xù))(2)兩個以上的實體型之間的聯(lián)系)兩個以上的實體型之間的聯(lián)系l一般地,兩個以上的實體型之間也存在著一對一、一對一般地,兩個以上的實體型之間也存在著一對一、一對多、多對多聯(lián)系。多、多對多聯(lián)系。l對于課程、教師與參考書對于課程、教師與參考書3個實體型,如果一門課程可以個實體型,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師有若干個教師講授,使用若干本參考書,而每一個教師只講授

44、一門課程,每一本參考書只供一門課程使用,則只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對多的,如圖課程與教師、參考書之間的聯(lián)系是一對多的,如圖7.7(a)所示。所示。An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))圖圖7.7 三個實體型之間的聯(lián)系示例三個實體型之間的聯(lián)系示例An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))(3)單個實體型內(nèi)的聯(lián)系)單個實體型內(nèi)的聯(lián)系l同一個實體集內(nèi)的各實體之間也可以存在一對一、一對同一個實體集內(nèi)的各實體之間也可以存在一對一、一對多、多對

45、多的聯(lián)系。多、多對多的聯(lián)系。l例如,職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某例如,職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一職工(干部)一職工(干部)“領(lǐng)導(dǎo)領(lǐng)導(dǎo)”若干名職工,而一個職工僅被若干名職工,而一個職工僅被另外一個職工直接領(lǐng)導(dǎo),因此這是一對多的聯(lián)系,如圖另外一個職工直接領(lǐng)導(dǎo),因此這是一對多的聯(lián)系,如圖7.8所示。所示。An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))圖圖7.8 單個實體型內(nèi)的一對多聯(lián)系示例單個實體型內(nèi)的一對多聯(lián)系示例n聯(lián)系的度:參與聯(lián)系的實體型的數(shù)目聯(lián)系的度:參與聯(lián)系的實體型的數(shù)目l2個實體型之間的聯(lián)系度為個實體型之間的

46、聯(lián)系度為2,也稱為二元聯(lián)系;,也稱為二元聯(lián)系;l3個實體型之間的聯(lián)系度為個實體型之間的聯(lián)系度為3,稱為三元聯(lián)系;,稱為三元聯(lián)系;lN個實體型之間的聯(lián)系度為個實體型之間的聯(lián)系度為N,也稱為,也稱為N元聯(lián)系元聯(lián)系A(chǔ)n Introduction to Database SystemE-R模型(續(xù))模型(續(xù))2. E-R圖圖nE-R圖提供了表示實體型、屬性和聯(lián)系的方法:圖提供了表示實體型、屬性和聯(lián)系的方法:l實體型:用矩形表示,矩形框內(nèi)寫明實體名。實體型:用矩形表示,矩形框內(nèi)寫明實體名。l屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體型連屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體型連接起來。接起來

47、。例如,學(xué)生實體具有學(xué)號、姓名、性別、出生年份、例如,學(xué)生實體具有學(xué)號、姓名、性別、出生年份、系、入學(xué)時間等屬性,用系、入學(xué)時間等屬性,用E-R圖表示如圖圖表示如圖7.9所示所示圖圖7.9 學(xué)生實體及屬性學(xué)生實體及屬性An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))l聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體型連接起來,同時在無向邊旁標(biāo)上聯(lián)系分別與有關(guān)實體型連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(的類型(1 1,1 n或或m n)。)。l聯(lián)系可以具有屬性聯(lián)系可以具有屬性圖圖7.10

48、 聯(lián)系的屬性聯(lián)系的屬性An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))v3. 一個實例一個實例n某個工廠物資管理的概念模型。物資管理涉及的實體有:某個工廠物資管理的概念模型。物資管理涉及的實體有:l倉庫:屬性有倉庫號、面積、電話號碼倉庫:屬性有倉庫號、面積、電話號碼l零件:屬性有零件號、名稱、規(guī)格、單價、描述零件:屬性有零件號、名稱、規(guī)格、單價、描述l供應(yīng)商:屬性有供應(yīng)商號、姓名、地址、電話號碼、賬號供應(yīng)商:屬性有供應(yīng)商號、姓名、地址、電話號碼、賬號l項目:屬性有項目號、預(yù)算、開工日期項目:屬性有項目號、預(yù)算、開工日期l職工:屬性有職工號、姓名、年

49、齡、職稱職工:屬性有職工號、姓名、年齡、職稱An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))n這些實體之間的聯(lián)系如下:這些實體之間的聯(lián)系如下: (1) 一個倉庫可以存放多種零件,一種零件可以存放在多個一個倉庫可以存放多種零件,一種零件可以存放在多個 倉庫中,因此倉庫和零件具有多對多的聯(lián)系。用倉庫中,因此倉庫和零件具有多對多的聯(lián)系。用庫存量庫存量 來表示某種零件在某個倉庫中的數(shù)量。來表示某種零件在某個倉庫中的數(shù)量。(2) 一個倉庫有多個職工當(dāng)倉庫保管員,一個職工只能在一一個倉庫有多個職工當(dāng)倉庫保管員,一個職工只能在一 個倉庫工作,因此倉庫和職工之間是

50、一對多的聯(lián)系。個倉庫工作,因此倉庫和職工之間是一對多的聯(lián)系。An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))n這些實體之間的聯(lián)系如下(續(xù)):這些實體之間的聯(lián)系如下(續(xù)): (3) 職工之間具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若職工之間具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若 干保管員,因此職工實體型中具有一對多的聯(lián)系。干保管員,因此職工實體型中具有一對多的聯(lián)系。(4) 供應(yīng)商、項目和零件三者之間具有多對多的聯(lián)系。即一供應(yīng)商、項目和零件三者之間具有多對多的聯(lián)系。即一 個供應(yīng)商可以供給若干項目多種零件,每個項目可以使個供應(yīng)商可以供給若干項目多種零件,每個

51、項目可以使 用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供 給。給。An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))An Introduction to Database SystemE-R模型(續(xù))模型(續(xù))vE-R圖,可以參見:圖,可以參見:n愛課程網(wǎng)數(shù)據(jù)庫系統(tǒng)概論愛課程網(wǎng)數(shù)據(jù)庫系統(tǒng)概論1.2節(jié)動畫節(jié)動畫E-R

52、圖難點解析(圖難點解析(1) E-R圖難點解析(圖難點解析(2) E-R圖難點解析(圖難點解析(3)An Introduction to Database System7.3 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計7.3.1 概念結(jié)構(gòu)概念結(jié)構(gòu)7.3.2 E-R模型模型*7.3.3 擴(kuò)展的擴(kuò)展的E-R模型模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計An Introduction to Database System7.3.5 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計1. 實體與屬性的劃分原則實體與屬性的劃分原則n為了簡化為了簡化E-R圖的處置,現(xiàn)實世界的事物能作為屬性對圖的處置,現(xiàn)實世界的事物能作為屬性對待的

53、,盡量作為屬性對待。待的,盡量作為屬性對待。n兩條準(zhǔn)則:兩條準(zhǔn)則:(1)作為屬性,不能再具有需要描述的性質(zhì)。屬性必須)作為屬性,不能再具有需要描述的性質(zhì)。屬性必須是不可分的數(shù)據(jù)項,不能包含其他屬性。是不可分的數(shù)據(jù)項,不能包含其他屬性。 (2)屬性不能與其他實體具有聯(lián)系,即)屬性不能與其他實體具有聯(lián)系,即E-R圖中所表示圖中所表示的聯(lián)系是實體之間的聯(lián)系。的聯(lián)系是實體之間的聯(lián)系。An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))例例1 職工是一個實體,職工號、姓名、年齡是職工的屬性。職工是一個實體,職工號、姓名、年齡是職工的屬性。n 職稱如果沒

54、有與工資、福利掛鉤,根據(jù)準(zhǔn)則(職稱如果沒有與工資、福利掛鉤,根據(jù)準(zhǔn)則(1)可以作為職工實體)可以作為職工實體的屬性的屬性n 如果不同的職稱有不同的工資、住房標(biāo)準(zhǔn)和不同的附加福利,則職如果不同的職稱有不同的工資、住房標(biāo)準(zhǔn)和不同的附加福利,則職稱作為一個實體更恰當(dāng)稱作為一個實體更恰當(dāng)An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))例例2 在醫(yī)院中,一個病人只能住在一個病房,病房號可以作為病在醫(yī)院中,一個病人只能住在一個病房,病房號可以作為病人實體的一個屬性;人實體的一個屬性; 如果病房還要與醫(yī)生實體發(fā)生聯(lián)系,即一個醫(yī)生負(fù)責(zé)幾個病房如果病房還要

55、與醫(yī)生實體發(fā)生聯(lián)系,即一個醫(yī)生負(fù)責(zé)幾個病房的病人的醫(yī)療工作,則根據(jù)準(zhǔn)則(的病人的醫(yī)療工作,則根據(jù)準(zhǔn)則(2) 病房應(yīng)作為一個實體。病房應(yīng)作為一個實體。An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))例例3 如果一種貨物只存放在一個倉庫,那么就可以把存放貨物的倉庫的如果一種貨物只存放在一個倉庫,那么就可以把存放貨物的倉庫的倉庫號作為描述貨物存放地點的屬性。倉庫號作為描述貨物存放地點的屬性。 如果一種貨物可以存放在多個倉庫中,或者倉庫本身又用面積作為屬如果一種貨物可以存放在多個倉庫中,或者倉庫本身又用面積作為屬性,或者倉庫與職工發(fā)生管理上的聯(lián)系

56、,那么就應(yīng)把倉庫作為一個實性,或者倉庫與職工發(fā)生管理上的聯(lián)系,那么就應(yīng)把倉庫作為一個實體。體。An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))v例例7.1 銷售管理子系統(tǒng)銷售管理子系統(tǒng)E-R圖的設(shè)計。圖的設(shè)計。n該子系統(tǒng)的主要功能是:該子系統(tǒng)的主要功能是:l處理顧客和銷售員送來的訂單處理顧客和銷售員送來的訂單l工廠是根據(jù)訂貨安排生產(chǎn)的工廠是根據(jù)訂貨安排生產(chǎn)的l交出貨物同時開出發(fā)票交出貨物同時開出發(fā)票l收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款處理處理An Introduction to

57、 Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))v 參照需求分析和數(shù)據(jù)字典中的詳盡描述,遵循前面給出的兩個準(zhǔn)則,參照需求分析和數(shù)據(jù)字典中的詳盡描述,遵循前面給出的兩個準(zhǔn)則,進(jìn)行了如下調(diào)整:進(jìn)行了如下調(diào)整:(1)每張訂單由訂單號、若干頭信息和訂單細(xì)節(jié)組成。訂單細(xì)節(jié)又)每張訂單由訂單號、若干頭信息和訂單細(xì)節(jié)組成。訂單細(xì)節(jié)又有訂貨的零件號、數(shù)量等來描述。按照準(zhǔn)則(有訂貨的零件號、數(shù)量等來描述。按照準(zhǔn)則(2),訂單細(xì)節(jié)就不),訂單細(xì)節(jié)就不能作訂單的屬性處理而應(yīng)該上升為實體。一張訂單可以訂若干產(chǎn)能作訂單的屬性處理而應(yīng)該上升為實體。一張訂單可以訂若干產(chǎn)品,所以訂單與訂單細(xì)節(jié)兩個實體之間

58、是品,所以訂單與訂單細(xì)節(jié)兩個實體之間是1 n的聯(lián)系。的聯(lián)系。An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))(2)原訂單和產(chǎn)品的聯(lián)系實際上是訂單細(xì)節(jié)和產(chǎn)品的聯(lián))原訂單和產(chǎn)品的聯(lián)系實際上是訂單細(xì)節(jié)和產(chǎn)品的聯(lián)系。每條訂貨細(xì)節(jié)對應(yīng)一個產(chǎn)品描述,訂單處理時從系。每條訂貨細(xì)節(jié)對應(yīng)一個產(chǎn)品描述,訂單處理時從中獲得當(dāng)前單價、產(chǎn)品重量等信息。中獲得當(dāng)前單價、產(chǎn)品重量等信息。(3)工廠對大宗訂貨給予優(yōu)惠。每種產(chǎn)品都規(guī)定了不同)工廠對大宗訂貨給予優(yōu)惠。每種產(chǎn)品都規(guī)定了不同訂貨數(shù)量的折扣,應(yīng)增加一個訂貨數(shù)量的折扣,應(yīng)增加一個“折扣規(guī)則折扣規(guī)則”實體存放實體存放

59、這些信息,而不應(yīng)把它們放在產(chǎn)品實體中。這些信息,而不應(yīng)把它們放在產(chǎn)品實體中。An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))v 最后得到銷售管理子系統(tǒng)最后得到銷售管理子系統(tǒng)E-R圖如圖圖如圖7.23所示。所示。圖圖7.23 銷售管理子系統(tǒng)的銷售管理子系統(tǒng)的E-R圖圖An Introduction to Database System概念結(jié)構(gòu)設(shè)計(續(xù))概念結(jié)構(gòu)設(shè)計(續(xù))v 對每個實體定義的屬性如下:對每個實體定義的屬性如下:n 顧客:顧客:顧客號顧客號,顧客名,地址,電話,信貸狀況,賬目余額,顧客名,地址,電話,信貸狀況,賬目余額n 訂單:

60、訂單:訂單號訂單號,顧客號,訂貨項數(shù),訂貨日期,交貨日期,工,顧客號,訂貨項數(shù),訂貨日期,交貨日期,工種號,生產(chǎn)地點種號,生產(chǎn)地點n 訂單細(xì)則:訂單細(xì)則:訂單號,細(xì)則號訂單號,細(xì)則號,零件號,訂貨數(shù),金額,零件號,訂貨數(shù),金額n 應(yīng)收賬款:應(yīng)收賬款:顧客號,訂單號顧客號,訂單號,發(fā)票號,應(yīng)收金額,支付日期,發(fā)票號,應(yīng)收金額,支付日期,支付金額,當(dāng)前余額,貨款限額支付金額,當(dāng)前余額,貨款限額n 產(chǎn)品:產(chǎn)品:產(chǎn)品號產(chǎn)品號,產(chǎn)品名,單價,重量,產(chǎn)品名,單價,重量n 折扣規(guī)則:折扣規(guī)則:產(chǎn)品號,訂貨量產(chǎn)品號,訂貨量,折扣,折扣An Introduction to Database System概念結(jié)構(gòu)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論