對象模型的關(guān)系投影研究論文

對象模型的關(guān)系投影研究論文

ID:25196131

大?。?2.00 KB

頁數(shù):5頁

時(shí)間:2018-11-18

對象模型的關(guān)系投影研究論文_第1頁
對象模型的關(guān)系投影研究論文_第2頁
對象模型的關(guān)系投影研究論文_第3頁
對象模型的關(guān)系投影研究論文_第4頁
對象模型的關(guān)系投影研究論文_第5頁
資源描述:

《對象模型的關(guān)系投影研究論文》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、對象模型的關(guān)系投影研究論文摘要本文在分析對象模型與關(guān)系模型區(qū)別的基礎(chǔ)上,介紹了將對象模型投影成關(guān)系模型的投影原理,并結(jié)合實(shí)例詳細(xì)論述了對象之間不同引用關(guān)系的不同投影方法以及繼承實(shí)體的三種不同投影方法。關(guān)鍵詞面向?qū)ο髷?shù)據(jù)模型關(guān)系模型投影0引言隨著我國軟件開發(fā)水平的提高,越來越多的軟件開發(fā)自覺地遵循軟件工程開發(fā)方法。在數(shù)據(jù)庫應(yīng)用的開發(fā)中采用了很多軟件建模或數(shù)據(jù)建模工具,如RationalRose、Poent.master.name這種簡潔的方式直接獲得,但在關(guān)系模型中則要通過一組復(fù)雜的表之間的關(guān)聯(lián)查詢(利用外部鍵

2、)才能得到。對象模型向關(guān)系模型的投影有三個(gè)關(guān)鍵要素:(1)對象模型的描述規(guī)范(2)關(guān)系模型的描述規(guī)范(3)對象模型向關(guān)系模型投影的規(guī)則我們在此不從語法上來定義對象模型,只給出對象模型的主要概念。在我們的對象模型中將應(yīng)用以下幾個(gè)概念:(1)實(shí)體、(2)屬性、(3)主標(biāo)識、(4)對象引用、(5)實(shí)例、(6)繼承、(7)方法、(8)對象標(biāo)識、(9)聚集、(10)類型定義、(11)唯一性規(guī)則、(12)ent)里有多個(gè)人(學(xué)生或老師),兩個(gè)實(shí)體間用實(shí)線連接表示引用關(guān)系,實(shí)心圓圈表示多的一端。一個(gè)系可以開設(shè)多門課(Cou

3、rse),一門課是依賴于系的,這就是說只知道課程名還不能確定這門課,還需要知道是哪個(gè)系開設(shè)的這門課。同樣是計(jì)算方法課,數(shù)學(xué)系開設(shè)的和計(jì)算機(jī)系開設(shè)的在難度上和內(nèi)容上會有很大區(qū)別。用箭頭表示依賴。一門課有多個(gè)學(xué)生選修,一個(gè)學(xué)生可以選修多門課程。實(shí)體間不同的關(guān)系進(jìn)行投影方法是不同的。(1)獨(dú)立的引用關(guān)系進(jìn)行投影,需要在“多”的一邊要產(chǎn)生一個(gè)外部鍵。如果實(shí)體Person投影對應(yīng)的表是T_Person,則表T_Person中要自動增加一個(gè)屬性DptName,作為外部鍵,對應(yīng)實(shí)體Department投影成的表T_Depa

4、rtment的主鍵DptName。如果在繼承關(guān)系中Person要分解到多個(gè)子類表中,則這些子類表中都要生成這個(gè)對實(shí)體Department引用的外部鍵(2)依賴的引用關(guān)系進(jìn)行投影,不僅需要在“多”的一邊產(chǎn)生一個(gè)外部鍵,而且還要把該外部鍵做為輔助鍵。例如實(shí)體Course投影成表T_Course時(shí),不僅要生產(chǎn)一個(gè)外部鍵DptName,而且它的輔助鍵由兩個(gè)列組成:DptName和CourseName。注意,根據(jù)第2節(jié)對象標(biāo)識的投影規(guī)則,表T_Course的主鍵是對象標(biāo)識列。(3)實(shí)體之間多對多的關(guān)系進(jìn)行投影,需要新建

5、一個(gè)“交叉表”,該表專門記錄實(shí)體間多對多的這種聯(lián)系,原來的兩個(gè)實(shí)體表與新建的交叉表之間的關(guān)系是一對多的關(guān)系,這實(shí)際上把多對多關(guān)系變成兩個(gè)一對多關(guān)系。實(shí)體Cource和Student之間的多對多關(guān)系投影成表T_Course_Student,它有兩個(gè)列一個(gè)是Course_ID,..畢業(yè)一個(gè)是Student_ID,都是外部鍵,分別用來對表T_Course或T_Student進(jìn)行引用。4繼承關(guān)系的投影繼承關(guān)系的投影是模型投影中的關(guān)鍵問題,對該問題的不同解決方案會影響到整個(gè)模型投影的設(shè)計(jì)。一般來講,在關(guān)系數(shù)據(jù)庫中實(shí)現(xiàn)繼

6、承的方法可劃分為三類:(1)合并法。合并法就是將整個(gè)類層次映射為單個(gè)關(guān)系表,表中保存所有類(基類、子類)的屬性。圖2中實(shí)體Person、Student、Teacher映射成一個(gè)表T_Person。如圖3所示,表中增加了一個(gè)屬性PersonID,由于對象標(biāo)識的格式是實(shí)體名+唯一序列值,通過它的前綴可以區(qū)分用一個(gè)實(shí)例屬于哪一個(gè)實(shí)體。合并法實(shí)現(xiàn)繼承關(guān)系投影的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,操作方便,缺點(diǎn)是會產(chǎn)生大量的數(shù)據(jù)冗余。(2)分解法分解法就是將每個(gè)具體子類映射成單個(gè)關(guān)系表,超類的屬性將復(fù)制到各子類中。子類對應(yīng)的關(guān)系表包括自身

7、的屬性和繼承的屬性,每個(gè)具體的子類包含各自的對象標(biāo)識。抽象的基類不參與映射。其中,Person由于是抽象類,未映射成數(shù)據(jù)庫表;而Student、Teacher映射為相應(yīng)的表,它們具有各自的主鍵。如圖4所示。分解法的表中包含了具體子類的所有信息,操作實(shí)現(xiàn)簡單,但超類的修改會導(dǎo)致相對應(yīng)的表及其子類所對應(yīng)表的更改,這會增加保持?jǐn)?shù)據(jù)的完整性的復(fù)雜性。(3)單表法單表法為每一個(gè)類創(chuàng)建數(shù)據(jù)庫表,表中包含特定于該類的屬性和對象標(biāo)識。圖5所示,注意personID作為所有表的主鍵,它們之間是is-a的關(guān)系。單表法與面向?qū)ο蟮?/p>

8、概念具有一致性,支持多態(tài),易于修改基類和增加新的類。但數(shù)據(jù)庫中存在大量的關(guān)系表,加上表之間的關(guān)聯(lián)較多,會降低數(shù)據(jù)訪問效率。以上三種方法各有優(yōu)缺點(diǎn),沒有一種是絕對完美的。因此,數(shù)據(jù)庫設(shè)計(jì)人員要根據(jù)模型的具體情況選擇繼承的投影方法。5結(jié)束語本文介紹的對象模型的關(guān)系投影原理已經(jīng)用于多個(gè)項(xiàng)目的對象數(shù)據(jù)平臺的開發(fā)上,簡潔實(shí)用。由于對象模型到目前為止還沒有統(tǒng)一的標(biāo)準(zhǔn),因此對象模型向關(guān)系模型的投影規(guī)則要根據(jù)實(shí)際模

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。