正確認(rèn)識對象數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫之間的區(qū)別
對象數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫都是大家非常的熟悉的數(shù)據(jù)庫,究竟二者之間有什么區(qū)別,下文中就就為大家解答,希望對大家能夠有所幫助。
面向?qū)ο髷?shù)據(jù)庫系統(tǒng)
面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(Object Oriented Data Base System,簡稱OODBS)是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O(shè)計方法相結(jié)合的產(chǎn)物。
對于OO數(shù)據(jù)模型和面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的研究主要體現(xiàn)在:研究以關(guān)系數(shù)據(jù)庫和SQL為基礎(chǔ)的擴展關(guān)系模型;以面向?qū)ο蟮某绦蛟O(shè)計語言為基礎(chǔ),研究持久的程序設(shè)計語言,支持OO模型;建立新的面向?qū)ο髷?shù)據(jù)庫系統(tǒng),支持OO數(shù)據(jù)模型。
面向?qū)ο蟪绦蛟O(shè)計方法是一種支持模塊化設(shè)計和軟件重用的實際可行的編程方法。它把程序設(shè)計的主要活動集中在建立對象和對象之間的聯(lián)系(或通信)上,從而完成所需要的計算。一個面向?qū)ο蟮某绦蚓褪窍嗷ヂ?lián)系(或通信)的對象集合。面向?qū)ο蟪绦蛟O(shè)計的基本思想是封裝和可擴展性。
面向?qū)ο髷?shù)據(jù)庫系統(tǒng)支持面向?qū)ο髷?shù)據(jù)模型(以下簡稱OO模型)。即面向?qū)ο髷?shù)據(jù)庫系統(tǒng)是一個持久的、可共享的對象庫的存儲和管理者;而一個對象庫是由一個OO模型所定義的對象的集合體。
一個OO模型是用面向?qū)ο笥^點來描述現(xiàn)實世界實體(對象)的邏輯組織、對象間限制、聯(lián)系等的模型。一系列面向?qū)ο蠛诵母拍顦?gòu)成了OO模型的基礎(chǔ)。概括起來,OO模型的核心概念有如下一些:
(1)對象(Object)與對象標(biāo)識OID(Object IDentifier)
現(xiàn)實世界的任一實體都被統(tǒng)一地模型化為一個對象,每個對象有一個唯一的標(biāo)識,稱為對象標(biāo)識(OID)。
(2)封裝(Encapsulation)
每一個對象是其狀態(tài)與行為的封裝,其中狀態(tài)是該對象一系列屬性(Attribute)值的集合,而行為是在對象狀態(tài)上操作的集合,操作也稱為方法(Method)。
(3)類(C1ass)
共享同樣屬性和方法集的所有對象構(gòu)成了一個對象類(簡稱類),一個對象是某一類的一個實例(instance)。
(4)類層次(結(jié)構(gòu))
在一個面向?qū)ο髷?shù)據(jù)庫模式中,可以定義一個類(如C1)的子類(如C2),類Cl稱為類C2的超類(或父類)。子類(如C2)還可以再定義子類(如C3)。這樣,面向?qū)ο髷?shù)據(jù)庫模式的一組類形成一個有限的層次結(jié)構(gòu),稱為類層次。
(5)消息(Message)
由于對象是封裝的,對象與外部的通信一般只能通過顯式的消息傳遞,即消息從外部傳送給對象,存取和調(diào)用對象中的屬性和方法,在內(nèi)部執(zhí)行所要求的操作,操作的結(jié)果仍以消息的形式返回。
OODB語言用于描述面向?qū)ο髷?shù)據(jù)庫模式,說明并操縱類定義與對象實例。OODB語言主要包括對象定義語言(ODL)和對象操縱語言(OML),對象操縱語言中一個重要子集是對象查詢語言(OQL)。OODB語言一般應(yīng)具備下述功能:
(1)類的定義與操縱
面向?qū)ο髷?shù)據(jù)庫語言可以操縱類,包括定義、生成、存取、修改與撤銷類。其中類的定義包括定義類的屬性、操作特征、繼承性與約束等。
(2)操作/方法的定義
面向?qū)ο髷?shù)據(jù)庫語言可用于對象操作/方法的定義與實現(xiàn)。在操作實現(xiàn)中,語言的命令可用于操作對象的局部數(shù)據(jù)結(jié)構(gòu)。對象模型中的封裝性允許操作/方法由不同程序設(shè)計語言來實現(xiàn),并且隱藏不同程序設(shè)計語言實現(xiàn)的事實。
(3)對象的操縱
面向?qū)ο髷?shù)據(jù)庫語言可以用于操縱(即生成、存取。修改與刪除)實例對象。
目前,還沒有像SQL那樣的關(guān)于面向?qū)ο髷?shù)據(jù)庫語言的標(biāo)準(zhǔn),因此不同的OODBMS其具體的數(shù)據(jù)庫語言各不相同。
通過上文的介紹講解,相信大家現(xiàn)在對對象數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫之間的區(qū)別已經(jīng)有所了解,在大家在二者之間進行選擇時,就可以參照上文中的內(nèi)容,希望能夠幫助到大家。
【編輯推薦】





















