多媒體

  初識多媒體
  怎樣與多媒體打交道
  繽紛世界的背后
  來來往往多媒體
  多媒體時代的通行證
  如何把精彩留給自己
  新的世紀(jì)從多媒體開始

移動通信

計算機網(wǎng)絡(luò)

智能網(wǎng)

光通信

微波通信

衛(wèi)星通信

交換網(wǎng)

接入網(wǎng)

電信管理網(wǎng)

 

    
  電信博物館 > 多媒體 > 繽紛世界的背后 > 數(shù)據(jù)庫技術(shù)的挑戰(zhàn)

 


面向?qū)ο蟮臄?shù)據(jù)庫

  隨著近年來面向?qū)ο蠹夹g(shù)的興起,面向?qū)ο蠓椒ㄔ跀?shù)據(jù)庫應(yīng)用領(lǐng)域也日益顯示出其強大的生命力,其中主要的原因在于對象模型能夠更好地描述復(fù)雜的對象,更好地維護復(fù)雜的對象語義信息。由于多媒體數(shù)據(jù)的特殊性,模型對象數(shù)據(jù)庫的這種機制正好滿足了多媒體數(shù)據(jù)庫在建模方面的要求。但我們必須指出,面向?qū)ο髷?shù)據(jù)庫并不等于多媒體數(shù)據(jù)庫,它們在很多方面研究的側(cè)重點是不同的。

  對象、屬性、方法、消息的概念

  對象 在面向?qū)ο蟮南到y(tǒng)中,現(xiàn)實世界中所有概念實體都將模型化成為對象。對象由實體所包含的數(shù)據(jù)和定義在這些數(shù)據(jù)上的操作組成。

  屬性 組成對象的數(shù)據(jù)就稱為對象的屬性。對象的屬性可以是系統(tǒng)或用戶定義的數(shù)據(jù)類型,也可以是一個抽象的數(shù)據(jù)類型,也就是說,組成對象的某個屬性本身可能仍然是一個對象,具有自己的屬性和定義在屬性上的操作。屬性的這種本身仍然可以是對象的性質(zhì),可以方便地用來描述不同對象之間的聯(lián)系。

  方法 定義在對象屬性上的一組操作稱為對象的方法。方法體現(xiàn)了對象的行為能力,它與屬性一樣是對象的組成部分。在對象這個抽象層次上,我們用戶只需要了解對象的外部特征,即對象具有哪些處理能力,而不需要了解其內(nèi)部構(gòu)成,包括數(shù)據(jù)和處理能力的實現(xiàn)方法。

  消息 在面向?qū)ο蟮南到y(tǒng)中,對象之間的通信和請求對象完成某種處理工作是通過消息傳送實現(xiàn)的。消息傳送相當(dāng)于一個間接的過程調(diào)用。對象對它能夠接受的每一個消息有一個相應(yīng)的方法解釋消息的內(nèi)容,并執(zhí)行消息指示的操作。一個對象可以同時向多個對象發(fā)送消息,也可以接受多個對象發(fā)送的消息。由于消息內(nèi)容由接受消息的對象解釋,同樣的消息可能被不同對象解釋為不同的含義。

  對象的劃分與界定

  實際上,對于對象的劃分與界定我們可以用一個概念――“對象封裝”來表示。從數(shù)據(jù)存儲的角度來看,所謂封裝就是把一個個對應(yīng)具體事物的數(shù)據(jù)集合明確地定義為一個個對象,并以對象作為數(shù)據(jù)庫存儲和訪問的基本單位。這里有兩點值得注意:第一,既然封裝的數(shù)據(jù)對象是對應(yīng)某一具體事物屬性、特征的數(shù)字描述,那么,由于客觀事物是運動的、動態(tài)變化的,對象封裝的數(shù)據(jù)也應(yīng)該體現(xiàn)這種動態(tài)性,所以在面向?qū)ο蠹夹g(shù)中,強調(diào)應(yīng)該把數(shù)據(jù)與訪問這些數(shù)據(jù)的有關(guān)程序一起封裝到對象之中。程序?qū)嶋H上就是對數(shù)據(jù)如何進行處理和可能進行哪些處理的一種描述,所以,程序也是一種信息類型,一種特殊的動態(tài)數(shù)據(jù)。程序在未執(zhí)行時,是以一種二進制數(shù)字代碼文件方式存儲或傳輸?shù),計算機網(wǎng)絡(luò)或通信網(wǎng)絡(luò)也把它當(dāng)成一種廣義的數(shù)據(jù)看待;程序在執(zhí)行時對有關(guān)數(shù)據(jù)進行處理、操作,體現(xiàn)了客觀事物屬性、特征的動態(tài)變化。所以,在面向?qū)ο髷?shù)據(jù)庫中,把數(shù)據(jù)與其相關(guān)的程序封裝在一起,能夠更準(zhǔn)確地體現(xiàn)客觀事物的動態(tài)特征,也體現(xiàn)系統(tǒng)的動態(tài)性和生命力。如果存儲的靜態(tài)數(shù)據(jù)永遠不去訪問和使用它,那么,所存儲的數(shù)據(jù)信息將失去其價值,也有人稱為信息“腐爛”了。第二,對象封裝的定義是一個邏輯的概念,封裝在一個對象中的數(shù)據(jù)或程序可以是實際上集中在一起的,也可以是分布的,甚至可以分布在網(wǎng)絡(luò)中的不同通信點上,重要的是封裝的對象要有一個清楚的界限和一個明確的對外聯(lián)系的接口。這樣,我們就可以把對象的內(nèi)部和對象的定義與實現(xiàn)分開,從而使內(nèi)部內(nèi)容受到保護,使數(shù)據(jù)信息內(nèi)容更為隱蔽。所以,對象封裝技術(shù),有時也稱為是一種信息隱蔽技術(shù)。

  對象在多媒體中的應(yīng)用

  既然對象在計算機網(wǎng)絡(luò)和通信網(wǎng)絡(luò)中是對某種事物屬性、特征的數(shù)字化的描述,而客觀事物屬性、特征又通常是以多媒體――多種信息類型綜合表現(xiàn)的,那么用對象作為存儲多媒體信息的基本單位,用面向?qū)ο蠓椒?gòu)造數(shù)據(jù)庫來解決多媒體信息的存儲、檢索和管理也就順理成章了。例如,一幅圖像、一首歌曲、一部包括伴音的電影以至一篇文章,都可以與它們對應(yīng)的訪問程序、操作方法封裝在一起,作為一個個對象存儲。關(guān)系型數(shù)據(jù)庫主要面向數(shù)值、字符等比較簡單的數(shù)據(jù)類型,而面向?qū)ο髷?shù)據(jù)庫則不限制存儲數(shù)據(jù)的類型,自然支持多媒體的任何結(jié)構(gòu)和類型的數(shù)據(jù),包括綜合的多媒體數(shù)據(jù)和允許用戶自行定義的任何類型數(shù)據(jù)。允許用戶自行定義數(shù)據(jù)類型進行存儲,被認(rèn)為是面向?qū)ο髷?shù)據(jù)庫方法的一個重要特點,也是面向?qū)ο髷?shù)據(jù)庫能夠支持多媒體信息存儲的一種體現(xiàn)。

  對象的繼承性與可重復(fù)利用性

  對象的繼承性與可重復(fù)利用性,是面向?qū)ο髷?shù)據(jù)庫技術(shù)的基礎(chǔ)。在現(xiàn)實世界中,事物是以其不同屬性和特征進行區(qū)分的,以其相同屬性而聯(lián)系的,這是系統(tǒng)劃分子系統(tǒng)形成系統(tǒng)層次結(jié)構(gòu)的基本概念與方法。它是面向?qū)ο髷?shù)據(jù)庫中形成對象數(shù)據(jù)模型和實現(xiàn)對數(shù)據(jù)存儲、訪問和管理的重要基礎(chǔ)。俗話說物以類聚,把許多具有一定共同屬性、特征的對象集合在一起,就可以形成一類對象或稱為一個對象類,例如,黃種人、黑種人、白種人都具有能夠思維、能夠使用工具等人類的共同屬性而形成人類,人類就是一個對象類,稱為人類對象;反過來,黃種人、黑種人、白種人又都是人類對象的一個個實例,稱為實例對象。這樣分類以后,在類對象中只定義這一類對象的共同屬性――人類的共性,而在實例對象中只定義各種人的不同個性――不同的膚色等。這體現(xiàn)了認(rèn)識客觀世界常用的兩種方法:綜合與分析方法。綜合方法從不同具體事物屬性、特征中歸納其共同特征,認(rèn)識事物之間的聯(lián)系和本質(zhì)特征;分析方法從相似事物屬性中分析其不同特征,認(rèn)識事物之間的差異,以更深刻地認(rèn)識具體事物。

  面向?qū)ο蠓椒ㄖ幸腩惖母拍詈,可以極大地減少數(shù)據(jù)存儲的重復(fù)和提高訪問效率,因為同一類數(shù)據(jù)中的相同數(shù)據(jù)和對這類數(shù)據(jù)的相同操作程序,都可以集中封裝在一個類對象中,為屬于這個類對象的所有實例對象所共享。共享的實現(xiàn)是與面向?qū)ο蠓椒ㄖ械睦^承概念相聯(lián)系的,因為實例對象自動繼承它所屬類對象的所有屬性和特征,當(dāng)訪問具體實例對象時,就可以根據(jù)其在對象類別當(dāng)中的位置,自動調(diào)用它屬于的類對象中的操作程序。這種對象屬性的繼承性,大大提高了共用程序和數(shù)據(jù)的可重用性。

  對象之間的“交流”

  對象之間的“交流”是對面向?qū)ο髷?shù)據(jù)庫訪問的基礎(chǔ)。如果我們把面向?qū)ο髷?shù)據(jù)庫看成是一個系統(tǒng),那么存儲于面向?qū)ο髷?shù)據(jù)庫中按照一定數(shù)據(jù)模型和結(jié)構(gòu)關(guān)系組織起來的數(shù)據(jù)對象,就是這個系統(tǒng)中的一個個子系統(tǒng)。數(shù)據(jù)對象的封裝和數(shù)據(jù)對象之間的聯(lián)系,要求為對象之間的通信交流設(shè)計一種規(guī)范的方法,我們稱之為消息傳遞,它既是對象之間信息傳遞的一種通信協(xié)議,又是每個封裝對象與外界聯(lián)系的途徑。封裝在對象內(nèi)部的程序及對有關(guān)數(shù)據(jù)的操作,只能由接收外部的消息來啟動和執(zhí)行。因此,敏感對象所能夠接收的消息,實際上是根據(jù)對象中可能的操作來決定的。每一類操作設(shè)計一類消息,我們稱之為消息模式,它規(guī)定了消息的基本格式。在給定的消息模式中設(shè)定一定參數(shù),就可以形成具體的消息,對應(yīng)對象中的各種具體操作。一個對象可以接受多種消息模式,對應(yīng)對象內(nèi)部的多種消息具體操作。

  對對象發(fā)送消息的消息源,可能是訪問和使用面向?qū)ο髷?shù)據(jù)庫而設(shè)計的應(yīng)用程序或用戶,也可能是數(shù)據(jù)庫內(nèi)部的另一個對象。應(yīng)用程序通過規(guī)定格式的消息訪問數(shù)據(jù)庫,是面向?qū)ο髷?shù)據(jù)庫系統(tǒng)與外界聯(lián)系的途徑。數(shù)據(jù)對象接收到應(yīng)用程序發(fā)送來的消息,執(zhí)行消息規(guī)定的有關(guān)操作。在執(zhí)行中可能需要根據(jù)與其他對象的繼承關(guān)系,調(diào)用其他對象的共享數(shù)據(jù),于是它也以發(fā)送消息的方式通知其他對象,所以用戶的每次數(shù)據(jù)庫訪問,可能是在數(shù)據(jù)庫中多個對象協(xié)同活動而完成的。面向?qū)ο髷?shù)據(jù)庫的各個子系統(tǒng),正是利用這種通過消息傳遞方式的聯(lián)系方式,既保證了對象內(nèi)部操作的隱蔽性,又體現(xiàn)了數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)整體性和對象之間的相關(guān)性。

[上一頁] [下一頁]