物件導向資料庫

2021-08-22 06:34:30 字數 1778 閱讀 3117

物件導向資料庫系統(object oriented data base system,簡稱oodbs)是資料庫技術與物件導向程式設計方法相結合的產物。

對於oo資料模型和物件導向資料庫系統的研究主要體現在:研究以關聯式資料庫和sql為基礎的擴充套件關係模型;以物件導向的程式語言為基礎,研究持久的程式語言,支援oo模型;建立新的物件導向資料庫系統,支援oo資料模型。

物件導向程式設計方法是一種支援模組化設計和軟體重用的實際可行的程式設計方法。它把程式設計的主要活動集中在建立物件和物件之間的聯絡(或通訊)上,從而完成所需要的計算。乙個物件導向的程式就是相互聯絡(或通訊)的物件集合。物件導向程式設計的基本思想是封裝和可擴充套件性。

物件導向資料庫系統支援物件導向資料模型(以下簡稱oo模型)。即物件導向資料庫系統是乙個持久的、可共享的物件庫的儲存和管理者;而乙個物件庫是由乙個oo模型所定義的物件的集合體。

乙個oo模型是用物件導向觀點來描述現實世界實體(物件)的邏輯組織、物件間限制、聯絡等的模型。一系列物件導向核心概念構成了oo模型的基礎。概括起來,oo模型的核心概念有如下一些:

(1)物件(object)與物件標識oid(object identifier)

現實世界的任一實體都被統一地模型化為乙個物件,每個物件有乙個唯一的標識,稱為物件標識(oid)。

(2)封裝(encapsulation)

每乙個物件是其狀態與行為的封裝,其中狀態是該物件一系列屬性(attribute)值的集合,而行為是在物件狀態上操作的集合,操作也稱為方法(method)。

(3)類(c1ass)

共享同樣屬性和方法集的所有物件構成了乙個物件類(簡稱類),乙個物件是某一類的乙個例項(instance)。

(4)類層次(結構)

在乙個物件導向資料庫模式中,可以定義乙個類(如c1)的子類(如c2),類cl稱為類c2的超類(或父類)。子類(如c2)還可以再定義子類(如c3)。這樣,物件導向資料庫模式的一組類形成乙個有限的層次結構,稱為類層次。

(5)訊息(message)

由於物件是封裝的,物件與外部的通訊一般只能通過顯式的訊息傳遞,即訊息從外部傳送給物件,訪問和呼叫物件中的屬性和方法,在內部執行所要求的操作,操作的結果仍以訊息的形式返回。

oodb語言用於描述物件導向資料庫模式,說明並操縱類定義與物件例項。oodb語言主要包括物件定義語言(odl)和物件操縱語言(oml),物件操縱語言中乙個重要子集是物件查詢語言(oql)。oodb語言一般應具備下述功能:

(1)類的定義與操縱

物件導向資料庫語言可以操縱類,包括定義、生成、訪問、修改與撤銷類。其中類的定義包括定義類的屬性、操作特徵、繼承性與約束等。

(2)操作/方法的定義

物件導向資料庫語言可用於物件操作/方法的定義與實現。在操作實現中,語言的命令可用於操作物件的區域性資料結構。物件模型中的封裝性允許操作/方法由不同程式語言來實現,並且隱藏不同程式語言實現的事實。

(3)物件的操縱

物件導向資料庫語言可以用於操縱(即生成、訪問。修改與刪除)例項物件。

目前,還沒有像sql那樣的關於物件導向資料庫語言的標準,因此不同的oodbms其具體的資料庫語言各不相同。

物件-關係資料庫系統就是將關係資料庫系統與物件導向資料庫系統兩方面的特徵相結合。 物件-關係資料庫系統除了具有原來關聯式資料庫的各種特點外,還應該提供以下特點:

(1)擴充資料型別,例如可以定義陣列、向量、矩陣、集合等資料型別以及這些資料型別上的操作。

(2)支援複雜物件,即由多種基本資料型別或使用者自定義的資料型別構成的物件。

(3)支援繼承的概念

(4)提供通用的規則系統,大大增強物件-關聯式資料庫的功能,使之具有主動資料庫和知識庫的特性。

物件導向資料庫

定義封裝的類 公共的資料庫類 class mysql function get n 建構函式賦值 function construct host,name,pass,db,cs 得到鏈結 function getconn function myupdate sql else return res f...

物件導向資料庫的發展

資料庫技術在商業領域的巨大成功,導致資料庫應用領域迅速擴充套件。20世紀80年代以來,出現了大量的新一代資料庫應用。設計目標源於商業事務處理的層次 網狀和關係資料庫系統,面對層出不窮的新一代資料庫應用顯得力不從心。人們一直在研究支援新一代資料庫應用的技術和方法,試圖研製和開發新一代資料庫管理系統。物...

物件導向,面向函式,面向資料庫的相親演算法

物件導向 有 家裡有樓 家裡有車 的介面,訪問了返回來都是true,但天知道演算法裡頭是不是直接一行return true就完了。但是你又沒法訪問 開車兜風 的介面,因為你還只是在 相親物件 的繼承樹分支上,而開車兜風那個介面要到 老婆當家 分支上才會實現呢,什麼,你願意試試?那好我們看起來還算合拍...