国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 面向對象數(shù)據(jù)庫語言(數(shù)據(jù)庫)

面向對象數(shù)據(jù)庫語言(數(shù)據(jù)庫)

時間:2022-11-02 18:30:01 | 來源:信息時代

時間:2022-11-02 18:30:01 來源:信息時代

    面向對象數(shù)據(jù)庫語言 : 用于描述面向對象數(shù)據(jù)庫模式,說明并操作類定義與對象實例的數(shù)據(jù)庫語言。面向對象數(shù)據(jù)庫語言主要包括對象定義語言ODL和對象操縱語言OML。對象操縱語言中,一個重要子集是對象查詢語言OQL。面向對象數(shù)據(jù)庫語言應具備下列功能:
(1)類的定義: 面向對象數(shù)據(jù)庫語言可用于類的定義、修改與刪除,其中類的定義包括屬性、操作、繼承與約束等。
(2)方法的實現(xiàn): 面向對象數(shù)據(jù)庫語言可用于操作方法的實現(xiàn)。在方法的實現(xiàn)中,語言的命令可用于操作對象的內部數(shù)據(jù)結構。對象模型中的封裝性允許操作方法由不同程序設計語言來實現(xiàn),并且對外透明。
(3)對象的操作: 面向對象數(shù)據(jù)庫語言可用于對象的生成、修改、刪除和查詢。
ODMG于1997年制定了面向對象數(shù)據(jù)庫語言標準,包括對象描述語言(object specification language,OSL)和對象查詢語言(object query language,OQL)。它們是以面向對象程序設計語言(object oriented programming language,OOPL)為基礎并實現(xiàn)持久性擴充而形成的面向對象數(shù)據(jù)庫語言,既在形式上類似SQL又具有面向對象的特征與風格,其最大特色是與OOPL一起構成一個面向對象統(tǒng)一開發(fā)環(huán)境,同時將對象分成臨時性對象與持久性對象兩種,由OOPL處理臨時性對象,OQL處理持久性對象。這兩種語言的區(qū)別在于OOPL是過程性語言,OQL是非過程的說明性語言。
1.對象描述語言
對象描述語言(OSL)包括對象定義語言(ODL)和對象交互格式(OIF)。
對象定義語言(ODL)是一種面向對象的建模語言,在該語言中基本元素是對象,基本數(shù)據(jù)單位是類型。類型由屬性和方法組成,類型間通過聯(lián)系與繼承建立關聯(lián)。類型中屬性可以是基本類型,也可以是復合類型,在類型中可以定義方法。例如,可以用ODL定義以下類的模式。
class Person {/*定義Person類*/
attribute string name; /*定義屬性“姓名”*/
attribute integer age; /*定義屬性“年齡”*/
};
class Postgraduate extends Person{
/*定義Postgraduate類為Person類的子類*/
attribute integer number;/*定義屬性“學號”*/
attribute string major; /*定義屬性“專業(yè)”*/
relationship Supervisor taughtBy inverse Supervisor::teaches;
/*定義Postgraduate和Supervisor之間的聯(lián)系,每個研究生對應一位導師*/
Integer numCourse();/*定義得到研究生選課門數(shù)的方法*/
};
class Supervisor extends Person{
attribute string researchField; /*定義屬性“研究領域”*/
attribute integer level;/*定義屬性“級別”*/
relationship set <Postgraduate> teaches inverse Postgraduate:: taughtBy;/*定義Supervisor和Postgraduate之間的聯(lián)系,每個導師對應多個研究生*/
integer numTeach();/*定義統(tǒng)計導師授課門數(shù)的方法*/
};
對象交互格式(OIF)也是一種描述語言,它主要是利用ODL創(chuàng)建的對象類型,快速地創(chuàng)建對象實例,同時OIF還包括對于實例的初值的賦予,例如Sally Person {name“Sally”,age 11},這里創(chuàng)建了一個擁有兩個屬性(字符串類型的姓名,整數(shù)類型的年齡)Person類的Sally實例并賦予了姓名初始值“Sally”,年齡初始值11。OIF的作用在于它是實現(xiàn)多個數(shù)據(jù)庫間共享對象類型定義及實例的重要途徑,即用戶可以通過文件形式將當前數(shù)據(jù)庫中定義的對象類型及實例不用修改就可直接重新導入到其他數(shù)據(jù)庫中使用。
2. 對象查詢語言
對象查詢語言是數(shù)據(jù)庫和用戶間的主要接口。ODMG的對象查詢語言OQL是和SQL標準組織共同協(xié)商定義的,所以它們的語法基本一致。對象查詢語言OQL以對象模型為基礎,實現(xiàn)對象的查詢操作。對象查詢語言OQL可以獨立使用,也可以嵌入到C++、Smalltalk等面向對象程序設計語言中使用。對象查詢語言具有SQL風格。OQL支持SQL中的五種聚集函數(shù)(AVG,MAX,MIN,SUN,COUNT),支持GROUP BY子句,支持全稱量詞FOR ALL和存在量詞EXISTS。值得注意的是,OQL沒有SQL中的UPDATE、INSERT等語句,這些操作功能主要通過ODMG語言綁定來實現(xiàn)。例如,以上面所定義的模式為基礎,可以使用對象查詢語言OQL,檢索帶了專業(yè)方向為計算機軟件的研究生的導師的姓名以及該導師所有研究生的姓名。檢索結果可用帶有復合類型變量進行表示。
Select struct(set(S.name,Set(P.name)))
From Supervisor S,S.teaches P
Where P.major=‘computer software’
3.對象語言綁定
對象語言綁定是為了實現(xiàn)ODMG缺乏的OML。這個思想在SQL中就已經(jīng)有了,但在ODMG中綁定的重要性大大增強并不可缺少了。
由于ODMG在開始制定標準的時候就已經(jīng)把面向對象語言綁定作為標準實現(xiàn)的一個關鍵技術,所以在前面的對象模型和ODL中已經(jīng)與對象的定義和C++等面向對象程序設計語言盡量保持形式上的一致。所以在用這些語言來編寫實際的ODMG標準數(shù)據(jù)庫應用時,與編寫普通應用程序沒有什么大的差別。具有一定編程基礎的用戶編寫應用程序時是十分方便快捷的。ODMG3.0 目前支持C++、SmallTalk和Java三種面向對象程序設計語言的綁定。

74
73
25
news

版權所有? 億企邦 1997-2022 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉