時(shí)間:2022-11-02 02:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-02 02:30:01 來(lái)源:信息時(shí)代
面向?qū)ο髷?shù)據(jù)庫(kù)分析 : 應(yīng)用系統(tǒng)設(shè)計(jì)的基礎(chǔ)和前提,它的主要目的是采用面向?qū)ο蟮姆治龇椒?object oriented analysis,OOA),通過(guò)理解問(wèn)題空間所涉及到的對(duì)象以及對(duì)象間的聯(lián)系作用(即操作),建立相應(yīng)的面向?qū)ο髷?shù)據(jù)模型,并且力求該模型能真實(shí)地反映出所要解決的“實(shí)質(zhì)問(wèn)題”。
隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷拓展,計(jì)算機(jī)輔助設(shè)計(jì)/制造(CAD/CAM)、計(jì)算機(jī)輔助軟件工程(CASE)、圖像處理、地理信息系統(tǒng)(GIS)等新的領(lǐng)域?qū)映霾桓F,已具有廣泛的實(shí)際應(yīng)用背景。這些新型的應(yīng)用領(lǐng)域?qū)?shù)據(jù)管理、數(shù)據(jù)庫(kù)系統(tǒng)提出了全新的需求。而傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)由于數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,不能很好地支持新的數(shù)據(jù)類型和嵌套、遞歸的數(shù)據(jù)結(jié)構(gòu),因此很難滿足新型應(yīng)用的需要。正是在這種應(yīng)用需求的驅(qū)使下,面向?qū)ο髷?shù)據(jù)模型和面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)應(yīng)運(yùn)而生,它們是面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)與數(shù)據(jù)庫(kù)技術(shù)相互結(jié)合的產(chǎn)物。
顯然,面向?qū)ο髷?shù)據(jù)庫(kù)分析的最主要任務(wù)就是實(shí)現(xiàn)對(duì)象數(shù)據(jù)的建模,利用面向?qū)ο髷?shù)據(jù)模型來(lái)描述和表達(dá)客觀世界的種種事物??梢?jiàn),面向?qū)ο髷?shù)據(jù)模型是面向?qū)ο髷?shù)據(jù)庫(kù)應(yīng)用分析的主要工具,它包括對(duì)象和類兩個(gè)基本概念。
1.對(duì)象
在面向?qū)ο髷?shù)據(jù)模型中,將客觀世界中的實(shí)體抽象稱為對(duì)象。對(duì)象可以定義為對(duì)一組信息及其操作的描述。對(duì)象間的相互操作均是通過(guò)發(fā)送消息和執(zhí)行消息完成的,而消息是對(duì)象間的接口。嚴(yán)格地講,在面向?qū)ο竽P椭?實(shí)體的任何屬性都必須表示為相應(yīng)對(duì)象中的一個(gè)變量和一對(duì)消息。其中,變量用于保存屬性值,一個(gè)消息用來(lái)讀取該屬性值,另一個(gè)消息則用來(lái)更新該屬性值。
此外,每一個(gè)對(duì)象都有一個(gè)類型(類),具體的單個(gè)對(duì)象成為類的一個(gè)實(shí)例。對(duì)象的操作也稱為方法,對(duì)象都是封裝的,即對(duì)象的物理表示和內(nèi)部結(jié)構(gòu)對(duì)于對(duì)象外部的世界是不可見(jiàn)的,外部的其他對(duì)象只能通過(guò)對(duì)象的消息來(lái)進(jìn)行對(duì)象之間的交互。
2.類
具有相同特性的對(duì)象歸為一類,對(duì)象的歸并必須有意義,屬于同一類的對(duì)象其特性必須相同。類描述了對(duì)象的行為。類的外部視圖,或者說(shuō)公共視圖,描述了可能會(huì)發(fā)到實(shí)例的消息。每一個(gè)可能的消息定義為一個(gè)方法,用以響應(yīng)消息。類的內(nèi)部視圖,或者說(shuō)私有視圖,則描述了包含實(shí)例信息的屬性與私有方法。
數(shù)據(jù)庫(kù)中通常有很多相似的對(duì)象。“相似”是指它們響應(yīng)相同的消息,使用相同的方法,并有相同名稱和類型的變量。對(duì)每個(gè)這樣的對(duì)象單獨(dú)進(jìn)行定義是很浪費(fèi)的,因此可以將相似的對(duì)象分組形成了一個(gè)類。一個(gè)類中的所有對(duì)象共享一個(gè)公共的定義,盡管它們對(duì)變量所賦予的值不同。面向?qū)ο髷?shù)據(jù)模型中類的概念相當(dāng)于E-R模型中實(shí)體集的概念。
通常,類與類之間存在三種基本的聯(lián)系:
(1)繼承: 是面向?qū)ο蟮囊粋€(gè)基本特征,繼承性允許不同類的對(duì)象共享它們公共部分的結(jié)構(gòu)和特性。如果構(gòu)造一個(gè)新類來(lái)繼承另一個(gè)類,那么新類中不僅包含被繼承類的屬性和方法,還將有新的屬性和方法,邏輯上被繼承類稱為超類,新類稱為超類的子類,繼承性可以用超類和子類的層次聯(lián)系實(shí)現(xiàn)。一個(gè)子類可以繼承某一個(gè)超類的結(jié)構(gòu)和特性,稱為“單繼承性”;一個(gè)子類也可以繼承多個(gè)超類的結(jié)構(gòu)和特性,這稱為“多繼承性”。繼承性是數(shù)據(jù)間的泛化/細(xì)化聯(lián)系,是一種“is a”聯(lián)系。
(2)包含: 不同類的對(duì)象之間可能存在著包含關(guān)系。包含其他對(duì)象的對(duì)象稱為復(fù)合對(duì)象。包含關(guān)系可以有多層,形成類包含層次圖。包含是一種“是一部分”(is part of)聯(lián)系,因此包含與繼承是兩種不同的數(shù)據(jù)聯(lián)系。目前,一種結(jié)合關(guān)系數(shù)據(jù)庫(kù)和面向?qū)ο筇攸c(diǎn)的數(shù)據(jù)庫(kù)為那些希望使用具有面向?qū)ο筇卣鞯年P(guān)系數(shù)據(jù)庫(kù)用戶提供了一條捷徑。這種數(shù)據(jù)庫(kù)系統(tǒng)稱為“對(duì)象關(guān)系數(shù)據(jù)庫(kù)”,它是在傳統(tǒng)關(guān)系數(shù)據(jù)模型基礎(chǔ)上,提供元組、數(shù)組、集合一類豐富的數(shù)據(jù)類型以及處理新的數(shù)據(jù)類型操作能力,并且有繼承性和對(duì)象標(biāo)識(shí)等面向?qū)ο筇攸c(diǎn)。
(3)消息: 消息是根據(jù)應(yīng)用需要而定義的一種類與類之間的協(xié)作機(jī)制。
在上述三種類間的基本聯(lián)系中,由于繼承與包含具有特定的語(yǔ)義信息,而消息本身并不具有某種特定的語(yǔ)義含義,因此在面向數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)過(guò)程中,只需考慮類與類之間的繼承和包含關(guān)系,由它們構(gòu)成一個(gè)類層次結(jié)構(gòu)。類層次結(jié)構(gòu)體現(xiàn)了對(duì)象數(shù)據(jù)的全局結(jié)構(gòu)、操作及約束,如圖1所示。
圖1 類層次結(jié)構(gòu)示例圖
表1 關(guān)系模型與面向?qū)ο髷?shù)據(jù)模型的對(duì)應(yīng)關(guān)系
關(guān)系數(shù)據(jù)庫(kù) | 面向?qū)ο髷?shù)據(jù)庫(kù) |
表(元組) | 類(對(duì)象) |
主KEY | OID |
屬性 | 屬性 |
關(guān)系上的操作(增、刪、改、查詢) | 方法、消息 |
完整性約束 | 約束方法、消息 |
E-R模型 | 類層次(OO模型) |
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。