剖析數(shù)據(jù)庫特性:滯后聯(lián)編和對象嵌套

字號:

面向對象數(shù)據(jù)庫系統(tǒng)支持面向對象數(shù)據(jù)模型,簡稱OO模型。也就是說,一個面向對象數(shù)據(jù)庫系統(tǒng)是一個持久的、可共享的對象庫的存儲和管理者;而一個對象庫是由一個OO模型所定義的對象的集合體。
    面向對象數(shù)據(jù)庫系統(tǒng)目前尚缺少關于OO模型的統(tǒng)一的規(guī)范說明,OO模型缺少一個統(tǒng)一的嚴格的定義,但是有關OO模型的許多和新概念已取得了共識。
    1 OO模型
    一個OO模型是用面向對象觀點來描述現(xiàn)實世界實體的邏輯組織、對象間限制、聯(lián)系等的模型。一系列面向對象核心概念構成了OO模型的基礎。
    OO模型的核心概念主要有:
    (1) 對象和對象標識:現(xiàn)實世界的任一實體都被統(tǒng)一地模型化為一個對象,每個對象有一個惟一的標識,稱為對象標識(OID)。OID與關系數(shù)據(jù)庫中碼的概念,以及部分系統(tǒng)中支持的記錄標識、元組標識有本質的區(qū)別。OID識獨立于值、系統(tǒng)全局惟一的。對象通常與實際的表識始終保持不變。如一個對象的部分屬性、方法可能會發(fā)生變化,但對象標是不會改變。OID是區(qū)分兩個不同的對象的標準。常用OID有以下幾種:
    值標識:用值來表示標識。如關系數(shù)據(jù)庫忠實永遠組的碼值區(qū)分元組。
    名標識:用一個名字來標識。如在一個作用域內(nèi)程序變量一般使用的就是名標識。
    內(nèi)標識:是建立在數(shù)據(jù)模型或程序設計與嚴重的不要求用戶給出的標示。例如,面向對象數(shù)據(jù)庫系統(tǒng)使用的就是內(nèi)標識。
    (2)封裝:每一個對象是其狀態(tài)與行為的封裝,其中狀態(tài)是該對象一系列屬性值的集合,行為是在對象狀態(tài)上操作的集合,操作也稱為方法。封裝是OO模型的一個關鍵概念,封裝是對象的外部界面與內(nèi)部實現(xiàn)之間實行隔離的抽象,外部與對象的通信是通過“消息”實現(xiàn)的。
    封裝將對象的實現(xiàn)與對象應用相互隔離,允許對操作的實現(xiàn)算法和數(shù)據(jù)結構進行修改而不應相應用接口;不必修改使用它們的應用,這有利于提高數(shù)據(jù)獨立性。封裝還隱藏了數(shù)據(jù)結構與程序代碼等細節(jié),增強了應用程序的可讀性。
    查詢或使用對象屬性值必須通過調(diào)用方法,如在VB中,要將一個文本框的文本內(nèi)容存儲到一個字符串變量中,可以使用下面的語句:
    myStr=txtTextBox1.text
    其中,“.”被稱為訪問符,通過它可以訪問文本框對象txtTextBox1的 text屬性。