MySQL數(shù)據(jù)庫應(yīng)用項(xiàng)目教程 課件 項(xiàng)目3 設(shè)計(jì)數(shù)據(jù)庫_第1頁
MySQL數(shù)據(jù)庫應(yīng)用項(xiàng)目教程 課件 項(xiàng)目3 設(shè)計(jì)數(shù)據(jù)庫_第2頁
MySQL數(shù)據(jù)庫應(yīng)用項(xiàng)目教程 課件 項(xiàng)目3 設(shè)計(jì)數(shù)據(jù)庫_第3頁
MySQL數(shù)據(jù)庫應(yīng)用項(xiàng)目教程 課件 項(xiàng)目3 設(shè)計(jì)數(shù)據(jù)庫_第4頁
MySQL數(shù)據(jù)庫應(yīng)用項(xiàng)目教程 課件 項(xiàng)目3 設(shè)計(jì)數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MySQL數(shù)據(jù)庫應(yīng)用

項(xiàng)目教程項(xiàng)目三設(shè)計(jì)數(shù)據(jù)庫3.1初始數(shù)據(jù)庫設(shè)計(jì)

3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.3探索實(shí)現(xiàn)設(shè)計(jì)

3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.1認(rèn)識(shí)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)應(yīng)與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合。也就是說,在整個(gè)數(shù)據(jù)庫設(shè)計(jì)過程中要把數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)處理的設(shè)計(jì)密切結(jié)合起來。1.數(shù)據(jù)庫設(shè)計(jì)的方法新奧爾良(NewOrleans)方法基于E-R模型的設(shè)計(jì)方法3NF的設(shè)計(jì)方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法統(tǒng)一建模語言(UnifiedModelingLanguage,UML)方法等。3.1初始數(shù)據(jù)庫設(shè)計(jì)2.數(shù)據(jù)庫設(shè)計(jì)的基本步驟按照結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)的全過程,將數(shù)據(jù)庫設(shè)計(jì)分為六個(gè)階段,如右圖。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.1認(rèn)識(shí)數(shù)據(jù)庫設(shè)計(jì)在數(shù)據(jù)庫設(shè)計(jì)過程中各個(gè)階段關(guān)于數(shù)據(jù)特性的設(shè)計(jì)描述。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.1認(rèn)識(shí)數(shù)據(jù)庫設(shè)計(jì)3.數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式數(shù)據(jù)庫設(shè)計(jì)的不同階段形成數(shù)據(jù)庫的各級(jí)模式。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.1認(rèn)識(shí)數(shù)據(jù)庫設(shè)計(jì)1.需求分析的任務(wù)(1)信息要求。信息要求是指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)。(2)處理要求。處理要求是指用戶要完成的數(shù)據(jù)處理,對(duì)處理性能的要求。(3)安全性與完整性要求。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.2需求分析2.需求分析的方法調(diào)查用戶需求的具體步驟如下。(1)調(diào)查組織機(jī)構(gòu)情況。(2)調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。(3)協(xié)助用戶明確對(duì)新數(shù)據(jù)庫應(yīng)用系統(tǒng)的各種要求。(4)確定新數(shù)據(jù)庫應(yīng)用系統(tǒng)的邊界。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.2需求分析3.數(shù)據(jù)字典數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程。(1)數(shù)據(jù)項(xiàng)。數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位。(2)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。(3)數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫應(yīng)用系統(tǒng)中傳輸?shù)穆窂健?4)數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)停留或保存的地方。(5)處理過程。處理過程的具體處理邏輯一般使用判定表或判定樹來描述。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.2需求分析數(shù)據(jù)流程圖(DataFlowDiagram,DFD)是一種用于描述數(shù)據(jù)流程關(guān)系的工具,它可以將復(fù)雜的數(shù)據(jù)獨(dú)立抽象出來,并且使用圖像描述信息的來源和實(shí)際的流程。數(shù)據(jù)流程圖有兩個(gè)特征:抽象性和概括性。為了描述復(fù)雜的數(shù)據(jù)庫應(yīng)用系統(tǒng)的信息流向和加工,一般采用分層的數(shù)據(jù)流程圖,分層的數(shù)據(jù)流程圖有頂層圖、中層圖和底層圖。數(shù)據(jù)流程圖包括外部實(shí)體、處理過程、數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)四個(gè)部分。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖【例1】以某圖書館為實(shí)例,采用三層數(shù)據(jù)流程圖描述圖書館管理信息系統(tǒng)。圖書館管理信息系統(tǒng)有七部分內(nèi)容,包括讀者管理、圖書維護(hù)、讀者留言管理、圖書采編、圖書借閱、圖書查詢和圖書預(yù)訂。在此以讀者管理、圖書維護(hù)、圖書采編、圖書借閱和圖書預(yù)訂子系統(tǒng)為例畫出部分?jǐn)?shù)據(jù)流程圖。3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖繪制頂層圖3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖繪制中層圖3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖圖書采編子系統(tǒng)的底層圖3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖圖書借閱子系統(tǒng)的底層圖3.1初始數(shù)據(jù)庫設(shè)計(jì)3.1.3數(shù)據(jù)流程圖3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.1概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),即概念模型。概念模型的主要特點(diǎn):(1)真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。(2)易于理解,可以用它和不熟悉計(jì)算機(jī)的用戶交換意見。用戶的積極參與是數(shù)據(jù)庫設(shè)計(jì)成功的關(guān)鍵。(3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型進(jìn)行修改和擴(kuò)充。(4)易于向關(guān)系模型、網(wǎng)狀模型、層次模型等各種數(shù)據(jù)模型轉(zhuǎn)換。概念模型是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立、更抽象,也更加穩(wěn)定。設(shè)計(jì)概念模型的過程稱為概念結(jié)構(gòu)設(shè)計(jì)。3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.1概念結(jié)構(gòu)設(shè)計(jì)1.概念結(jié)構(gòu)設(shè)計(jì)的方法設(shè)計(jì)概念模型的E-R圖可采用以下四種方法。

3.2探索概念結(jié)構(gòu)設(shè)計(jì) 自頂向下。先定義全局概念模型的E-R圖框架,再逐步細(xì)化。 自底向上。先定義各局部應(yīng)用的概念模型的E-R圖,然后將它們集成,得到全局概念模型的E-R圖。 逐步擴(kuò)張。先定義最重要的核心概念模型的E-R圖,然后向外擴(kuò)充,以“滾雪球”的方式逐步生成其他概念模型的E-R圖。 混合策略。該方法采用自頂向下和自底向上相結(jié)合的方法,先采用自頂向下的方法定義全局概念模型的E-R圖框架,再采用自底向上的方法設(shè)計(jì)各個(gè)局部概念概念模型的E-R圖。3.2.1概念結(jié)構(gòu)設(shè)計(jì)2.概念結(jié)構(gòu)設(shè)計(jì)的步驟若采用自底向上的方法設(shè)計(jì)概念模型,則可分為兩步:(1)數(shù)據(jù)抽象,設(shè)計(jì)局部E-R圖,即設(shè)計(jì)用戶視圖。(2)各局部E-R圖形成全局E-R圖,即視圖集成。3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.1概念結(jié)構(gòu)設(shè)計(jì)3.數(shù)據(jù)抽象概念模型是對(duì)現(xiàn)實(shí)世界的一種數(shù)據(jù)抽象。進(jìn)行概念結(jié)構(gòu)設(shè)計(jì)首先要根據(jù)需求分析得到的結(jié)果(數(shù)據(jù)流圖、數(shù)據(jù)字典等)對(duì)現(xiàn)實(shí)世界進(jìn)行數(shù)據(jù)抽象,設(shè)計(jì)各個(gè)局部E-R圖。一般有以下兩種數(shù)據(jù)抽象方式。(1)分類(Classification)。分類是指定義某一類概念作為現(xiàn)實(shí)世界中的一組對(duì)象的類型,將一組具有某些共同特性和行為的對(duì)象抽象為一個(gè)實(shí)體。例如,“張三”是一名讀者,表示“張三”是讀者中的一員,他具有所有讀者的共同特性和行為。(2)聚集(Aggregation)。聚集是指定義某一類型的組成成分,將對(duì)象類型的組成成分抽象為實(shí)體的屬性。例如,讀者編號(hào)、姓名、性別、出生日期、職業(yè)等可以抽象為讀者實(shí)體的屬性,讀者編號(hào)是標(biāo)識(shí)讀者實(shí)體的主碼。3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖1.局部E-R圖設(shè)計(jì)可根據(jù)以下兩條準(zhǔn)則來劃分實(shí)體和屬性。(1)實(shí)體具有描述信息,而屬性沒有。即屬性必須是不可再分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成。(2)屬性不能與其他實(shí)體具有聯(lián)系,聯(lián)系只能發(fā)生在實(shí)體之間。3.2探索概念結(jié)構(gòu)設(shè)計(jì)2.全局E-R圖設(shè)計(jì)視圖集成有以下兩種方式。(1)多元集成法:一次性將多個(gè)局部E-R圖合并為一個(gè)全局E-R圖。(2)二元集成法:首先集成兩個(gè)重要的局部E-R圖,然后逐步將其他局部E-R圖集成進(jìn)來。3.合并局部E-R圖,生成初步E-R圖合并局部E-R圖并不是簡單地將各個(gè)E-R圖畫到一起,而是要消除各個(gè)局部E-R圖中的不一致,使合并后的全局概念模型不僅支持所有的局部E-R圖,而且必須是一個(gè)能被所有用戶共同理解和接受的完整的概念模型。因此合并局部E-R圖的關(guān)鍵是合理消除各局部E-R圖中的沖突。各局部E-R圖中的沖突主要有以下三種。3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖結(jié)構(gòu)沖突010203屬性沖突命名沖突3.合并局部E-R圖【例2】教學(xué)管理系統(tǒng)中的學(xué)生選課E-R圖和教師任課E-R圖分別如圖3-8和圖3-9所示,怎樣消除學(xué)生選課E-R圖和教師任課E-R圖之間的沖突,合并生成教學(xué)管理系統(tǒng)初步E-R圖?3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖學(xué)生選課E-R圖3.合并局部E-R圖3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖教師任課E-R圖3.合并局部E-R圖3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖教學(xué)管理系統(tǒng)初步E-R圖3.合并局部E-R圖3.2探索概念結(jié)構(gòu)設(shè)計(jì)3.2.2繪制E-R圖教學(xué)管理系統(tǒng)基本E-R圖3.3探索實(shí)現(xiàn)設(shè)計(jì)

3.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖所表示的概念模型可以轉(zhuǎn)換成具體的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,如網(wǎng)狀模型、層次模型或關(guān)系模型。E-R圖向關(guān)系模型進(jìn)行轉(zhuǎn)換。1.初始關(guān)系模式設(shè)計(jì)將E-R圖轉(zhuǎn)換為關(guān)系模型就是將實(shí)體、屬性及其聯(lián)系轉(zhuǎn)換成關(guān)系模式。在轉(zhuǎn)換中要遵循以下原則。(1)一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。(2)一個(gè)聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式,與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系的屬性均轉(zhuǎn)換為該關(guān)系的屬性。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.1E-R圖向關(guān)系模型的轉(zhuǎn)換2.數(shù)據(jù)模型優(yōu)化的方法應(yīng)用規(guī)范化理論對(duì)上述產(chǎn)生的關(guān)系模式進(jìn)行初步優(yōu)化,以減少乃至消除關(guān)系模式中存在的各種異常,提高完整性、一致性并提升存儲(chǔ)效率。(1)確定范式級(jí)別。(2)實(shí)施規(guī)范化處理。3.模式評(píng)價(jià)與改進(jìn)(1)模式評(píng)價(jià)。①功能評(píng)價(jià)。②性能評(píng)價(jià)。(2)模式改進(jìn)。①合并。②分解。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)為給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程稱為數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)。物理結(jié)構(gòu)設(shè)計(jì)的任務(wù)是有效地實(shí)現(xiàn)邏輯模式,確定所采取的存儲(chǔ)策略。1.物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容和方法通過設(shè)計(jì)優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),使得在數(shù)據(jù)庫上運(yùn)行的各種事務(wù)的響應(yīng)時(shí)間小、存儲(chǔ)空間利用率高、事務(wù)吞吐率大。首先對(duì)要運(yùn)行的事務(wù)進(jìn)行詳細(xì)分析,獲得物理數(shù)據(jù)庫設(shè)計(jì)所需要的參數(shù)。其次,要充分了解所用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲(chǔ)結(jié)構(gòu)。對(duì)于關(guān)系數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容主要包括:為關(guān)系模式選擇存取方法,以及設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲(chǔ)結(jié)構(gòu)。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)2.關(guān)系模式存取方法的選擇常用的存取方法有:有索引方法(目前主要是B+樹索引方法)聚簇方法hash方法3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)(1)索引存取方法的選擇。選擇索引存取方法實(shí)際上就是根據(jù)應(yīng)用要求確定對(duì)關(guān)系的哪些屬性列建立索引、哪些屬性列組合、哪些索引要設(shè)計(jì)為唯一索引等。出現(xiàn)如下三種情況時(shí)可考慮建立索引。①一個(gè)(或一組)屬性經(jīng)常作為查詢條件出現(xiàn)。②一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù)。③一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn)。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)(2)聚簇存取方法的選擇。為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)(或這些)屬性(稱為聚簇碼)上具有相同值的元組存放在連續(xù)的物理塊中的操作稱為聚簇。聚簇功能可以大大提高查詢的效率。一個(gè)數(shù)據(jù)庫可以建立多個(gè)聚簇,一個(gè)關(guān)系只能加入一個(gè)聚簇。通常在以下情況下建立聚簇。①對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系建立聚簇。②如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等的比較條件中,則此單個(gè)關(guān)系可建立聚簇。③如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)(3)hash存取方法的選擇。選擇hash存取方法的規(guī)則:如果一個(gè)關(guān)系的屬性主要出現(xiàn)在等值連接條件中或等值比較選擇條件中,而且滿足下列條件之一,則此關(guān)系可以選擇hash存取方法。①如果一個(gè)關(guān)系的大小可預(yù)知,而且不變。②如果關(guān)系的大小動(dòng)態(tài)改變,但是數(shù)據(jù)庫管理系統(tǒng)提供了動(dòng)態(tài)hash存取方法。3.3探索實(shí)現(xiàn)設(shè)計(jì)3.3.2物理結(jié)構(gòu)設(shè)計(jì)3.物理結(jié)構(gòu)設(shè)計(jì)的步驟數(shù)據(jù)庫

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論