一章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件_第1頁(yè)
一章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件_第2頁(yè)
一章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件_第3頁(yè)
一章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件_第4頁(yè)
一章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用

計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心2019軟件開(kāi)發(fā)技術(shù)基礎(chǔ)1第4章數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心軟件開(kāi)發(fā)技術(shù)基礎(chǔ)問(wèn)題的提出如何創(chuàng)建數(shù)據(jù)庫(kù)?創(chuàng)建數(shù)據(jù)庫(kù)有哪些步驟?使用什么工具創(chuàng)建數(shù)據(jù)庫(kù)?……2問(wèn)題的提出如何創(chuàng)建數(shù)據(jù)庫(kù)?2第二部分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)需求分析概念設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施階段

3第二部分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)需求分析3一、需求分析與概念設(shè)計(jì)1.需求分析2.概念設(shè)計(jì)4一、需求分析與概念設(shè)計(jì)1.需求分析41.需求分析任務(wù):收集、分析、理解、確定用戶(hù)的要求;再把用戶(hù)的要求精確、完整地描述表達(dá)出來(lái)。目的:回答“要解決什么問(wèn)題?”,既系統(tǒng)“做什么?”。具體:詳細(xì)調(diào)查要處理的對(duì)象了解原系統(tǒng)工作概況確定新系統(tǒng)的功能考慮今后可能的擴(kuò)充和改變51.需求分析任務(wù):收集、分析、理解、確定用戶(hù)的要求;再把用戶(hù)了解用戶(hù)需求有關(guān)的問(wèn)題什么是需求?希望,功能,限制,必需品,任何必要的東西;什么時(shí)候?

從確定方案開(kāi)始;為什么?

用戶(hù)的需求是開(kāi)發(fā)需要的依據(jù);來(lái)自哪里?

來(lái)自用戶(hù),工業(yè)標(biāo)準(zhǔn),和實(shí)踐經(jīng)驗(yàn);如何實(shí)現(xiàn)?使所有相關(guān)的人參與需求分析活動(dòng),通過(guò)有效的交流實(shí)現(xiàn);誰(shuí)來(lái)做?

用戶(hù),管理人員,開(kāi)發(fā)人員,維護(hù)人員。6了解用戶(hù)需求有關(guān)的問(wèn)題什么是需求?希望,功能,限制,必需品,用戶(hù)參與需求分析的重要性根據(jù)StandishGroup1994年發(fā)表的一份研究報(bào)告統(tǒng)計(jì),延遲的、超出預(yù)算的、未完成工程的最普遍的原因是:⑴缺少用戶(hù)參與;⑵不完備的需求規(guī)范;⑶改變需求規(guī)范。7用戶(hù)參與需求分析的重要性根據(jù)StandishGroup1需求分析的難點(diǎn)⑴問(wèn)題的復(fù)雜性

涉及因素多而;如運(yùn)行環(huán)境和系統(tǒng)功能等。⑵交流障礙

涉及不同類(lèi)型人員較多,知識(shí)背景、角度、角色的不同;⑶不完備性和不一致性

用戶(hù)對(duì)問(wèn)題的陳述有矛盾、片面性等造成;⑷需求易變性

需求是變化的。8需求分析的難點(diǎn)⑴問(wèn)題的復(fù)雜性8需求工作的重要性IBM公司有關(guān)研究的結(jié)果表明:有效的需求管理可以降低開(kāi)發(fā)成本。通常改正需求錯(cuò)誤需要付出改正其他錯(cuò)誤10倍以上的代價(jià)。需求錯(cuò)誤通常導(dǎo)致軟件工程中全部錯(cuò)誤的25-40%。改正很少的需求錯(cuò)誤可以避免大量耗費(fèi)在返工上的成本和時(shí)間。9需求工作的重要性IBM公司有關(guān)研究的結(jié)果表明:9獲取用戶(hù)對(duì)數(shù)據(jù)庫(kù)的要求信息要求要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì)。處理要求要完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求。安全性與完整性要求安全性:不同用戶(hù)使用和操作數(shù)據(jù)庫(kù)的情況;完整性:描述數(shù)據(jù)之間的關(guān)聯(lián)以及數(shù)據(jù)的取值范圍要求。10獲取用戶(hù)對(duì)數(shù)據(jù)庫(kù)的要求信息要求10案例分析——教學(xué)管理管理的對(duì)象:教師、學(xué)生、課程、上課和學(xué)習(xí)。功能:

教師要了解學(xué)生、課程、學(xué)習(xí)的情況、學(xué)生要了解教師、課程、學(xué)習(xí)的情況。信息:教師、學(xué)生、課程、學(xué)習(xí)的有關(guān)信息;處理:查詢(xún)、統(tǒng)計(jì)、排序、增加、刪除、修改、瀏覽等。11案例分析——教學(xué)管理管理的對(duì)象:112.概念設(shè)計(jì)

概念設(shè)計(jì)是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心環(huán)節(jié)。即將實(shí)際待求解的問(wèn)題抽象相互關(guān)聯(lián)又各自獨(dú)立的實(shí)體。具體步驟:以需求分析的結(jié)果為依據(jù);以數(shù)據(jù)流圖DFD和數(shù)據(jù)字典DD提供的信息作為輸入;運(yùn)用信息模型工具對(duì)目標(biāo)進(jìn)行描述;以用戶(hù)能夠理解的形式表達(dá)信息。

方法:用E-R方法得到概念模型E-R圖。122.概念設(shè)計(jì)概念設(shè)計(jì)是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心環(huán)節(jié)。12重點(diǎn)是“數(shù)據(jù)”和“處理”信息要求要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì),從而導(dǎo)出DB中需要存儲(chǔ)的數(shù)據(jù)處理要求要完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間的要求安全性

視圖定義、訪問(wèn)控制、數(shù)據(jù)加密、跟蹤審查完整性要求

主鍵不能為NULL13重點(diǎn)是“數(shù)據(jù)”和“處理”信息要求13二、概念設(shè)計(jì)概念設(shè)計(jì)是DB設(shè)計(jì)的核心環(huán)節(jié)。概念數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界的抽象和模擬。概念設(shè)計(jì)目前采用最廣泛的是ER方法。將現(xiàn)實(shí)世界抽象為具有屬性的實(shí)體及及聯(lián)系。畫(huà)出一張ER圖,就得到了一個(gè)對(duì)系統(tǒng)信息的初步描述,進(jìn)而形成數(shù)據(jù)庫(kù)的概念模型。

14二、概念設(shè)計(jì)概念設(shè)計(jì)是DB設(shè)計(jì)的核心環(huán)節(jié)。概念數(shù)據(jù)模型是對(duì)案例分析——教學(xué)管理教學(xué)由學(xué)生、課程、教師、學(xué)習(xí)、任課等實(shí)體組成。學(xué)生屬性:學(xué)號(hào)、姓名、性別、年齡、班級(jí)課程屬性:課程號(hào)、課程名稱(chēng)教師屬性:姓名、課程號(hào)、課時(shí)學(xué)習(xí)屬性:學(xué)號(hào)、課程號(hào)、分?jǐn)?shù)任課屬性:教師名、課程號(hào)、教室15案例分析——教學(xué)管理教學(xué)由學(xué)生、課程、教師、學(xué)習(xí)、任課等實(shí)體教學(xué)管理E-R圖

課程成績(jī)授課教師學(xué)生教師編號(hào)、姓名、職稱(chēng)教師編號(hào)、課程號(hào)學(xué)號(hào)、姓名、性別、班級(jí)課程號(hào)、課程名學(xué)號(hào)、課程號(hào)、分?jǐn)?shù)聽(tīng)課學(xué)習(xí)講授16教學(xué)管理E-R圖課程成績(jī)授課教師學(xué)生教師編號(hào)、姓名、職稱(chēng)教三、邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)邏輯結(jié)構(gòu)分三步:將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系模型將轉(zhuǎn)化來(lái)的關(guān)系模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化17三、邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)邏輯結(jié)構(gòu)分三步:171.數(shù)據(jù)庫(kù)邏輯模型的產(chǎn)生概念模型按一定規(guī)則可以轉(zhuǎn)換成數(shù)據(jù)模型。這種轉(zhuǎn)換的原則如下:①一個(gè)實(shí)體轉(zhuǎn)換成一個(gè)關(guān)系模式②一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。③一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。④一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。⑤三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。⑥同一實(shí)體集的實(shí)體間的聯(lián)系,也可以按1:1、1:n和m:n三種情況分別處理。181.數(shù)據(jù)庫(kù)邏輯模型的產(chǎn)生概念模型按一定規(guī)則可以轉(zhuǎn)換成數(shù)據(jù)模①一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的主碼就是關(guān)系的主碼。學(xué)生(學(xué)號(hào),姓名,年齡,性別)19①一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式實(shí)體的屬性就是關(guān)系的屬性,實(shí)體②一個(gè)1:1聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式若轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式:各實(shí)體的主碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的主碼均是該關(guān)系的候選碼。

若與一端的關(guān)系模式合并:則在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的主碼和聯(lián)系本身的屬性。20②一個(gè)1:1聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式若轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模舉例有3種方案可供選擇。21舉例有3種方案可供選擇。213種方案比較方案1職工(職工號(hào),姓名,年齡)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格)負(fù)責(zé)(職工號(hào),產(chǎn)品號(hào))方案2職工(職工號(hào),姓名,年齡,產(chǎn)品號(hào))

產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格)方案3職工(職工號(hào),姓名,年齡)產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格,職工號(hào))方案1關(guān)系多,增加了系統(tǒng)的復(fù)雜性;方案2由于并非每個(gè)職工都負(fù)責(zé)產(chǎn)品,導(dǎo)致產(chǎn)品號(hào)屬性出現(xiàn)NULL;方案3比較合理。223種方案比較方案122③1:n聯(lián)系轉(zhuǎn)換為關(guān)系模式有2種方案可供選擇。23③1:n聯(lián)系轉(zhuǎn)換為關(guān)系模式有2種方案可供選擇。23有2種方案對(duì)應(yīng)一個(gè)獨(dú)立的關(guān)系模式:與該聯(lián)系相連的各實(shí)體的主碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的主碼為n端實(shí)體的主碼。與n端對(duì)應(yīng)的關(guān)系模式合并:聯(lián)系本身的屬性均換為關(guān)系的屬性,再加1端實(shí)體的主碼。24有2種方案對(duì)應(yīng)一個(gè)獨(dú)立的關(guān)系模式:242種方案比較方案1

倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積)

產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格)

倉(cāng)儲(chǔ)(倉(cāng)庫(kù)號(hào),產(chǎn)品號(hào),數(shù)量)方案2(與n端對(duì)應(yīng)的關(guān)系合并)倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積)

產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格,倉(cāng)庫(kù)號(hào),數(shù)量)方案1對(duì)倉(cāng)儲(chǔ)變化大的場(chǎng)合比較適用;方案2適應(yīng)倉(cāng)儲(chǔ)變化小的應(yīng)用場(chǎng)合。因此方案2較優(yōu)。

252種方案比較方案125④m:n聯(lián)系一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的主碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的主碼為各實(shí)體主碼的組合。26④m:n聯(lián)系一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。26m:n關(guān)系示意圖

27m:n關(guān)系示意圖27轉(zhuǎn)換的關(guān)系模型學(xué)生(學(xué)號(hào),姓名,年齡,性別)

課程(課程號(hào),課程名,學(xué)時(shí)數(shù))

選修(學(xué)號(hào),課程號(hào),成績(jī))28轉(zhuǎn)換的關(guān)系模型學(xué)生(學(xué)號(hào),姓名,年齡,性別)28⑤三個(gè)及以上實(shí)體間聯(lián)系三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的主碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的主碼為各實(shí)體主的組合。

29⑤三個(gè)及以上實(shí)體間聯(lián)系三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換將多對(duì)多聯(lián)系E-R圖轉(zhuǎn)換為關(guān)系模形

30將多對(duì)多聯(lián)系E-R圖轉(zhuǎn)換為關(guān)系模形30舉例供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址)零件(零件號(hào),零件名,單價(jià))產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,型號(hào))供應(yīng)(供應(yīng)商號(hào),零件號(hào),產(chǎn)品號(hào),數(shù)量)31舉例供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址)31⑥同一實(shí)體集聯(lián)系可以按:1:1(一對(duì)一)1:n(一對(duì)多)m:n(多對(duì)多)三種情況分別處理32⑥同一實(shí)體集聯(lián)系可以按:32將同實(shí)體集1:n聯(lián)系轉(zhuǎn)換為關(guān)系模型方案1:轉(zhuǎn)換為兩個(gè)關(guān)系模式。

職工(職工號(hào),姓名,年齡)

領(lǐng)導(dǎo)(領(lǐng)導(dǎo)工號(hào),職工號(hào))方案2:轉(zhuǎn)換為一個(gè)關(guān)系模式。

職工(職工號(hào),姓名,年齡,領(lǐng)導(dǎo)工號(hào))方案2關(guān)系少,且能充分表達(dá)原有的數(shù)據(jù)關(guān)系,故方案2較好。33將同實(shí)體集1:n聯(lián)系轉(zhuǎn)換為關(guān)系模型方案1:轉(zhuǎn)換為兩個(gè)關(guān)系模式將同實(shí)體集m:n聯(lián)系轉(zhuǎn)換為關(guān)系模型零件(零件號(hào),名稱(chēng),價(jià)格)組裝(組裝件號(hào),零件號(hào),數(shù)量)組裝件號(hào)為組裝后的組合零件號(hào)。34將同實(shí)體集m:n聯(lián)系轉(zhuǎn)換為關(guān)系模型零件(零件號(hào),名稱(chēng),價(jià)格)2.?dāng)?shù)據(jù)模型的優(yōu)化以規(guī)范化理論為指導(dǎo)

⑴確定數(shù)據(jù)依賴(lài)。按需求分析,寫(xiě)出各屬性之間的數(shù)據(jù)依賴(lài)。⑵考查是否存在部分函數(shù)依賴(lài)、傳遞函數(shù)依賴(lài)等,確定各關(guān)系模式分別屬于第幾范式。⑶按照需求分析對(duì)數(shù)據(jù)處理的要求,確定是否需要對(duì)它們進(jìn)行合并或分解。352.?dāng)?shù)據(jù)模型的優(yōu)化以規(guī)范化理論為指導(dǎo)353.設(shè)計(jì)用戶(hù)模式對(duì)某一類(lèi)數(shù)據(jù)的結(jié)構(gòu)、聯(lián)系和約束的描述稱(chēng)為數(shù)據(jù)模式。外模式是用邏輯數(shù)據(jù)模型對(duì)用戶(hù)的數(shù)據(jù)的描述。利用視圖功能設(shè)計(jì)更符合局部用戶(hù)需要的用戶(hù)外模式。(1)使用更符合用戶(hù)習(xí)慣的別名(2)針對(duì)不同級(jí)別的用戶(hù)定義不同的外模式,以滿(mǎn)足系統(tǒng)對(duì)安全性的要求。

姓名學(xué)號(hào)性別出生日期院系班級(jí)363.設(shè)計(jì)用戶(hù)模式對(duì)某一類(lèi)數(shù)據(jù)的結(jié)構(gòu)、聯(lián)系和約束的描述稱(chēng)為數(shù)三、數(shù)據(jù)庫(kù)物理設(shè)計(jì)及實(shí)施物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱(chēng)為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)

1.確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)綜合考慮存取時(shí)間、存儲(chǔ)空間利用率和維護(hù)代價(jià)3方面的因素。2.設(shè)計(jì)數(shù)據(jù)的存取路徑在關(guān)系數(shù)據(jù)庫(kù)中,選擇存取路徑主要是指確定如何建立索引。37三、數(shù)據(jù)庫(kù)物理設(shè)計(jì)及實(shí)施物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱(chēng)為數(shù)索引(Index)索引是數(shù)據(jù)庫(kù)中獨(dú)立的存儲(chǔ)結(jié)構(gòu),其作用是提供一種無(wú)須掃描每個(gè)頁(yè)面(存儲(chǔ)表格數(shù)據(jù)的物理塊)而快速訪問(wèn)數(shù)據(jù)頁(yè)的方案。有兩類(lèi)索引:聚簇索引非聚簇索引38索引(Index)索引是數(shù)據(jù)庫(kù)中獨(dú)立的存儲(chǔ)結(jié)構(gòu),其作用是提供(1)聚簇索引以表格中的某個(gè)字段作為關(guān)鍵字建立聚簇索引時(shí),表格中的數(shù)據(jù)會(huì)以該字段為排序依據(jù)。一個(gè)表只能建立一個(gè)聚簇索引。這種排序作用使得聚簇鍵相同的元組被放在同一個(gè)物理頁(yè)中。如果元組過(guò)多,一個(gè)物理頁(yè)放不下,則被鏈接到多個(gè)物理頁(yè)中。39(1)聚簇索引以表格中的某個(gè)字段作為關(guān)鍵字建立聚簇索引時(shí),(2)非聚簇索引索引頁(yè)上的順序與物理數(shù)據(jù)頁(yè)上的順序一般不一致。

建立非聚簇索引,不會(huì)引起數(shù)據(jù)物理存儲(chǔ)位置的移動(dòng)。檢索速度不如聚簇索引快。40(2)非聚簇索引索引頁(yè)上的順序與物理數(shù)據(jù)頁(yè)上的順序一般不一致建立索引原則一個(gè)(組)屬性經(jīng)常在操作條件中出現(xiàn)。一個(gè)(組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn)。一個(gè)(組)屬性經(jīng)常作為聚集函數(shù)的參數(shù)。41建立索引原則一個(gè)(組)屬性經(jīng)常在操作條件中出現(xiàn)。41建立聚簇索引原則檢索數(shù)據(jù)時(shí),常以某個(gè)(組)屬性作為排序、分組條件。檢索數(shù)據(jù)時(shí),常以某個(gè)(組)屬性作為檢索限制條件,并返回大量數(shù)據(jù)。表中某個(gè)(組)的值重復(fù)性較大。42建立聚簇索引原則檢索數(shù)據(jù)時(shí),常以某個(gè)(組)屬性作為排序、分組3.確定數(shù)據(jù)的存放位置數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等,可以考慮存放在磁帶上??梢钥紤]將表和索引分別放在不同的磁盤(pán)上。在查詢(xún)時(shí),由于兩個(gè)磁盤(pán)驅(qū)動(dòng)器分別在工作,因而可以保證物理讀寫(xiě)速度比較快。433.確定數(shù)據(jù)的存放位置數(shù)據(jù)庫(kù)數(shù)據(jù)備份、日志文件備份等,可以考4.確定系統(tǒng)配置同時(shí)使用數(shù)據(jù)庫(kù)的用戶(hù)數(shù)同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù)……444.確定系統(tǒng)配置同時(shí)使用數(shù)據(jù)庫(kù)的用戶(hù)數(shù)445.?dāng)?shù)據(jù)庫(kù)的實(shí)施(1)定義數(shù)據(jù)庫(kù)結(jié)構(gòu)(2)數(shù)據(jù)裝載455.?dāng)?shù)據(jù)庫(kù)的實(shí)施45例子:建立圖書(shū)館數(shù)據(jù)庫(kù)①需求分析查詢(xún)圖書(shū):通過(guò)書(shū)名和類(lèi)別查詢(xún)庫(kù)中的圖書(shū),其中書(shū)名為模糊查詢(xún)。借書(shū)處理:在查詢(xún)的基礎(chǔ)上完成借書(shū)登記處理。借書(shū)時(shí)需要輸入書(shū)號(hào)和讀者編號(hào),修改圖書(shū)表記錄和增加借閱表記錄。還書(shū)處理:實(shí)現(xiàn)還書(shū)處理操作。還書(shū)時(shí)需要先修改圖書(shū)記錄,改變其借出否標(biāo)志,再刪除相關(guān)的借閱記錄。46例子:建立圖書(shū)館數(shù)據(jù)庫(kù)①需求分析46②數(shù)據(jù)庫(kù)設(shè)計(jì)概念模型讀者讀者性別編號(hào)姓名單位電話(huà)47②數(shù)據(jù)庫(kù)設(shè)計(jì)概念模型讀者性別編號(hào)姓名單位電話(huà)47圖書(shū)

定價(jià)作者書(shū)名類(lèi)別圖書(shū)書(shū)名出版社借出否48圖書(shū)定價(jià)作者書(shū)名類(lèi)別圖書(shū)書(shū)名出版社借出否48借書(shū)

讀者圖書(shū)借書(shū)日期借書(shū)49借書(shū)讀者圖書(shū)借書(shū)日期借書(shū)49數(shù)據(jù)庫(kù)邏輯模型讀者(編號(hào),姓名,單位,性別,電話(huà))性別編號(hào)姓名單位電話(huà)讀者50數(shù)據(jù)庫(kù)邏輯模型讀者(編號(hào),姓名,單位,性別,電話(huà))性別編號(hào)圖書(shū)的邏輯模型圖書(shū)(書(shū)號(hào),類(lèi)別,出版社,作者,書(shū)名,定價(jià),借出否)定價(jià)作者書(shū)號(hào)類(lèi)別圖書(shū)書(shū)名出版社借出否51圖書(shū)的邏輯模型圖書(shū)(書(shū)號(hào),類(lèi)別,出版社,作者,書(shū)名,定價(jià),借借閱的邏輯模型借閱(書(shū)號(hào),讀者編號(hào),借閱日期)

讀者圖書(shū)借書(shū)日期借書(shū)52借閱的邏輯模型借閱(書(shū)號(hào),讀者編號(hào),借閱日期)讀者圖書(shū)借書(shū)規(guī)范化圖書(shū):{書(shū)號(hào)→類(lèi)別,書(shū)號(hào)→出版社,書(shū)號(hào)→作者,書(shū)號(hào)→書(shū)名,書(shū)號(hào)→定價(jià),書(shū)號(hào)→借出否};讀者:{編號(hào)→姓名,編號(hào)→單位,編號(hào)→性別,編號(hào)→電話(huà)};借閱:{(書(shū)號(hào),讀者編號(hào))→借閱日期};所有非主屬性對(duì)主碼完全并直接依賴(lài)。各表均為第三范式。53規(guī)范化圖書(shū):{書(shū)號(hào)→類(lèi)別,書(shū)號(hào)→出版社,書(shū)號(hào)→作者,書(shū)號(hào)→完整性約束主碼約束:在“圖書(shū)”表中,“書(shū)號(hào)”為主碼;在“讀者”表中,“讀者編號(hào)”為主碼;在“借閱”表中,“書(shū)號(hào)”和“讀者編號(hào)”為主碼。這些主碼的屬性值具有惟一性和非空性。54完整性約束主碼約束:54借閱表和圖書(shū)表間的外碼約束借閱中書(shū)號(hào)為外碼(非本關(guān)系中的屬性),參照表為圖書(shū),參照屬性為書(shū)號(hào)。在借閱關(guān)系中插入元組(借閱圖書(shū))時(shí),僅當(dāng)圖書(shū)表中有相應(yīng)書(shū)號(hào)時(shí),系統(tǒng)才執(zhí)行插人操作,否則拒絕此操作。

55借閱表和圖書(shū)表間的外碼約束借閱中書(shū)號(hào)為外碼(非本關(guān)系中的屬借閱表和讀者表間的外碼約束借閱中讀者編號(hào)為外碼,參照表為讀者,參照屬性為編號(hào)。在借閱關(guān)系中插入元組(借閱圖書(shū))時(shí),僅當(dāng)讀者表中有相應(yīng)讀者編號(hào)時(shí),系統(tǒng)才執(zhí)行插人操作,否則拒絕此操作。56借閱表和讀者表間的外碼約束借閱中讀者編號(hào)為外碼,參照表為關(guān)系的屬性設(shè)計(jì)關(guān)系屬性的設(shè)計(jì)包括屬性名、數(shù)據(jù)類(lèi)型、數(shù)據(jù)長(zhǎng)度、該屬性是否允許空值、是否為主碼、是否為索引項(xiàng)及約束條件。57關(guān)系的屬性設(shè)計(jì)關(guān)系屬性的設(shè)計(jì)包括屬性名、數(shù)據(jù)類(lèi)型、數(shù)據(jù)讀者表

58讀者表58圖書(shū)表59圖書(shū)表59借閱表60借閱表60數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟分析建立數(shù)據(jù)庫(kù)的目的確定數(shù)據(jù)庫(kù)中的表確定表中的字段確定主關(guān)鍵字確定表之間的關(guān)系優(yōu)化設(shè)計(jì)輸入數(shù)據(jù)并新建其他DB對(duì)象61數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟分析建立數(shù)據(jù)庫(kù)的目的61⑴分析建立數(shù)據(jù)庫(kù)的目的首先考慮“為什么要建立DB及建立DB要完成的任務(wù)”。這是DB設(shè)計(jì)的第一步,也是DB設(shè)計(jì)的基礎(chǔ)。與DB的最終用戶(hù)進(jìn)行交流,了解現(xiàn)行工作的處理過(guò)程,討論應(yīng)保存及怎樣保存要處理的數(shù)據(jù)。要盡量收集與當(dāng)前處理有關(guān)的各種數(shù)據(jù)表格。62⑴分析建立數(shù)據(jù)庫(kù)的目的首先考慮“為什么要建立DB及建立DB要例案分析建立數(shù)據(jù)庫(kù)的目的:例如,實(shí)現(xiàn)“教學(xué)管理”數(shù)據(jù)庫(kù)應(yīng)用。功能要求:實(shí)現(xiàn)“教師、學(xué)生、課程、學(xué)習(xí)成績(jī)”四個(gè)方面的綜合管理教師可以查看學(xué)生的簡(jiǎn)況、成績(jī)、課程學(xué)生可以選擇教師、課程和查看成績(jī)63例案分析建立數(shù)據(jù)庫(kù)的目的:63⑵確定數(shù)據(jù)庫(kù)中的表從確定的DB所要解決的問(wèn)題和收集的各種表格中,不一定能夠找出生成這些表格結(jié)構(gòu)的線(xiàn)索。因此,不要急于建立表,而應(yīng)先在紙上進(jìn)行設(shè)計(jì)。為了能更合理地確定出DB中應(yīng)包含的表,應(yīng)按下列原則對(duì)信息進(jìn)行分類(lèi):表中不應(yīng)包含重復(fù)信息每個(gè)表應(yīng)該只包含關(guān)于一個(gè)主題的信息

可以獨(dú)立于其他主題來(lái)維護(hù)每個(gè)主題的信息。

64⑵確定數(shù)據(jù)庫(kù)中的表從確定的DB所要解決的問(wèn)題和收集的各種表格分析要建立哪些數(shù)據(jù)表為使DB的信息滿(mǎn)足規(guī)范化要求,信息應(yīng)按不同主題分開(kāi),單獨(dú)立表。這樣應(yīng)建立“教師、學(xué)生、課程和成績(jī)”四個(gè)表。建立下列數(shù)據(jù)表:學(xué)生簡(jiǎn)況表教師授課表課程名稱(chēng)表學(xué)生成績(jī)表65分析要建立哪些數(shù)據(jù)表為使DB的信息滿(mǎn)足規(guī)范化要求,信息應(yīng)按不⑶確定表中的字段表確定后,就要確定表應(yīng)該包含哪些字段。在確定所需字段時(shí),要注意每個(gè)字段包含的內(nèi)容應(yīng)該與表的主題相關(guān),而且應(yīng)包含相關(guān)主題所需的全部信息。還要注意不要包含需要推導(dǎo)或計(jì)算的數(shù)據(jù),一定要以最小邏輯部分作為字段來(lái)保存信息。66⑶確定表中的字段表確定后,就要確定表應(yīng)該包含哪些字段。在確定教師授課表分析:基本特征信息應(yīng)包括:姓名、性別、職稱(chēng)、學(xué)歷、專(zhuān)業(yè)特長(zhǎng)其它特征信息:工作時(shí)間、政治面貌、聯(lián)系電話(huà)、課程編號(hào)、所屬院系綜合分析:為滿(mǎn)足管理目標(biāo)基本要求,選取下列字段:教師序號(hào)、姓名、性別、職稱(chēng)、課程編號(hào)、電話(huà)67教師授課表分析:67學(xué)生簡(jiǎn)況表分析:基本特征信息應(yīng)包括:學(xué)號(hào)、姓名、性別、班級(jí)、出生日期其它特征信息:籍貫、政治面貌、宿舍、所屬專(zhuān)業(yè)、特長(zhǎng)綜合分析:為滿(mǎn)足管理目標(biāo)基本要求,選取下列字段:學(xué)號(hào)、姓名、性別、班級(jí)、出生日期、簡(jiǎn)歷68學(xué)生簡(jiǎn)況表分析:68課程名稱(chēng)表分析:基本特征信息應(yīng)包括:課程編號(hào)、教師序號(hào)、課程名稱(chēng)其它特征信息:學(xué)分、課時(shí)、課程先決條件、課時(shí)綜合分析:為滿(mǎn)足管理目標(biāo)基本要求,選取下列字段:課程編號(hào)、課程名稱(chēng)、課時(shí)69課程名稱(chēng)表分析:69學(xué)生成績(jī)表分析:基本特征信息應(yīng)包括:學(xué)號(hào)、課程編號(hào)、成績(jī)其它特征信息:學(xué)分、教師序號(hào)、課程名稱(chēng)綜合分析:為滿(mǎn)足管理目標(biāo)基本要求,選取下列字段:學(xué)號(hào)、課程編號(hào)、成績(jī)70學(xué)生成績(jī)表分析:70⑷確定主關(guān)鍵字為保證在不同表中的信息發(fā)生聯(lián)系,每個(gè)表都有一個(gè)能夠唯一確定每條記錄的字段或字段組,該字段或字段組被稱(chēng)為主關(guān)鍵字。如果表中沒(méi)有可作為主關(guān)鍵字的字段,可在表中增加一個(gè)字段,該字段的值為序列號(hào),以此來(lái)標(biāo)識(shí)不同記錄。71⑷確定主關(guān)鍵字為保證在不同表中的信息發(fā)生聯(lián)系,每個(gè)表都有一個(gè)例案中數(shù)據(jù)表的主關(guān)鍵字根據(jù)上述確定表的字段分析:學(xué)生簡(jiǎn)況表的主關(guān)鍵字為“SNO”教師授課表的主關(guān)鍵字為“TID”“TID”是人為加入的主關(guān)鍵字課程名稱(chēng)表的主關(guān)鍵字為“CNO”學(xué)生成績(jī)表的主關(guān)鍵字為“SNO”和“CNO”72例案中數(shù)據(jù)表的主關(guān)鍵字根據(jù)上述確定表的字段分析:72⑸確定表之間的關(guān)系在確定了DB的表、表中的字段以及主關(guān)鍵字之后,還需要確定表之間的關(guān)系。在DB中,可以存在一個(gè)以上的表,且表與表之間存在著一定的關(guān)系。只有分析并建立起表之間的關(guān)系

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論