版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)及其接口設(shè)計(jì)第1頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)管理系統(tǒng),包括文件系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)兩大類(lèi)。采用關(guān)系模型的數(shù)據(jù)庫(kù)稱(chēng)做關(guān)系數(shù)據(jù)庫(kù)(relationaldatabase)。與層次和網(wǎng)狀的DBMS相比,RDBMS所采用的數(shù)據(jù)模型以二維表的形式而不是人為地設(shè)置指針(或?qū)Ш芥湥﹣?lái)實(shí)現(xiàn)實(shí)體數(shù)據(jù)之間的聯(lián)系,從而使用戶可以直接從數(shù)據(jù)庫(kù)中獲取表示事物之間聯(lián)系的信息,而不必借助軟件專(zhuān)家的幫助。第2頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.1數(shù)據(jù)管理系統(tǒng)及其選擇
有效地實(shí)現(xiàn)數(shù)據(jù)在永久性存儲(chǔ)空間的存儲(chǔ)與管理需要特定的軟件系統(tǒng)支持。這些實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、檢索、管理、維護(hù)的系統(tǒng)稱(chēng)做數(shù)據(jù)管理系統(tǒng),包括文件系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)兩大類(lèi)。第3頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月文件系統(tǒng)文件系統(tǒng)(filesystem)通常被作為操作系統(tǒng)的一部分。它采用統(tǒng)一、標(biāo)準(zhǔn)的方法對(duì)輔助存儲(chǔ)器上的用戶文件和系統(tǒng)文件的數(shù)據(jù)進(jìn)行管理,提供存儲(chǔ)、檢索、更新、共享和保護(hù)等功能。它有如下的局限性:
第4頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)各個(gè)文件中的數(shù)據(jù)是相互分離和獨(dú)立的,不易直接體現(xiàn)數(shù)據(jù)之間的關(guān)系。(2)容易產(chǎn)生數(shù)據(jù)冗余,并因此給數(shù)據(jù)完整性的維護(hù)帶來(lái)很大困難。(3)應(yīng)用程序依賴(lài)于文件結(jié)構(gòu),當(dāng)文件結(jié)構(gòu)發(fā)生變化時(shí),應(yīng)用程序也必須變化.第5頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(4)不同的編程語(yǔ)言(或其他軟件產(chǎn)品)產(chǎn)生的文件格式互異,互不兼容。(5)難以按用戶視圖表示數(shù)據(jù)。第6頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)必須有DBMS的支持,DBMS提供的功能包括:(1)模式翻譯(2)應(yīng)用程序的編譯第7頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(3)交互式查詢(xún)(4)數(shù)據(jù)的組織與存?。?)事物運(yùn)行管理(6)數(shù)據(jù)庫(kù)的維護(hù)第8頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)庫(kù)管理系統(tǒng)克服了文件系統(tǒng)的許多局限性,它使數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有如下特點(diǎn):(1)數(shù)據(jù)是集成的,數(shù)據(jù)庫(kù)不但保存各種數(shù)據(jù),也保存它們之間的關(guān)系,并由DBMS提供方便、高效的檢索功能。
第9頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月(2)數(shù)據(jù)冗余度較小,并由DBMS保證數(shù)據(jù)的完整性。(3)程序與數(shù)據(jù)相互獨(dú)立。(4)易于按用戶視圖表示數(shù)據(jù)。第10頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月關(guān)系數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(1)采用關(guān)系模型的數(shù)據(jù)庫(kù)稱(chēng)做關(guān)系數(shù)據(jù)庫(kù)。關(guān)系模型用二維表來(lái)表示各類(lèi)數(shù)據(jù),二維表中有行,有列。第11頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月(2)基于關(guān)系模型的數(shù)據(jù)庫(kù)管理系統(tǒng)叫做關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。RDBMS所采用的數(shù)據(jù)模型以二維表的形式而不是人為地設(shè)置指針(或曰導(dǎo)航鏈)來(lái)實(shí)現(xiàn)實(shí)體數(shù)據(jù)之間的聯(lián)系,從而使用戶可以直接從數(shù)據(jù)庫(kù)中獲取表示事物之間聯(lián)系的信息,而不必借助軟件專(zhuān)家的幫助。第12頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο髷?shù)據(jù)庫(kù)和面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)
(1)采用面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)庫(kù)稱(chēng)做面向?qū)ο髷?shù)據(jù)庫(kù)(OODB);相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)做面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)(OODBMS),有時(shí)稱(chēng)做對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)(ODBMS)。第13頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(2)面向?qū)ο髷?shù)據(jù)管理系統(tǒng)應(yīng)具備兩方面的特征:一方面它是面向?qū)ο蟮?,另一方面它又具有?shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)有的特點(diǎn)和功能。第14頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)管理系統(tǒng)的選擇對(duì)許多項(xiàng)目而言,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和文件系統(tǒng)都可能成為最合適的選擇。決定采用何種數(shù)據(jù)管理系統(tǒng),要綜合考慮技術(shù)和非技術(shù)兩方面的因素:第15頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月1)非技術(shù)因素(1)數(shù)據(jù)管理系統(tǒng)的成熟程度和先進(jìn)性。(2)價(jià)格。(3)開(kāi)發(fā)隊(duì)伍的技術(shù)背景。(4)與其他系統(tǒng)的關(guān)系。第16頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月2)技術(shù)因素(1)文件系統(tǒng)。(2)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。(3)面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)。第17頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.2數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)管理在應(yīng)用上扮演了集中的角色。它使大量持續(xù)性集合的數(shù)據(jù)被組織和維持,并且由以計(jì)算機(jī)為基礎(chǔ)的數(shù)據(jù)系統(tǒng)來(lái)支持,數(shù)據(jù)庫(kù)應(yīng)用在許多不同的領(lǐng)域,已經(jīng)被開(kāi)發(fā)。第18頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)庫(kù)系統(tǒng)包括軟件、數(shù)據(jù)庫(kù)管理系統(tǒng)和一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)是在計(jì)算機(jī)主存儲(chǔ)器中執(zhí)行,并且由個(gè)別的操作所控制的程序系統(tǒng)。數(shù)據(jù)庫(kù)是一群數(shù)據(jù)的集合,它是有關(guān)真實(shí)世界應(yīng)用的代表信息。第19頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的區(qū)別是兩種對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的觀點(diǎn)與方式:(1)由用戶的觀點(diǎn)(2)由開(kāi)發(fā)者的觀點(diǎn)第20頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月對(duì)概觀數(shù)據(jù)庫(kù)的一般性描述,有四個(gè)主要的領(lǐng)域:(1)數(shù)據(jù)模型(2)數(shù)據(jù)庫(kù)語(yǔ)言(3)交易與并行控制(4)數(shù)據(jù)結(jié)構(gòu)第21頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月以下針對(duì)各數(shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)要地說(shuō)明其特點(diǎn):(1)文件管理系統(tǒng)。一般而言,文件管理系統(tǒng)的程序結(jié)構(gòu)在處理導(dǎo)向的模型上,并依分類(lèi)順序或是以邏輯上的關(guān)鍵值來(lái)作索引。文件管理系統(tǒng)的缺點(diǎn)主要包括有數(shù)據(jù)重復(fù)、矛盾、缺乏彈性、不易分享、沒(méi)有標(biāo)準(zhǔn)、程序產(chǎn)量低,以及需要大量的程序維護(hù)工作等。第22頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(2)層次式數(shù)據(jù)庫(kù)管理系統(tǒng)。由于“單一雙親法則”的特性,使得該數(shù)據(jù)模型會(huì)產(chǎn)生重復(fù)且過(guò)量的數(shù)據(jù)和結(jié)構(gòu)。因此,浪費(fèi)保存空間是其最大的缺點(diǎn)。但在薪資系統(tǒng)上仍適合使用。第23頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(3)網(wǎng)絡(luò)式數(shù)據(jù)庫(kù)管理系統(tǒng)。雖然網(wǎng)狀式數(shù)據(jù)庫(kù)結(jié)構(gòu)可將相鄰或共同的要素加以結(jié)合,以節(jié)省保存空間,但因其采用“環(huán)式指示碼結(jié)構(gòu)”來(lái)表示復(fù)雜現(xiàn)象的拓?fù)浣Y(jié)構(gòu),所以當(dāng)有數(shù)據(jù)需編輯或更新時(shí),則必須改變?cè)邢噙B的數(shù)據(jù)結(jié)構(gòu),此為其最大缺點(diǎn)。第24頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(4)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。關(guān)系型數(shù)據(jù)模型在某方面有其使用限制,這是為了使數(shù)據(jù)模型簡(jiǎn)單化所加的限制。雖然如此,但與其前身比較,該數(shù)據(jù)模型則具備了一些非常重要的特點(diǎn)。例如,數(shù)據(jù)獨(dú)立、聲明式處理、去除重復(fù)、簡(jiǎn)單及以表單作為表達(dá)形式,以上優(yōu)點(diǎn)不僅使程序開(kāi)發(fā)更為快速,也使得程序的維護(hù)更加容易。第25頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(5)面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)。面向?qū)ο髷?shù)據(jù)庫(kù)將數(shù)據(jù)與操作方法集合成為對(duì)象的概念,并且也支持復(fù)合對(duì)象及一般化關(guān)系的直接表示,這是傳統(tǒng)數(shù)據(jù)庫(kù)所不能達(dá)到的。面向?qū)ο髷?shù)據(jù)庫(kù)在傳統(tǒng)數(shù)據(jù)庫(kù)中加入了抽象,擴(kuò)充類(lèi)型定義、用戶定義操作與數(shù)據(jù)類(lèi)型、繼承機(jī)制、數(shù)據(jù)定義語(yǔ)言與數(shù)據(jù)操作語(yǔ)言的集成,以及支持版本與模型演變等概念與功能,消除了傳統(tǒng)數(shù)據(jù)對(duì)數(shù)據(jù)定義的一致性限制。第26頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.2.1面向?qū)ο蠹夹g(shù)
面向?qū)ο蠹夹g(shù)的特點(diǎn):(1)面向?qū)ο蟮乃伎挤绞奖冉Y(jié)構(gòu)化分析及設(shè)計(jì)的技術(shù),對(duì)人類(lèi)更自然。(2)系統(tǒng)通常由已存在的對(duì)象所構(gòu)成。(3)對(duì)象的復(fù)雜度可以一直成長(zhǎng),因?yàn)閷?duì)象是由別的對(duì)象所組成,以此類(lèi)推。第27頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月(4)計(jì)算機(jī)輔助軟件工程(CASE)保存庫(kù)應(yīng)該包含有持續(xù)成長(zhǎng)的對(duì)象類(lèi)別鏈接庫(kù),某些是購(gòu)買(mǎi)的,某些是建立的。(5)用面向?qū)ο蠹夹g(shù)來(lái)生成功能良好的系統(tǒng)比較容易,原因是由于類(lèi)又包含著類(lèi)。(6)面向?qū)ο蠹夹g(shù)與CASE工具很自然地結(jié)合。第28頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο蠓治雠c設(shè)計(jì)。面向?qū)ο蠓治鍪抢孟到y(tǒng)結(jié)構(gòu)及操作概念,以對(duì)象來(lái)反映系統(tǒng)連續(xù)的處理過(guò)程,其主要特點(diǎn)歸納如下:(1)面向?qū)ο竽P团c真實(shí)世界的差距很小。(2)以對(duì)象為基礎(chǔ),可做局部的修改。(3)有助于理解問(wèn)題空間。第29頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(4)改進(jìn)分析人員與用戶間的交互方式。(5)增加分析結(jié)果內(nèi)部的一致性。(6)共同性質(zhì)明顯表示。(7)分析結(jié)果可重復(fù)使用。第30頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο笤O(shè)計(jì)是將分析模型所得轉(zhuǎn)換成解答模型的過(guò)程,其主要特性有:(1)模塊化(2)信息隱藏(3)弱耦合力第31頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(4)強(qiáng)內(nèi)聚力(5)抽象(6)可擴(kuò)充性(7)整合性第32頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο蠓治雠c設(shè)計(jì)的主要目標(biāo)如下;(1)確定企業(yè)運(yùn)作過(guò)程中的各項(xiàng)重要角色,然后確定各角色的責(zé)任。(2)定義軟件對(duì)象來(lái)表達(dá)各項(xiàng)角色。(3)進(jìn)行面向?qū)ο蠓纸?,即將?duì)象分類(lèi)或分解更小的對(duì)象。第33頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.2.2面向?qū)ο髷?shù)據(jù)庫(kù)的應(yīng)用
面向?qū)ο蠹夹g(shù)被視為能夠帶來(lái)更可靠和較高品質(zhì)的軟件,因?yàn)樗軌蚪柚褂枚x好的接口與隱藏實(shí)現(xiàn)細(xì)節(jié),建立更模塊化的軟件。第34頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月對(duì)象數(shù)據(jù)庫(kù)技術(shù)在其他工業(yè)部門(mén)也變得很受歡迎,對(duì)象數(shù)據(jù)庫(kù)技術(shù)已明顯地移向非工業(yè)方面的應(yīng)用。第35頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月由于面向?qū)ο蠹夹g(shù)在觀察、分析問(wèn)題時(shí)更接近人類(lèi)的思維方式,所以模型中的對(duì)象與真實(shí)世界的實(shí)體或概念有自然的對(duì)應(yīng),并可隨環(huán)境的變動(dòng),修正系統(tǒng)中的對(duì)象屬性或方法,以適應(yīng)復(fù)雜多變的產(chǎn)品開(kāi)發(fā)類(lèi)型。第36頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.2.3應(yīng)用程序設(shè)計(jì)程序
越來(lái)越強(qiáng)調(diào)流程的整合是迫使采用面向?qū)ο髷?shù)據(jù)庫(kù)的原由。面向?qū)ο髷?shù)據(jù)庫(kù)的應(yīng)用領(lǐng)域非常廣泛,而它的特質(zhì)就是具有非常復(fù)雜而有效的信息,面向?qū)ο竽芤愿匀患案琢私獾姆椒▉?lái)呈現(xiàn)問(wèn)題的解決。第37頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο髷?shù)據(jù)庫(kù)引入面向?qū)ο蟮男赂拍钣跀?shù)據(jù)庫(kù)中,同樣使用面向?qū)ο蟮姆椒ǚ抡鎮(zhèn)鹘y(tǒng)數(shù)據(jù)庫(kù)的功能。因此,其優(yōu)點(diǎn)為比傳統(tǒng)數(shù)據(jù)庫(kù)多了“面向?qū)ο蟆钡墓δ堋C嫦驅(qū)ο蟮墓δ苁窃趯?duì)象與對(duì)象之間擁有多樣化的關(guān)系。第38頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月通常面向?qū)ο髷?shù)據(jù)庫(kù)下列的優(yōu)點(diǎn)勝過(guò)關(guān)系型數(shù)據(jù)庫(kù):
(1)一個(gè)更真實(shí),更有力的數(shù)據(jù)模型。(2)處理更復(fù)雜的對(duì)象。(3)在實(shí)體之間的繼承關(guān)聯(lián)。第39頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(4)在模式層之內(nèi)結(jié)合對(duì)象的行為與對(duì)象的定義。(5)在集合繼承之間的內(nèi)隱連接以對(duì)象識(shí)別碼為基礎(chǔ)。(6)版本的機(jī)制。第40頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(7)較好的交易與并行管理。(8)表達(dá)更佳的查詢(xún)語(yǔ)言。(9)對(duì)合作的工作有較好的支持。第41頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.2.4面向?qū)ο髷?shù)據(jù)庫(kù)的最佳化面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)將保證大部分的最佳化責(zé)任,允許用戶規(guī)范高層以外的陳述,指引什么樣的最佳化需被執(zhí)行。面向?qū)ο髷?shù)據(jù)庫(kù)的演進(jìn),如圖15-1所示。
第42頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-1
第43頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.3技術(shù)整合在整合面向?qū)ο蠛蛿?shù)據(jù)庫(kù)的技術(shù)時(shí),首先要考慮的問(wèn)題是:對(duì)象在什么時(shí)候該被保存起來(lái),未來(lái)將如何取用這些對(duì)象。第44頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月解決了保存對(duì)象的問(wèn)題之后,接下來(lái)要處理的是對(duì)象共享時(shí)所產(chǎn)生的管理問(wèn)題。在一般的數(shù)據(jù)文件中,并無(wú)法做到對(duì)象保密及安全性的控制,數(shù)據(jù)文件中的對(duì)象可隨意讓人使用。第45頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)的使用,程序設(shè)計(jì)者可以將應(yīng)用程序產(chǎn)生的數(shù)據(jù)放到數(shù)據(jù)庫(kù)里,而不需要操心如何將這些數(shù)據(jù)存放在存儲(chǔ)器中。當(dāng)需要任何數(shù)據(jù)時(shí),只要跟數(shù)據(jù)庫(kù)系統(tǒng)說(shuō)明,系統(tǒng)便能快速地把你所需要的數(shù)據(jù)取出來(lái)。第46頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng),最大的特點(diǎn)之一就是:能直接記錄復(fù)雜的數(shù)據(jù)結(jié)構(gòu),而不需將之拆成一個(gè)個(gè)的片段。使用面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng),可以讓?xiě)?yīng)用程序直接、緊密地與數(shù)據(jù)庫(kù)結(jié)合,使得應(yīng)用程序無(wú)需花太多額外的力氣在數(shù)據(jù)庫(kù)系統(tǒng)的溝通及數(shù)據(jù)轉(zhuǎn)換的工作上。第47頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月基于以上的因素,一個(gè)要求具備下列條件的數(shù)據(jù)庫(kù)便應(yīng)運(yùn)而生:(1)能提供豐富的數(shù)據(jù)類(lèi)型。(2)能直接處理復(fù)雜對(duì)象而沒(méi)有數(shù)據(jù)格式轉(zhuǎn)換的問(wèn)題。(3)能提供與傳統(tǒng)數(shù)據(jù)庫(kù)相同的管理及服務(wù)。(4)能兼顧系統(tǒng)的彈性。第48頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.4數(shù)據(jù)接口
數(shù)據(jù)接口部分是OOD模型中負(fù)責(zé)與具體的數(shù)據(jù)管理系統(tǒng)銜接的外圍組成部分,它為系統(tǒng)中需要長(zhǎng)久存儲(chǔ)的對(duì)象提供了在選定的數(shù)據(jù)管理系統(tǒng)中進(jìn)行數(shù)據(jù)存儲(chǔ)與恢復(fù)的功能。第49頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月OOD模型中的數(shù)據(jù)接口部分就是這樣一個(gè)組成部分:它負(fù)責(zé)將應(yīng)用系統(tǒng)中的對(duì)象在選定的數(shù)據(jù)管理系統(tǒng)中進(jìn)行存儲(chǔ),并將存儲(chǔ)結(jié)果恢復(fù)到應(yīng)用系統(tǒng)。它所要解決的問(wèn)題,可以通過(guò)以下的討論而明確范圍。第50頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)對(duì)象在內(nèi)存空間的存儲(chǔ)是由編程語(yǔ)言自動(dòng)解決的,不需要設(shè)計(jì)者做什么事。(2)只需考慮對(duì)象屬性值的存儲(chǔ)。(3)并非所有的對(duì)象都需要長(zhǎng)期保存。(4)如果使用的面向?qū)ο缶幊陶Z(yǔ)言能夠支持永久對(duì)象的表示和存儲(chǔ)管理,不需要設(shè)計(jì)者做更多的工作。第51頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)接口部分的設(shè)計(jì)所瞄準(zhǔn)的問(wèn)題可以歸結(jié)為:在選用的編程語(yǔ)言和數(shù)據(jù)管理系統(tǒng)不能直接支持對(duì)象永久存儲(chǔ)的情況下,通過(guò)一個(gè)專(zhuān)門(mén)設(shè)計(jì)的模型組成部分,實(shí)現(xiàn)應(yīng)用系統(tǒng)與數(shù)據(jù)管理系統(tǒng)的接口,以解決應(yīng)用系統(tǒng)中需要長(zhǎng)期保存的對(duì)象的屬性值在外存空間的保存問(wèn)題。第52頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.5對(duì)象存儲(chǔ)方案和數(shù)據(jù)接口的設(shè)計(jì)策略本節(jié)針對(duì)文件系統(tǒng)、RDBMS和OODBMS三種不同的數(shù)據(jù)管理系統(tǒng),分別討論相應(yīng)的對(duì)象存儲(chǔ)方案和數(shù)據(jù)接口部分的設(shè)計(jì)策略。第53頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.5.1針對(duì)文件系統(tǒng)的設(shè)計(jì)
對(duì)象在內(nèi)存空間和文件空間的映像。由于應(yīng)用系統(tǒng)的具體要求和實(shí)現(xiàn)策略不同,對(duì)象實(shí)例在內(nèi)存空間和文件空間的存儲(chǔ)映像也有不同的映射方式:第54頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)每個(gè)需要永久存儲(chǔ)的對(duì)象,都在內(nèi)存空間建立一個(gè)對(duì)象實(shí)例,同時(shí)又在文件中保存一個(gè)記錄。(2)一個(gè)類(lèi)的每個(gè)對(duì)象都在文件中對(duì)應(yīng)著一個(gè)記錄,但是在內(nèi)存空間卻只根據(jù)算法的需要?jiǎng)?chuàng)建一個(gè)或少量幾個(gè)對(duì)象實(shí)例。第55頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月對(duì)象存放策略。用文件系統(tǒng)存放對(duì)象的基本策略是:把由每個(gè)類(lèi)直接定義,并需要永久存儲(chǔ)的全部對(duì)象實(shí)例,存放在一個(gè)文件中;其中每個(gè)對(duì)象實(shí)例的全部屬性作為一個(gè)存儲(chǔ)單元,占用該文件的一個(gè)記錄。第56頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月為了在文件中高效地存儲(chǔ)和檢索數(shù)據(jù),一個(gè)重要的問(wèn)題是努力在對(duì)象實(shí)例和文件記錄之間建立一種有規(guī)律的映射關(guān)系。在以下情況下,這種努力將取得明顯的效果:第57頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)對(duì)象名稱(chēng)呈線性規(guī)律的情況(2)對(duì)象關(guān)鍵字呈線性規(guī)律的情況(3)對(duì)象名稱(chēng)或關(guān)鍵字可以比較和排序的情況第58頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月一個(gè)類(lèi)使用一個(gè)文件,一個(gè)對(duì)象對(duì)應(yīng)文件中的一個(gè)記錄是基本策略。進(jìn)一步的決策要根據(jù)應(yīng)用系統(tǒng)的具體特點(diǎn)與要求,考慮以下問(wèn)題:第59頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)一個(gè)類(lèi)是否有大批量的對(duì)象實(shí)例需要永久存儲(chǔ)?(2)對(duì)象名稱(chēng)或關(guān)鍵字是否呈現(xiàn)某種規(guī)律?(3)應(yīng)用系統(tǒng)經(jīng)常需要按照什么條件進(jìn)行檢索?(4)是否需要經(jīng)常地插入或刪除對(duì)象?
第60頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月設(shè)計(jì)數(shù)據(jù)接口部分的對(duì)象類(lèi)。一個(gè)最主要的對(duì)象類(lèi)是為所有(需要在文件中存儲(chǔ)數(shù)據(jù)的)其他對(duì)象提供基本保存與恢復(fù)功能的對(duì)象類(lèi),可將它命名為“對(duì)象存取器”。應(yīng)用系統(tǒng)中各個(gè)類(lèi)的對(duì)象是按關(guān)鍵字存取,還是按對(duì)象名稱(chēng)存取,還是二者兼而有之,這將對(duì)“對(duì)象存取器”類(lèi)的設(shè)計(jì)提出不同的要求。第61頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-2中的三個(gè)特殊類(lèi)照原樣繼承了“對(duì)象存取器”的屬性,但繼承來(lái)的服務(wù)是多態(tài)的,算法各不相同。第62頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-2第63頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月問(wèn)題域部分的修改。由于每個(gè)需要長(zhǎng)久保存其對(duì)象實(shí)例的類(lèi)都需要上述屬性和服務(wù),因此可以增加一個(gè)一般類(lèi)來(lái)定義它們,作為共同協(xié)議,供所有這樣的類(lèi)繼承。第64頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月以上策略可能使問(wèn)題域部分的某些類(lèi)由原先的單繼承變?yōu)槎嗬^承,所以對(duì)不支持多繼承的編程語(yǔ)言可能不適應(yīng)。解決辦法是:第65頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)在較高的層次繼承“存儲(chǔ)協(xié)議”。(2)在出現(xiàn)問(wèn)題的類(lèi)中自己定義所需的屬性與服務(wù)。(3)采用化解多繼承的策略。第66頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月系統(tǒng)至少在以下幾種時(shí)刻需要保存或恢復(fù)對(duì)象:(1)系統(tǒng)每次啟動(dòng)時(shí)要恢復(fù)所有需要預(yù)先恢復(fù)的永久對(duì)象。(2)系統(tǒng)停止運(yùn)行之前要保存在本次運(yùn)行期間曾經(jīng)使用而未曾保存過(guò)的永久對(duì)象。
第67頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(3)自系統(tǒng)啟動(dòng)以來(lái)首次使用一個(gè)未曾恢復(fù)過(guò)的永對(duì)象時(shí)要首先恢復(fù)。(4)在與其他應(yīng)用系統(tǒng)共享對(duì)象數(shù)據(jù)的情況下,要根據(jù)共享機(jī)制的數(shù)據(jù)一致性保證策略所要求的時(shí)刻保存或恢復(fù)對(duì)象。第68頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月15.5.2針對(duì)RDBMS的設(shè)計(jì)
對(duì)象及其對(duì)數(shù)據(jù)庫(kù)的使用。使用RDBMS和使用文件系統(tǒng)相比,有以下幾點(diǎn)不同:(1)對(duì)象可能非映射式地使用庫(kù)中的數(shù)據(jù)(2)可能需要數(shù)據(jù)格式轉(zhuǎn)換第69頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月對(duì)象在數(shù)據(jù)庫(kù)中的存放策略。用關(guān)系數(shù)據(jù)庫(kù)存放對(duì)象的基本策略是:把由每個(gè)類(lèi)直接定義并需要永久存儲(chǔ)的全部對(duì)象實(shí)例存放在一個(gè)數(shù)據(jù)庫(kù)表中。第70頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月1)對(duì)象數(shù)據(jù)的規(guī)范化關(guān)系數(shù)據(jù)庫(kù)要求存入其中的數(shù)據(jù)符合一定的規(guī)范,并且用范式來(lái)衡量規(guī)范化程度的高低。
第71頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)第一范式(1NF):關(guān)系(表)的每個(gè)屬性都必須是原子的。就是說(shuō),關(guān)系的每個(gè)屬性都是單值的,它不包含內(nèi)部的數(shù)據(jù)結(jié)構(gòu)。(2)第二范式(2NF):如果一個(gè)關(guān)系的所有非關(guān)鍵字屬性都只能依靠整個(gè)關(guān)鍵字(而不是依賴(lài)關(guān)鍵字的一部分屬性),則該關(guān)系在第二范式中。第72頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(3)第三范式(3NF):如果一個(gè)關(guān)系在第二范式中,而且沒(méi)有傳遞依賴(lài),則該關(guān)系在第三范式中。(4)Boyce-Godd范式(BCNF):如果一個(gè)關(guān)系的每個(gè)決定因素都是候選關(guān)鍵字,則該關(guān)系在BCNF中。(5)第四范式(4NF):如果一個(gè)關(guān)系在BCNF中,而且沒(méi)有多值依賴(lài),則該關(guān)系在第四范式中。第73頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月為了表示某種事實(shí)已經(jīng)不存在而刪除一個(gè)元組,可能導(dǎo)致體現(xiàn)另一種事實(shí)的信息被同時(shí)刪除(這是刪除異常);或者,由于一種事實(shí)尚未發(fā)生,導(dǎo)致體現(xiàn)另一種事實(shí)的數(shù)據(jù)無(wú)法插入到表中(這是插入異常)。如圖15-3所示的例子。第74頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-3(a)
第75頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-3(b)
第76頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-3(a)是一個(gè)數(shù)據(jù)庫(kù)表(關(guān)系)。該表符合2NF,但是它不符合3NF,因?yàn)橛袀鬟f依賴(lài),即Fee依賴(lài)Building,而B(niǎo)uilding又依賴(lài)SID。這種傳遞依賴(lài)所帶來(lái)的更新異常問(wèn)題是:當(dāng)一座建筑物中的最后一位房客(例如表中的150號(hào)學(xué)生)退房時(shí),刪除相應(yīng)的元組將導(dǎo)致反映這座建筑物收費(fèi)多少的信息從表中消失;反之,在一座建筑物無(wú)人入住之前,關(guān)于它收費(fèi)多少的數(shù)據(jù)也無(wú)法插入到表中。第77頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月這個(gè)表進(jìn)行規(guī)范化的辦法是把它分解成如圖15-3(b)所示的兩個(gè)表,一個(gè)反映每學(xué)生住在哪座建筑物,另一個(gè)反映每座建筑物的收費(fèi)標(biāo)準(zhǔn)。這樣一來(lái),以上兩種信息的插入和刪除不再相互制約了。第78頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月總結(jié)以上的討論,可得到以下幾點(diǎn)認(rèn)識(shí):(1)OOA得到的類(lèi)其屬性很可能是非原子的。(2)運(yùn)用面向?qū)ο蠹夹g(shù),可以在很大程度上解決2NF、3NF、BCNF以及4NF所要解決的更新異常和數(shù)據(jù)冗余問(wèn)題,但是不能保證在任何情況下都能解決上述問(wèn)題。(3)遺留的問(wèn)題可通過(guò)常規(guī)的規(guī)范化策略解決,但是未必規(guī)范程度越高越好。
第79頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月2)修改類(lèi)圖。規(guī)范化意味著,從類(lèi)圖中原有的類(lèi)到數(shù)據(jù)庫(kù)表,數(shù)據(jù)格式發(fā)生了變化。現(xiàn)在的問(wèn)題是如何在設(shè)計(jì)中體現(xiàn)這種變化。有以下兩種策略:第80頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)保持原先的類(lèi)圖不變,只是按規(guī)范化的結(jié)果定義數(shù)據(jù)庫(kù)表。(2)按照規(guī)范化的要求修改類(lèi)圖,無(wú)論是各個(gè)類(lèi)內(nèi)部的屬性變化,還是把一個(gè)類(lèi)分解成兩個(gè)類(lèi),都體現(xiàn)為對(duì)類(lèi)圖的修改。第81頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月3)確定關(guān)鍵字。對(duì)每個(gè)需要在數(shù)據(jù)庫(kù)中存儲(chǔ)其對(duì)象實(shí)例的類(lèi)都要確定一個(gè)關(guān)鍵字。第82頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月4)從類(lèi)圖到數(shù)據(jù)庫(kù)的映射。以下通過(guò)幾個(gè)例圖討論幾種典型情況的處理:第83頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(1)對(duì)一般-特殊結(jié)構(gòu)的處理。如圖15-4所示的一般-特殊結(jié)構(gòu)中,假定A是一個(gè)不用于創(chuàng)建對(duì)象實(shí)例的類(lèi)(稱(chēng)做抽象類(lèi)),B、C和D都要?jiǎng)?chuàng)建對(duì)象實(shí)例。第84頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-4第85頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月(2)對(duì)關(guān)聯(lián)的處理。對(duì)關(guān)聯(lián)的一般實(shí)現(xiàn)策略是,在連接線一端的類(lèi)中定義一個(gè)(或一組)屬性,它的值表明另一端類(lèi)的哪個(gè)對(duì)象實(shí)例與本端的對(duì)象實(shí)例相關(guān)聯(lián)。第86頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
對(duì)于一對(duì)一的關(guān)聯(lián),無(wú)論在哪一端的類(lèi)(以及它所對(duì)應(yīng)的表)中設(shè)置這樣的屬性均無(wú)不可。但是在哪一端設(shè)置更好些還值得進(jìn)一步考慮。如圖15-5所示的情況,設(shè)置在A端比設(shè)置在B端更便于實(shí)現(xiàn)。第87頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-5第88頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
對(duì)于一對(duì)多的關(guān)聯(lián),沒(méi)有別的選擇,只能從多重性約束為“*”的一端指向多重性約束為“1”的一端。例如在圖15-6中,應(yīng)該在A類(lèi)定義指向B類(lèi)對(duì)象的屬性。第89頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-6第90頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月多對(duì)多的關(guān)聯(lián)可化為兩個(gè)一對(duì)多的關(guān)聯(lián),例如圖15-7(a)可以化為圖15-7(b)。這種轉(zhuǎn)化應(yīng)該在類(lèi)圖中完成。第91頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-7(a)第92頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月圖15-7(b)
第93頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月
(3)對(duì)整體-部分結(jié)構(gòu)的處理。當(dāng)應(yīng)用系統(tǒng)永遠(yuǎn)不可能把整體對(duì)象和它的部分對(duì)象分開(kāi)并進(jìn)行重新組合時(shí),通??梢圆捎镁o密、固定的實(shí)現(xiàn)方式。但是在實(shí)踐中即使對(duì)這種情況也可以采用松散、靈活的實(shí)現(xiàn)方式。第94頁(yè),課件共105頁(yè),創(chuàng)作于2023年2月數(shù)據(jù)接口部分對(duì)象類(lèi)的設(shè)計(jì)和問(wèn)題域部分的修改。在采用RDBMS的情況下,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年酒店會(huì)議室場(chǎng)地租賃及旅游套餐合同2篇
- 二零二五年戶外運(yùn)動(dòng)俱樂(lè)部裝修設(shè)計(jì)合同2篇
- 二零二五年第3章電子發(fā)票電子合同操作規(guī)范3篇
- 二零二五版文化創(chuàng)意產(chǎn)業(yè)試用期員工激勵(lì)合同3篇
- 二零二五年度物業(yè)經(jīng)理競(jìng)聘選拔合同3篇
- 二零二五版環(huán)保型廠房買(mǎi)賣(mài)合同范本3篇
- 幼兒園2025年度教學(xué)計(jì)劃設(shè)計(jì)與執(zhí)行合同3篇
- 二零二五年綜合性商業(yè)地產(chǎn)合作開(kāi)發(fā)合同范本3篇
- 二零二五版無(wú)抵押個(gè)人寵物醫(yī)療借款合同2篇
- 二零二五年甲乙間設(shè)備租賃借款合同6篇
- 無(wú)脊椎動(dòng)物課件-2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 2024年銀發(fā)健康經(jīng)濟(jì)趨勢(shì)與展望報(bào)告:新老人、新需求、新生態(tài)-AgeClub
- 2024年江西省“振興杯”家務(wù)服務(wù)員競(jìng)賽考試題庫(kù)(含答案)
- 吉林省2024年中考物理試題(含答案)
- 長(zhǎng)鏈氯化石蠟
- 小學(xué)六年級(jí)數(shù)學(xué)解方程計(jì)算題
- 春節(jié)英語(yǔ)介紹SpringFestival(課件)新思維小學(xué)英語(yǔ)5A
- 進(jìn)度控制流程圖
- 2023年江蘇省南京市中考化學(xué)真題
- 【閱讀提升】部編版語(yǔ)文五年級(jí)下冊(cè)第四單元閱讀要素解析 類(lèi)文閱讀課外閱讀過(guò)關(guān)(含答案)
- 現(xiàn)在完成時(shí)練習(xí)(短暫性動(dòng)詞與延續(xù)性動(dòng)詞的轉(zhuǎn)換)
評(píng)論
0/150
提交評(píng)論