|
|
電信博物館 >
多媒體 > 繽紛世界的背后
>
數(shù)據(jù)庫(kù)技術(shù)的挑戰(zhàn)
面向?qū)ο蟮臄?shù)據(jù)庫(kù)
隨著近年來(lái)面向?qū)ο蠹夹g(shù)的興起,面向?qū)ο蠓椒ㄔ跀?shù)據(jù)庫(kù)應(yīng)用領(lǐng)域也日益顯示出其強(qiáng)大的生命力,其中主要的原因在于對(duì)象模型能夠更好地描述復(fù)雜的對(duì)象,更好地維護(hù)復(fù)雜的對(duì)象語(yǔ)義信息。由于多媒體數(shù)據(jù)的特殊性,模型對(duì)象數(shù)據(jù)庫(kù)的這種機(jī)制正好滿(mǎn)足了多媒體數(shù)據(jù)庫(kù)在建模方面的要求。但我們必須指出,面向?qū)ο髷?shù)據(jù)庫(kù)并不等于多媒體數(shù)據(jù)庫(kù),它們?cè)诤芏喾矫嫜芯康膫?cè)重點(diǎn)是不同的。
對(duì)象、屬性、方法、消息的概念
對(duì)象 在面向?qū)ο蟮南到y(tǒng)中,現(xiàn)實(shí)世界中所有概念實(shí)體都將模型化成為對(duì)象。對(duì)象由實(shí)體所包含的數(shù)據(jù)和定義在這些數(shù)據(jù)上的操作組成。
屬性 組成對(duì)象的數(shù)據(jù)就稱(chēng)為對(duì)象的屬性。對(duì)象的屬性可以是系統(tǒng)或用戶(hù)定義的數(shù)據(jù)類(lèi)型,也可以是一個(gè)抽象的數(shù)據(jù)類(lèi)型,也就是說(shuō),組成對(duì)象的某個(gè)屬性本身可能仍然是一個(gè)對(duì)象,具有自己的屬性和定義在屬性上的操作。屬性的這種本身仍然可以是對(duì)象的性質(zhì),可以方便地用來(lái)描述不同對(duì)象之間的聯(lián)系。
方法 定義在對(duì)象屬性上的一組操作稱(chēng)為對(duì)象的方法。方法體現(xiàn)了對(duì)象的行為能力,它與屬性一樣是對(duì)象的組成部分。在對(duì)象這個(gè)抽象層次上,我們用戶(hù)只需要了解對(duì)象的外部特征,即對(duì)象具有哪些處理能力,而不需要了解其內(nèi)部構(gòu)成,包括數(shù)據(jù)和處理能力的實(shí)現(xiàn)方法。
消息 在面向?qū)ο蟮南到y(tǒng)中,對(duì)象之間的通信和請(qǐng)求對(duì)象完成某種處理工作是通過(guò)消息傳送實(shí)現(xiàn)的。消息傳送相當(dāng)于一個(gè)間接的過(guò)程調(diào)用。對(duì)象對(duì)它能夠接受的每一個(gè)消息有一個(gè)相應(yīng)的方法解釋消息的內(nèi)容,并執(zhí)行消息指示的操作。一個(gè)對(duì)象可以同時(shí)向多個(gè)對(duì)象發(fā)送消息,也可以接受多個(gè)對(duì)象發(fā)送的消息。由于消息內(nèi)容由接受消息的對(duì)象解釋?zhuān)瑯拥南⒖赡鼙徊煌瑢?duì)象解釋為不同的含義。
對(duì)象的劃分與界定
實(shí)際上,對(duì)于對(duì)象的劃分與界定我們可以用一個(gè)概念――“對(duì)象封裝”來(lái)表示。從數(shù)據(jù)存儲(chǔ)的角度來(lái)看,所謂封裝就是把一個(gè)個(gè)對(duì)應(yīng)具體事物的數(shù)據(jù)集合明確地定義為一個(gè)個(gè)對(duì)象,并以對(duì)象作為數(shù)據(jù)庫(kù)存儲(chǔ)和訪(fǎng)問(wèn)的基本單位。這里有兩點(diǎn)值得注意:第一,既然封裝的數(shù)據(jù)對(duì)象是對(duì)應(yīng)某一具體事物屬性、特征的數(shù)字描述,那么,由于客觀(guān)事物是運(yùn)動(dòng)的、動(dòng)態(tài)變化的,對(duì)象封裝的數(shù)據(jù)也應(yīng)該體現(xiàn)這種動(dòng)態(tài)性,所以在面向?qū)ο蠹夹g(shù)中,強(qiáng)調(diào)應(yīng)該把數(shù)據(jù)與訪(fǎng)問(wèn)這些數(shù)據(jù)的有關(guān)程序一起封裝到對(duì)象之中。程序?qū)嶋H上就是對(duì)數(shù)據(jù)如何進(jìn)行處理和可能進(jìn)行哪些處理的一種描述,所以,程序也是一種信息類(lèi)型,一種特殊的動(dòng)態(tài)數(shù)據(jù)。程序在未執(zhí)行時(shí),是以一種二進(jìn)制數(shù)字代碼文件方式存儲(chǔ)或傳輸?shù),?jì)算機(jī)網(wǎng)絡(luò)或通信網(wǎng)絡(luò)也把它當(dāng)成一種廣義的數(shù)據(jù)看待;程序在執(zhí)行時(shí)對(duì)有關(guān)數(shù)據(jù)進(jìn)行處理、操作,體現(xiàn)了客觀(guān)事物屬性、特征的動(dòng)態(tài)變化。所以,在面向?qū)ο髷?shù)據(jù)庫(kù)中,把數(shù)據(jù)與其相關(guān)的程序封裝在一起,能夠更準(zhǔn)確地體現(xiàn)客觀(guān)事物的動(dòng)態(tài)特征,也體現(xiàn)系統(tǒng)的動(dòng)態(tài)性和生命力。如果存儲(chǔ)的靜態(tài)數(shù)據(jù)永遠(yuǎn)不去訪(fǎng)問(wèn)和使用它,那么,所存儲(chǔ)的數(shù)據(jù)信息將失去其價(jià)值,也有人稱(chēng)為信息“腐爛”了。第二,對(duì)象封裝的定義是一個(gè)邏輯的概念,封裝在一個(gè)對(duì)象中的數(shù)據(jù)或程序可以是實(shí)際上集中在一起的,也可以是分布的,甚至可以分布在網(wǎng)絡(luò)中的不同通信點(diǎn)上,重要的是封裝的對(duì)象要有一個(gè)清楚的界限和一個(gè)明確的對(duì)外聯(lián)系的接口。這樣,我們就可以把對(duì)象的內(nèi)部和對(duì)象的定義與實(shí)現(xiàn)分開(kāi),從而使內(nèi)部?jī)?nèi)容受到保護(hù),使數(shù)據(jù)信息內(nèi)容更為隱蔽。所以,對(duì)象封裝技術(shù),有時(shí)也稱(chēng)為是一種信息隱蔽技術(shù)。
對(duì)象在多媒體中的應(yīng)用
既然對(duì)象在計(jì)算機(jī)網(wǎng)絡(luò)和通信網(wǎng)絡(luò)中是對(duì)某種事物屬性、特征的數(shù)字化的描述,而客觀(guān)事物屬性、特征又通常是以多媒體――多種信息類(lèi)型綜合表現(xiàn)的,那么用對(duì)象作為存儲(chǔ)多媒體信息的基本單位,用面向?qū)ο蠓椒?gòu)造數(shù)據(jù)庫(kù)來(lái)解決多媒體信息的存儲(chǔ)、檢索和管理也就順理成章了。例如,一幅圖像、一首歌曲、一部包括伴音的電影以至一篇文章,都可以與它們對(duì)應(yīng)的訪(fǎng)問(wèn)程序、操作方法封裝在一起,作為一個(gè)個(gè)對(duì)象存儲(chǔ)。關(guān)系型數(shù)據(jù)庫(kù)主要面向數(shù)值、字符等比較簡(jiǎn)單的數(shù)據(jù)類(lèi)型,而面向?qū)ο髷?shù)據(jù)庫(kù)則不限制存儲(chǔ)數(shù)據(jù)的類(lèi)型,自然支持多媒體的任何結(jié)構(gòu)和類(lèi)型的數(shù)據(jù),包括綜合的多媒體數(shù)據(jù)和允許用戶(hù)自行定義的任何類(lèi)型數(shù)據(jù)。允許用戶(hù)自行定義數(shù)據(jù)類(lèi)型進(jìn)行存儲(chǔ),被認(rèn)為是面向?qū)ο髷?shù)據(jù)庫(kù)方法的一個(gè)重要特點(diǎn),也是面向?qū)ο髷?shù)據(jù)庫(kù)能夠支持多媒體信息存儲(chǔ)的一種體現(xiàn)。
對(duì)象的繼承性與可重復(fù)利用性
對(duì)象的繼承性與可重復(fù)利用性,是面向?qū)ο髷?shù)據(jù)庫(kù)技術(shù)的基礎(chǔ)。在現(xiàn)實(shí)世界中,事物是以其不同屬性和特征進(jìn)行區(qū)分的,以其相同屬性而聯(lián)系的,這是系統(tǒng)劃分子系統(tǒng)形成系統(tǒng)層次結(jié)構(gòu)的基本概念與方法。它是面向?qū)ο髷?shù)據(jù)庫(kù)中形成對(duì)象數(shù)據(jù)模型和實(shí)現(xiàn)對(duì)數(shù)據(jù)存儲(chǔ)、訪(fǎng)問(wèn)和管理的重要基礎(chǔ)。俗話(huà)說(shuō)物以類(lèi)聚,把許多具有一定共同屬性、特征的對(duì)象集合在一起,就可以形成一類(lèi)對(duì)象或稱(chēng)為一個(gè)對(duì)象類(lèi),例如,黃種人、黑種人、白種人都具有能夠思維、能夠使用工具等人類(lèi)的共同屬性而形成人類(lèi),人類(lèi)就是一個(gè)對(duì)象類(lèi),稱(chēng)為人類(lèi)對(duì)象;反過(guò)來(lái),黃種人、黑種人、白種人又都是人類(lèi)對(duì)象的一個(gè)個(gè)實(shí)例,稱(chēng)為實(shí)例對(duì)象。這樣分類(lèi)以后,在類(lèi)對(duì)象中只定義這一類(lèi)對(duì)象的共同屬性――人類(lèi)的共性,而在實(shí)例對(duì)象中只定義各種人的不同個(gè)性――不同的膚色等。這體現(xiàn)了認(rèn)識(shí)客觀(guān)世界常用的兩種方法:綜合與分析方法。綜合方法從不同具體事物屬性、特征中歸納其共同特征,認(rèn)識(shí)事物之間的聯(lián)系和本質(zhì)特征;分析方法從相似事物屬性中分析其不同特征,認(rèn)識(shí)事物之間的差異,以更深刻地認(rèn)識(shí)具體事物。
面向?qū)ο蠓椒ㄖ幸腩?lèi)的概念后,可以極大地減少數(shù)據(jù)存儲(chǔ)的重復(fù)和提高訪(fǎng)問(wèn)效率,因?yàn)橥活?lèi)數(shù)據(jù)中的相同數(shù)據(jù)和對(duì)這類(lèi)數(shù)據(jù)的相同操作程序,都可以集中封裝在一個(gè)類(lèi)對(duì)象中,為屬于這個(gè)類(lèi)對(duì)象的所有實(shí)例對(duì)象所共享。共享的實(shí)現(xiàn)是與面向?qū)ο蠓椒ㄖ械睦^承概念相聯(lián)系的,因?yàn)閷?shí)例對(duì)象自動(dòng)繼承它所屬類(lèi)對(duì)象的所有屬性和特征,當(dāng)訪(fǎng)問(wèn)具體實(shí)例對(duì)象時(shí),就可以根據(jù)其在對(duì)象類(lèi)別當(dāng)中的位置,自動(dòng)調(diào)用它屬于的類(lèi)對(duì)象中的操作程序。這種對(duì)象屬性的繼承性,大大提高了共用程序和數(shù)據(jù)的可重用性。
對(duì)象之間的“交流”
對(duì)象之間的“交流”是對(duì)面向?qū)ο髷?shù)據(jù)庫(kù)訪(fǎng)問(wèn)的基礎(chǔ)。如果我們把面向?qū)ο髷?shù)據(jù)庫(kù)看成是一個(gè)系統(tǒng),那么存儲(chǔ)于面向?qū)ο髷?shù)據(jù)庫(kù)中按照一定數(shù)據(jù)模型和結(jié)構(gòu)關(guān)系組織起來(lái)的數(shù)據(jù)對(duì)象,就是這個(gè)系統(tǒng)中的一個(gè)個(gè)子系統(tǒng)。數(shù)據(jù)對(duì)象的封裝和數(shù)據(jù)對(duì)象之間的聯(lián)系,要求為對(duì)象之間的通信交流設(shè)計(jì)一種規(guī)范的方法,我們稱(chēng)之為消息傳遞,它既是對(duì)象之間信息傳遞的一種通信協(xié)議,又是每個(gè)封裝對(duì)象與外界聯(lián)系的途徑。封裝在對(duì)象內(nèi)部的程序及對(duì)有關(guān)數(shù)據(jù)的操作,只能由接收外部的消息來(lái)啟動(dòng)和執(zhí)行。因此,敏感對(duì)象所能夠接收的消息,實(shí)際上是根據(jù)對(duì)象中可能的操作來(lái)決定的。每一類(lèi)操作設(shè)計(jì)一類(lèi)消息,我們稱(chēng)之為消息模式,它規(guī)定了消息的基本格式。在給定的消息模式中設(shè)定一定參數(shù),就可以形成具體的消息,對(duì)應(yīng)對(duì)象中的各種具體操作。一個(gè)對(duì)象可以接受多種消息模式,對(duì)應(yīng)對(duì)象內(nèi)部的多種消息具體操作。
對(duì)對(duì)象發(fā)送消息的消息源,可能是訪(fǎng)問(wèn)和使用面向?qū)ο髷?shù)據(jù)庫(kù)而設(shè)計(jì)的應(yīng)用程序或用戶(hù),也可能是數(shù)據(jù)庫(kù)內(nèi)部的另一個(gè)對(duì)象。應(yīng)用程序通過(guò)規(guī)定格式的消息訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),是面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)與外界聯(lián)系的途徑。數(shù)據(jù)對(duì)象接收到應(yīng)用程序發(fā)送來(lái)的消息,執(zhí)行消息規(guī)定的有關(guān)操作。在執(zhí)行中可能需要根據(jù)與其他對(duì)象的繼承關(guān)系,調(diào)用其他對(duì)象的共享數(shù)據(jù),于是它也以發(fā)送消息的方式通知其他對(duì)象,所以用戶(hù)的每次數(shù)據(jù)庫(kù)訪(fǎng)問(wèn),可能是在數(shù)據(jù)庫(kù)中多個(gè)對(duì)象協(xié)同活動(dòng)而完成的。面向?qū)ο髷?shù)據(jù)庫(kù)的各個(gè)子系統(tǒng),正是利用這種通過(guò)消息傳遞方式的聯(lián)系方式,既保證了對(duì)象內(nèi)部操作的隱蔽性,又體現(xiàn)了數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)整體性和對(duì)象之間的相關(guān)性。
[上一頁(yè)] [下一頁(yè)]
|
|
|