版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第七章 數(shù)據(jù)庫設(shè)計(jì)第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5 物理結(jié)構(gòu)設(shè)計(jì)7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)7.7 小結(jié)7.1 數(shù)據(jù)庫設(shè)計(jì)概述 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。信息管理要求:在數(shù)據(jù)庫中應(yīng)該存儲(chǔ)和管理哪些數(shù)據(jù)對(duì)象 。數(shù)據(jù)操作要求:對(duì)數(shù)據(jù)對(duì)象需要進(jìn)行哪些操作,如查詢、增、刪、改
2、、統(tǒng)計(jì)等操作。 數(shù)據(jù)庫設(shè)計(jì)概述(續(xù)) 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)是為用戶和各種應(yīng)用系統(tǒng)提供一個(gè)信息基礎(chǔ)設(shè)施和高效率的運(yùn)行環(huán)境 。高效率的運(yùn)行環(huán)境數(shù)據(jù)庫數(shù)據(jù)的存取效率高數(shù)據(jù)庫存儲(chǔ)空間的利用率高數(shù)據(jù)庫系統(tǒng)運(yùn)行管理的效率高7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)1. 數(shù)據(jù)庫建設(shè)的基本規(guī)律三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù) 管理 數(shù)據(jù)庫建設(shè)項(xiàng)目管理 企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理 基礎(chǔ)數(shù)據(jù) 數(shù)據(jù)的收集、整理、組織和不斷更新數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)(續(xù))2. 結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為
3、(處理)設(shè)計(jì)相結(jié)合 將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)處理設(shè)計(jì)密切結(jié)合結(jié)構(gòu)和行為分離的設(shè)計(jì)傳統(tǒng)的軟件工程:重 行為設(shè)計(jì)忽視對(duì)應(yīng)用中數(shù)據(jù)語義的分析和抽象,只要有可能就盡量推遲數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的決策早期的數(shù)據(jù)庫設(shè)計(jì):重 結(jié)構(gòu)設(shè)計(jì)致力于數(shù)據(jù)模型和數(shù)據(jù)庫建模方法研究,忽視了行為設(shè)計(jì)對(duì)結(jié)構(gòu)設(shè)計(jì)的影響數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)(續(xù))結(jié)構(gòu)和行為分離的設(shè)計(jì) 現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能模型功能說明事務(wù)設(shè)計(jì)應(yīng)用設(shè)計(jì)應(yīng)用開發(fā)系統(tǒng)調(diào)試數(shù)據(jù)庫設(shè)計(jì)應(yīng)用系統(tǒng)設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)
4、計(jì)過程中的各級(jí)模式7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法大型數(shù)據(jù)庫設(shè)計(jì)是涉及多學(xué)科的綜合性技術(shù),又是一項(xiàng)龐大的工程項(xiàng)目。它要求多方面的知識(shí)和技術(shù)。主要包括:計(jì)算機(jī)的基礎(chǔ)知識(shí)軟件工程的原理和方法程序設(shè)計(jì)的方法和技巧數(shù)據(jù)庫的基本知識(shí)數(shù)據(jù)庫設(shè)計(jì)技術(shù)應(yīng)用領(lǐng)域的知識(shí)數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))手工試湊法設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證數(shù)據(jù)庫運(yùn)行一段時(shí)間后常常又不同程度地發(fā)現(xiàn)各種問題,增加了維護(hù)代價(jià)數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))規(guī)范設(shè)計(jì)法手工設(shè)計(jì)方法基本思想過程迭代和逐步求精典型方法新奧爾良(New Orleans)方法基于E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法3NF(第三范式)的設(shè)計(jì)方法面
5、向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法統(tǒng)一建模語言(UML)方法7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟數(shù)據(jù)庫設(shè)計(jì)分6個(gè)階段需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫運(yùn)行和維護(hù) 需求分析和概念設(shè)計(jì)獨(dú)立于任何數(shù)據(jù)庫管理系統(tǒng) 邏輯設(shè)計(jì)和物理設(shè)計(jì)與選用的數(shù)據(jù)庫管理系統(tǒng)密切相關(guān)數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù))參加數(shù)據(jù)庫設(shè)計(jì)的人員系統(tǒng)分析人員和數(shù)據(jù)庫設(shè)計(jì)人員自始至終參與數(shù)據(jù)庫設(shè)計(jì),其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量數(shù)據(jù)庫管理員和用戶代表主要參加需求分析與數(shù)據(jù)庫的運(yùn)行和維護(hù)應(yīng)用開
6、發(fā)人員包括程序員和操作員在實(shí)施階段參與進(jìn)來,分別負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù))1. 需求分析階段是否做得充分與準(zhǔn)確,決定了構(gòu)建數(shù)據(jù)庫的速度和質(zhì)量2. 概念結(jié)構(gòu)設(shè)計(jì)階段通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體數(shù)據(jù)庫管理系統(tǒng)的概念模型3. 邏輯結(jié)構(gòu)設(shè)計(jì)階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù))4. 物理結(jié)構(gòu)設(shè)計(jì)階段為邏輯數(shù)據(jù)結(jié)構(gòu)選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)包括存儲(chǔ)結(jié)構(gòu)和存取方法5. 數(shù)據(jù)庫實(shí)施階段根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果構(gòu)建數(shù)據(jù)庫編寫與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫并進(jìn)行試運(yùn)行6. 數(shù)據(jù)庫運(yùn)行和維護(hù)階段經(jīng)
7、過試運(yùn)行后即可投入正式運(yùn)行在運(yùn)行過程中必須不斷對(duì)其進(jìn)行評(píng)估、調(diào)整與修改數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù))設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng) 往往是上述6個(gè)階段的不斷反復(fù)這個(gè)設(shè)計(jì)步驟既是數(shù)據(jù)庫設(shè)計(jì)的過程,也包括了數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)過程把數(shù)據(jù)庫的設(shè)計(jì)和對(duì)數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來,將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的基本步驟(續(xù))圖7.3 數(shù)據(jù)庫設(shè)計(jì)各個(gè)階段的數(shù)據(jù)設(shè)計(jì)描述7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.1.1 數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)7.1.2 數(shù)據(jù)庫設(shè)計(jì)方法7.1.3 數(shù)據(jù)庫設(shè)計(jì)的基本步驟7.1.4 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式7.1.4 數(shù)
8、據(jù)庫設(shè)計(jì)過程中的各級(jí)模式數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式數(shù)據(jù)庫的各級(jí)模式 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式(續(xù))數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式需求分析階段:綜合各個(gè)用戶的應(yīng)用需求數(shù)據(jù)庫的各級(jí)模式 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式(續(xù))數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式概念設(shè)計(jì)階段: 形成獨(dú)立于機(jī)器特點(diǎn),獨(dú)立于各個(gè)數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品的概念模式(E-R圖)數(shù)據(jù)庫的各級(jí)模式 數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式(續(xù))數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式邏輯設(shè)計(jì)階段:1. 首先將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式2. 然后根據(jù)用戶處理的要求、安全性的考慮,在基本
9、表的基礎(chǔ)上再建立必要的視圖(View),形成數(shù)據(jù)的外模式數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式(續(xù))數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式物理設(shè)計(jì)階段:根據(jù)數(shù)據(jù)庫管理系統(tǒng)特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式數(shù)據(jù)庫的各級(jí)模式 第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5 物理結(jié)構(gòu)設(shè)計(jì)7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)7.7 小結(jié)7.2 需求分析7.2.1 需求分析的任務(wù)7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典需求分析(續(xù))需求分析就是分析用戶的要求是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn)結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的
10、設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用7.2.1 需求分析的任務(wù)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等)充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況明確用戶的各種需求在此基礎(chǔ)上確定新系統(tǒng)的功能新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變需求分析的任務(wù)(續(xù))調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,獲得用戶對(duì)數(shù)據(jù)庫的要求(1)信息要求用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)(2)處理要求用戶要完成的處理功能對(duì)處理性能的要求(3)安全性與完整性要求需求分析的任務(wù)(續(xù))確定用戶最終需求的難點(diǎn)用戶缺少計(jì)算機(jī)知識(shí),不能準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求
11、往往不斷地變化。設(shè)計(jì)人員缺少用戶的專業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求解決方法設(shè)計(jì)人員必須不斷深入地與用戶進(jìn)行交流,才能逐步確定用戶的實(shí)際需求7.2 需求分析7.2.1 需求分析的任務(wù)7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典7.2.2 需求分析的方法調(diào)查清楚用戶的實(shí)際需求并進(jìn)行初步分析與用戶達(dá)成共識(shí)分析與表達(dá)這些需求調(diào)查用戶需求的步驟(1)調(diào)查組織機(jī)構(gòu)情況(2)調(diào)查各部門的業(yè)務(wù)活動(dòng)情況(3)協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求,包括信 息要求、處理要求、完全性與完整性要求(4)確定新系統(tǒng)的邊界常用調(diào)查方法(1)跟班作業(yè)通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動(dòng)的情況(2)開調(diào)查會(huì)通過與用
12、戶座談來了解業(yè)務(wù)活動(dòng)情況及用戶需求(3)請(qǐng)專人介紹(4)詢問對(duì)某些調(diào)查中的問題,可以找專人詢問(5)設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫調(diào)查表設(shè)計(jì)合理,則很有效(6)查閱記錄查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄進(jìn)一步分析和表達(dá)用戶需求分析方法結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法)SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手采用自頂向下、逐層分解的方式分析系統(tǒng)對(duì)用戶需求進(jìn)行分析與表達(dá)后,需求分析報(bào)告必須提交給用戶,征得用戶的認(rèn)可需求分析過程需求分析過程 7.2 需求分析7.2.1 需求分析的任務(wù)7.2.2 需求分析的方法7.2.3 數(shù)據(jù)字典7.2.3 數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)
13、據(jù),不是數(shù)據(jù)本身數(shù)據(jù)字典在需求分析階段建立,在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)、完善數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果注意:和關(guān)系數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)字典的區(qū)別和聯(lián)系數(shù)據(jù)字典(續(xù))數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過程 數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位 若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容1. 數(shù)據(jù)項(xiàng) 數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位 對(duì)數(shù)據(jù)項(xiàng)的描述數(shù)據(jù)項(xiàng)描述=數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說明,別名, 數(shù)據(jù)類型,長度,取值范圍,取值含義, 與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系, 數(shù)據(jù)項(xiàng)之間的聯(lián)系“取值范圍”、“與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系
14、”定義了數(shù)據(jù)的完整性約束條件,是設(shè)計(jì) 數(shù)據(jù)檢驗(yàn)功能的依據(jù)可以用關(guān)系規(guī)范化理論為指導(dǎo),用數(shù)據(jù)依賴的概念分析和表示數(shù)據(jù)項(xiàng)之間的聯(lián)系 2. 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。 一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。 對(duì)數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)結(jié)構(gòu)描述=數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)3. 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?對(duì)數(shù)據(jù)流的描述 數(shù)據(jù)流描述=數(shù)據(jù)流名,說明,數(shù)據(jù)流來源, 數(shù)據(jù)流去向,組成:數(shù)據(jù)結(jié)構(gòu), 平均流量,高峰期流量數(shù)據(jù)流來源:說明該數(shù)據(jù)流來自哪個(gè)過程數(shù)據(jù)流去向:說明該數(shù)據(jù)流將到哪個(gè)過程去平均流量:在
15、單位時(shí)間(每天、每周、每月等)里的傳輸次數(shù)高峰期流量:在高峰時(shí)期的數(shù)據(jù)流量4. 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。對(duì)數(shù)據(jù)存儲(chǔ)的描述數(shù)據(jù)存儲(chǔ)描述=數(shù)據(jù)存儲(chǔ)名,說明,編號(hào),輸 入的數(shù)據(jù)流 ,輸出的數(shù)據(jù)流, 組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量, 存取頻度,存取方式存取頻度:每小時(shí)、每天或每周存取次數(shù),每次存取的數(shù)據(jù)量等信息 存取方法:批處理 / 聯(lián)機(jī)處理;檢索 / 更新;順序檢索 / 隨機(jī)檢索輸入的數(shù)據(jù)流:數(shù)據(jù)來源輸出的數(shù)據(jù)流:數(shù)據(jù)去向5. 處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息處理過程說明性信息的描述 處理過程描
16、述=處理過程名,說明,輸入:數(shù)據(jù)流, 輸出:數(shù)據(jù)流,處理:簡要說明簡要說明:說明該處理過程的功能及處理要求功能:該處理過程用來做什么處理要求:處理頻度要求,如單位時(shí)間里處理多少事務(wù),多少數(shù)據(jù)量、響應(yīng)時(shí)間要求等處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn)需求分析小結(jié)把需求收集和分析作為數(shù)據(jù)庫設(shè)計(jì)的第一階段是十分重要的。第一階段收集的基礎(chǔ)數(shù)據(jù)(用數(shù)據(jù)字典來表達(dá))是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ)。強(qiáng)調(diào)兩點(diǎn) (1)設(shè)計(jì)人員應(yīng)充分考慮到可能的擴(kuò)充和改變,使設(shè)計(jì)易于更改,系統(tǒng)易于擴(kuò)充 (2)必須強(qiáng)調(diào)用戶的參與第七章 數(shù)據(jù)庫設(shè)計(jì)7.1 數(shù)據(jù)庫設(shè)計(jì)概述7.2 需求分析7.3 概念結(jié)構(gòu)設(shè)計(jì)7.4 邏輯結(jié)構(gòu)設(shè)計(jì)7.5
17、物理結(jié)構(gòu)設(shè)計(jì)7.6 數(shù)據(jù)庫的實(shí)施和維護(hù)7.7 小結(jié)7.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念模型7.3.2 E-R模型*7.3.3 擴(kuò)展的E-R模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念模型將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)(即概念模型)的過程就是概念結(jié)構(gòu)設(shè)計(jì)概念模型的特點(diǎn)(1)能真實(shí)、充分地反映現(xiàn)實(shí)世界,是現(xiàn)實(shí)世界的一個(gè)真 實(shí)模型。(2)易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換 意見。(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概 念模型修改和擴(kuò)充。(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換描述概念模型的工具E-R模型7.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)
18、構(gòu)7.3.2 E-R模型*7.3.3 擴(kuò)展的E-R模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計(jì)7.3.2 E-R模型1. 實(shí)體之間的聯(lián)系(1)兩個(gè)實(shí)體型之間的聯(lián)系:一對(duì)一聯(lián)系(11)一對(duì)多聯(lián)系(1n)多對(duì)多聯(lián)系(mn)E-R模型(續(xù))一對(duì)一聯(lián)系(11)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為11。例如,學(xué)校里一個(gè)班級(jí)只有一個(gè)正班長,而一個(gè)班長只在一個(gè)班中任職,則班級(jí)與班長之間具有一對(duì)一聯(lián)系。E-R模型(續(xù))一對(duì)多聯(lián)系(1n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,
19、對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對(duì)多聯(lián)系,記為1n。例如,一個(gè)班級(jí)中有若干名學(xué)生,而每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí),則班級(jí)與學(xué)生之間具有一對(duì)多聯(lián)系。多對(duì)多聯(lián)系(mn)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為mn。例如,一門課程同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程,則課程與學(xué)生之間具有多對(duì)多聯(lián)系。E-R模型(續(xù))E-R模型(續(xù))圖7.6 兩個(gè)實(shí)體型之間的三類聯(lián)系E-R模型(續(xù))(2)
20、兩個(gè)以上的實(shí)體型之間的聯(lián)系一般地,兩個(gè)以上的實(shí)體型之間也存在著一對(duì)一、一對(duì)多、多對(duì)多聯(lián)系。對(duì)于課程、教師與參考書3個(gè)實(shí)體型,如果一門課程可以有若干個(gè)教師講授,使用若干本參考書,而每一個(gè)教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對(duì)多的,如圖7.7(a)所示。E-R模型(續(xù))圖7.7 三個(gè)實(shí)體型之間的聯(lián)系示例E-R模型(續(xù))(3)單個(gè)實(shí)體型內(nèi)的聯(lián)系同一個(gè)實(shí)體集內(nèi)的各實(shí)體之間也可以存在一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。例如,職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一職工(干部)“領(lǐng)導(dǎo)”若干名職工,而一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo),因此這是一對(duì)多的聯(lián)系,如圖7
21、.8所示。E-R模型(續(xù))圖7.8 單個(gè)實(shí)體型內(nèi)的一對(duì)多聯(lián)系示例聯(lián)系的度:參與聯(lián)系的實(shí)體型的數(shù)目2個(gè)實(shí)體型之間的聯(lián)系度為2,也稱為二元聯(lián)系;3個(gè)實(shí)體型之間的聯(lián)系度為3,稱為三元聯(lián)系;N個(gè)實(shí)體型之間的聯(lián)系度為N,也稱為N元聯(lián)系E-R模型(續(xù))2. E-R圖E-R圖提供了表示實(shí)體型、屬性和聯(lián)系的方法:實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體型連接起來。例如,學(xué)生實(shí)體具有學(xué)號(hào)、姓名、性別、出生年份、系、入學(xué)時(shí)間等屬性,用E-R圖表示如圖7.9所示圖7.9 學(xué)生實(shí)體及屬性E-R模型(續(xù))聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體型連接起
22、來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(11,1n或mn)。聯(lián)系可以具有屬性圖7.10 聯(lián)系的屬性E-R模型(續(xù))3. 一個(gè)實(shí)例某個(gè)工廠物資管理的概念模型。物資管理涉及的實(shí)體有:倉庫:屬性有倉庫號(hào)、面積、電話號(hào)碼零件:屬性有零件號(hào)、名稱、規(guī)格、單價(jià)、描述供應(yīng)商:屬性有供應(yīng)商號(hào)、姓名、地址、電話號(hào)碼、賬號(hào)項(xiàng)目:屬性有項(xiàng)目號(hào)、預(yù)算、開工日期職工:屬性有職工號(hào)、姓名、年齡、職稱E-R模型(續(xù))這些實(shí)體之間的聯(lián)系如下: (1) 一個(gè)倉庫可以存放多種零件,一種零件可以存放在多個(gè) 倉庫中,因此倉庫和零件具有多對(duì)多的聯(lián)系。用庫存量 來表示某種零件在某個(gè)倉庫中的數(shù)量。(2) 一個(gè)倉庫有多個(gè)職工當(dāng)倉庫保管員,一個(gè)職工
23、只能在一 個(gè)倉庫工作,因此倉庫和職工之間是一對(duì)多的聯(lián)系。E-R模型(續(xù))這些實(shí)體之間的聯(lián)系如下(續(xù)): (3) 職工之間具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若 干保管員,因此職工實(shí)體型中具有一對(duì)多的聯(lián)系。(4) 供應(yīng)商、項(xiàng)目和零件三者之間具有多對(duì)多的聯(lián)系。即一 個(gè)供應(yīng)商可以供給若干項(xiàng)目多種零件,每個(gè)項(xiàng)目可以使 用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供 給。E-R模型(續(xù))E-R模型(續(xù))E-R模型(續(xù))E-R模型(續(xù))E-R圖,可以參見:愛課程網(wǎng)數(shù)據(jù)庫系統(tǒng)概論1.2節(jié)動(dòng)畫E-R圖難點(diǎn)解析(1) E-R圖難點(diǎn)解析(2) E-R圖難點(diǎn)解析(3)7.3 概念結(jié)構(gòu)設(shè)計(jì)7.3.1 概念結(jié)構(gòu)7.3
24、.2 E-R模型*7.3.3 擴(kuò)展的E-R模型*7.3.4 UML7.3.5 概念結(jié)構(gòu)設(shè)計(jì)7.3.5 概念結(jié)構(gòu)設(shè)計(jì)1. 實(shí)體與屬性的劃分原則為了簡化E-R圖的處置,現(xiàn)實(shí)世界的事物能作為屬性對(duì)待的,盡量作為屬性對(duì)待。兩條準(zhǔn)則:(1)作為屬性,不能再具有需要描述的性質(zhì)。屬性必須是不可分的數(shù)據(jù)項(xiàng),不能包含其他屬性。 (2)屬性不能與其他實(shí)體具有聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體之間的聯(lián)系。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))例1 職工是一個(gè)實(shí)體,職工號(hào)、姓名、年齡是職工的屬性。職稱如果沒有與工資、福利掛鉤,根據(jù)準(zhǔn)則(1)可以作為職工實(shí)體的屬性如果不同的職稱有不同的工資、住房標(biāo)準(zhǔn)和不同的附加福利,則職稱作為一個(gè)實(shí)體更
25、恰當(dāng)概念結(jié)構(gòu)設(shè)計(jì)(續(xù))例2 在醫(yī)院中,一個(gè)病人只能住在一個(gè)病房,病房號(hào)可以作為病人實(shí)體的一個(gè)屬性; 如果病房還要與醫(yī)生實(shí)體發(fā)生聯(lián)系,即一個(gè)醫(yī)生負(fù)責(zé)幾個(gè)病房的病人的醫(yī)療工作,則根據(jù)準(zhǔn)則(2) 病房應(yīng)作為一個(gè)實(shí)體。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))例3 如果一種貨物只存放在一個(gè)倉庫,那么就可以把存放貨物的倉庫的倉庫號(hào)作為描述貨物存放地點(diǎn)的屬性。 如果一種貨物可以存放在多個(gè)倉庫中,或者倉庫本身又用面積作為屬性,或者倉庫與職工發(fā)生管理上的聯(lián)系,那么就應(yīng)把倉庫作為一個(gè)實(shí)體。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))例7.1 銷售管理子系統(tǒng)E-R圖的設(shè)計(jì)。該子系統(tǒng)的主要功能是:處理顧客和銷售員送來的訂單工廠是根據(jù)訂貨安排生產(chǎn)的交出貨物同時(shí)開出發(fā)
26、票收到顧客付款后,根據(jù)發(fā)票存根和信貸情況進(jìn)行應(yīng)收款處理概念結(jié)構(gòu)設(shè)計(jì)(續(xù))參照需求分析和數(shù)據(jù)字典中的詳盡描述,遵循前面給出的兩個(gè)準(zhǔn)則,進(jìn)行了如下調(diào)整:(1)每張訂單由訂單號(hào)、若干頭信息和訂單細(xì)節(jié)組成。訂單細(xì)節(jié)又有訂貨的零件號(hào)、數(shù)量等來描述。按照準(zhǔn)則(2),訂單細(xì)節(jié)就不能作訂單的屬性處理而應(yīng)該上升為實(shí)體。一張訂單可以訂若干產(chǎn)品,所以訂單與訂單細(xì)節(jié)兩個(gè)實(shí)體之間是1n的聯(lián)系。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))(2)原訂單和產(chǎn)品的聯(lián)系實(shí)際上是訂單細(xì)節(jié)和產(chǎn)品的聯(lián)系。每條訂貨細(xì)節(jié)對(duì)應(yīng)一個(gè)產(chǎn)品描述,訂單處理時(shí)從中獲得當(dāng)前單價(jià)、產(chǎn)品重量等信息。(3)工廠對(duì)大宗訂貨給予優(yōu)惠。每種產(chǎn)品都規(guī)定了不同訂貨數(shù)量的折扣,應(yīng)增加一個(gè)“折扣規(guī)
27、則”實(shí)體存放這些信息,而不應(yīng)把它們放在產(chǎn)品實(shí)體中。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))最后得到銷售管理子系統(tǒng)E-R圖如圖7.23所示。圖7.23 銷售管理子系統(tǒng)的E-R圖概念結(jié)構(gòu)設(shè)計(jì)(續(xù))對(duì)每個(gè)實(shí)體定義的屬性如下:顧客:顧客號(hào),顧客名,地址,電話,信貸狀況,賬目余額訂單:訂單號(hào),顧客號(hào),訂貨項(xiàng)數(shù),訂貨日期,交貨日期,工種號(hào),生產(chǎn)地點(diǎn)訂單細(xì)則:訂單號(hào),細(xì)則號(hào),零件號(hào),訂貨數(shù),金額應(yīng)收賬款:顧客號(hào),訂單號(hào),發(fā)票號(hào),應(yīng)收金額,支付日期,支付金額,當(dāng)前余額,貨款限額產(chǎn)品:產(chǎn)品號(hào),產(chǎn)品名,單價(jià),重量折扣規(guī)則:產(chǎn)品號(hào),訂貨量,折扣概念結(jié)構(gòu)設(shè)計(jì)(續(xù))2. E-R圖的集成E-R圖的集成一般需要分兩步 合并。解決各分E-R圖之間
28、的沖突,將分E-R圖合并起來生成初步E-R圖。 修改和重構(gòu)。消除不必要的冗余,生成基本E-R圖。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))(1)合并E-R圖,生成初步E-R圖各個(gè)局部應(yīng)用所面向的問題不同,各個(gè)子系統(tǒng)的E-R圖之間必定會(huì)存在許多不一致的地方,稱之為沖突。子系統(tǒng)E-R圖之間的沖突主要有三類:屬性沖突命名沖突結(jié)構(gòu)沖突概念結(jié)構(gòu)設(shè)計(jì)(續(xù))屬性沖突屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。例如零件號(hào),有的部門把它定義為整數(shù),有的部門把它定義為字符型。年齡,某些部門以出生日期形式表示職工的年齡,而另一些部門用整數(shù)表示職工的年齡。屬性取值單位沖突。例如,零件的重量有的以公斤為單位,有的以斤為單位,有的以克為
29、單位。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))命名沖突同名異義,即不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字。異名同義(一義多名),即同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名字。如對(duì)科研項(xiàng)目,財(cái)務(wù)科稱為項(xiàng)目,科研處稱為課題,生產(chǎn)管理處稱為工程。命名沖突可能發(fā)生在實(shí)體、聯(lián)系一級(jí)上也可能發(fā)生在屬性一級(jí)上通過討論、協(xié)商等行政手段加以解決概念結(jié)構(gòu)設(shè)計(jì)(續(xù))結(jié)構(gòu)沖突同一對(duì)象在不同應(yīng)用中具有不同的抽象。例如,職工在某一局部應(yīng)用中被當(dāng)作實(shí)體,而在另一局部應(yīng)用中則被當(dāng)作屬性。解決方法:把屬性變換為實(shí)體或把實(shí)體變換為屬性,使同一對(duì)象具有相同的抽象。同一實(shí)體在不同子系統(tǒng)的E-R圖中所包含的屬性個(gè)數(shù)和屬性排列次序不完全相同。解決方法:使該實(shí)體的屬性取各子系統(tǒng)的E-R圖中屬性的并集,再適當(dāng)調(diào)整屬性的次序。概念結(jié)構(gòu)設(shè)計(jì)(續(xù))結(jié)構(gòu)沖突(續(xù))實(shí)體間的聯(lián)系在不同的E-R圖中為不同的類型。實(shí)體E1與E2在一個(gè)E-R圖中是多對(duì)多聯(lián)系,在另一個(gè)E-R圖中是一對(duì)多聯(lián)系解決方法是根據(jù)應(yīng)用的語義對(duì)實(shí)體聯(lián)系的類型進(jìn)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋼材產(chǎn)業(yè)鏈上下游合作協(xié)議模板
- 科技行業(yè)專題報(bào)告:DeepSeek:技術(shù)顛覆or創(chuàng)新共贏
- 奮斗新時(shí)代決心鑄就輝煌
- 2025版城市地下空間挖掘機(jī)租賃合同協(xié)議書3篇
- 2025個(gè)人藝術(shù)品收藏分期付款合同2篇
- 2025年個(gè)人借款咨詢與風(fēng)險(xiǎn)管理服務(wù)協(xié)議4篇
- 2025版土地承包經(jīng)營權(quán)流轉(zhuǎn)合同示范書6篇
- 2025年全球及中國絕對(duì)大分子多角度光散射檢測器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球柔性表面加熱器行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球噴丸服務(wù)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025水利云播五大員考試題庫(含答案)
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 藥企質(zhì)量主管競聘
- 信息對(duì)抗與認(rèn)知戰(zhàn)研究-洞察分析
- 中藥飲片驗(yàn)收培訓(xùn)
- 手術(shù)室??谱o(hù)士工作總結(jié)匯報(bào)
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測
- DB34T 1831-2013 油菜收獲與秸稈粉碎機(jī)械化聯(lián)合作業(yè)技術(shù)規(guī)范
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 創(chuàng)傷處理理論知識(shí)考核試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
評(píng)論
0/150
提交評(píng)論