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