uml設(shè)計(jì)數(shù)據(jù)庫(kù)步驟ppt課件.ppt_第1頁(yè)
uml設(shè)計(jì)數(shù)據(jù)庫(kù)步驟ppt課件.ppt_第2頁(yè)
uml設(shè)計(jì)數(shù)據(jù)庫(kù)步驟ppt課件.ppt_第3頁(yè)
uml設(shè)計(jì)數(shù)據(jù)庫(kù)步驟ppt課件.ppt_第4頁(yè)
uml設(shè)計(jì)數(shù)據(jù)庫(kù)步驟ppt課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、UML進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟,步驟1:基于UML中的類圖生成數(shù)據(jù)庫(kù),對(duì)象標(biāo)識(shí)映射為主鍵,屬性類型映射為域,類模式是UML建模技術(shù)的核心,數(shù)據(jù)庫(kù)的邏輯視圖由UML類圖衍生。 類圖是面向?qū)ο笙到y(tǒng)的建模中最常見(jiàn)的圖之一。類圖顯示了一組類、接口、協(xié)作以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)靜態(tài)設(shè)計(jì)視圖建模 。其中,類是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心,表示被建模的應(yīng)用領(lǐng)域中的離散概念,是具有相同結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象的描述符號(hào)。,步驟1.1:對(duì)象標(biāo)識(shí)映射為主鍵,設(shè)計(jì)數(shù)據(jù)庫(kù)模型,合理選擇主鍵是一個(gè)關(guān)鍵的問(wèn)題。一般定義主鍵可以有兩種方法: (1)為每個(gè)類增加一個(gè)對(duì)象標(biāo)識(shí)符(OID)屬性,將其映射為數(shù)據(jù)庫(kù)中相應(yīng)類表的

2、主鍵。,其中(primary key)表示主鍵。對(duì)象標(biāo)志符作為單獨(dú)屬性,所占空間較小而且大小相同,簡(jiǎn)化了主鍵選擇方案,使得數(shù)據(jù)庫(kù)更新時(shí)不會(huì)產(chǎn)生完整性問(wèn)題,同時(shí)方便了數(shù)據(jù)庫(kù)操作。,(2)根據(jù)客觀事實(shí),將某個(gè)屬性或?qū)傩缘慕M合作為主鍵。該主鍵具有實(shí)際意義,容易進(jìn)行維護(hù); 缺點(diǎn)在于涉及到外鍵,一旦其他類發(fā)生變化,更改比較困難。,步驟1.2:屬性類型映射為域,屬性類型對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的域,域的使用可使數(shù)據(jù)庫(kù)設(shè)計(jì)更具一致性,優(yōu)化了數(shù)據(jù)庫(kù)應(yīng)用的移植性。一般來(lái)說(shuō),實(shí)現(xiàn)簡(jiǎn)單域比較方便,只須定義相應(yīng)的數(shù)據(jù)類型和空間大小 類的屬性描述了其所有對(duì)象共有的特性。屬性的類型可以是基本數(shù)據(jù)類型,如整數(shù)、實(shí)數(shù)、布爾型等,也可以

3、是用戶自定義類型。,總結(jié):類映射為表,通常,一個(gè)類映射為一張類表,類的屬性映射為表的各列,類的對(duì)象則映射為表中的各個(gè)記錄。值得注意的是存在以下兩種特殊情況: (1)類的屬性中某些屬性只是暫時(shí)性使用,不需要在數(shù)據(jù)庫(kù)中永久保存,則該類屬性無(wú)須映射。 (2)類的屬性如果是多值,則該屬性映射為多個(gè)列。另外,由于附加對(duì)象標(biāo)志符OID或附加關(guān)聯(lián)關(guān)系等原因,需要在表中增加一些新的列。,步驟2:類關(guān)系的映射,關(guān)聯(lián)關(guān)系映射,泛化關(guān)系映射,聚集關(guān)系映射,組合關(guān)系映射,類圖由一系列類、接口和它們之間的關(guān)系(依賴、泛化、關(guān)聯(lián)和實(shí)現(xiàn)等)所組成。 在將UML模型向關(guān)系數(shù)據(jù)庫(kù)轉(zhuǎn)換時(shí),不僅需要轉(zhuǎn)換模型中的類,還需要轉(zhuǎn)換類與類

4、之間的關(guān)系,例如,關(guān)聯(lián)關(guān)系、泛化關(guān)系等。聚合關(guān)系和組合關(guān)系是特殊的關(guān)聯(lián)。 在設(shè)計(jì)數(shù)據(jù)庫(kù)之前,對(duì)UML類圖進(jìn)行簡(jiǎn)化,去除一些冗余的關(guān)系。,步驟2.1:關(guān)聯(lián)關(guān)系映射,UML中的關(guān)聯(lián)關(guān)系描述了系統(tǒng)中對(duì)象或?qū)嵗g的離散連接,是一種結(jié)構(gòu)關(guān)系,規(guī)定了一種事物的對(duì)象可以與另一事物的對(duì)象相關(guān)聯(lián)。當(dāng)類參與關(guān)聯(lián)時(shí),類在關(guān)聯(lián)關(guān)系中扮演一個(gè)特定的角色,(1)一對(duì)一關(guān)聯(lián):,表示A的一個(gè)對(duì)象與B的一個(gè)對(duì)象關(guān)聯(lián)。在這種情況下,可在兩個(gè)類中任意選擇一方,在其所對(duì)應(yīng)的類表中添加一個(gè)外鍵(foreign key),指向另一方所對(duì)應(yīng)類表中的主鍵,從而實(shí)現(xiàn)兩張類表之間的連接,將關(guān)聯(lián)關(guān)系成功映射到數(shù)據(jù)庫(kù)中。 需要注意的是,不要在兩個(gè)

5、表中均放置對(duì)方的主鍵,這樣會(huì)造成冗余。,(2) 零或一對(duì)一關(guān)聯(lián):,這表明B的一個(gè)對(duì)象可與0個(gè)或1個(gè)A對(duì)象發(fā)生關(guān)聯(lián),一般在A類(即對(duì)象個(gè)數(shù)為零或一的那一方)所對(duì)應(yīng)的表中添加一個(gè)外鍵,指向另一方B類所對(duì)應(yīng)的類表中的主鍵,建立兩表之間的連接。,(3) 一對(duì)多關(guān)聯(lián):,表示A的一個(gè)對(duì)象與B的多個(gè)對(duì)象關(guān)聯(lián),這種關(guān)聯(lián)關(guān)系可以通過(guò)在B類(即具有多個(gè)對(duì)象的類)所對(duì)應(yīng)的類表中增加一個(gè)外鍵,指向另一方A類的主鍵,從而建立兩個(gè)表之間的關(guān)聯(lián)。,3、UML中類關(guān)系的映射策略,(4) 多對(duì)多關(guān)聯(lián):,實(shí)現(xiàn)多對(duì)多關(guān)聯(lián),通常需要建立一個(gè)關(guān)聯(lián)表,映射關(guān)聯(lián)對(duì)象,從而將多對(duì)多關(guān)聯(lián)轉(zhuǎn)化為兩個(gè)一對(duì)多關(guān)聯(lián)。實(shí)現(xiàn)時(shí),在新建的關(guān)聯(lián)表中設(shè)置一個(gè)對(duì)

6、象標(biāo)志符OID,同時(shí)增加兩個(gè)外鍵,分別指向初始關(guān)聯(lián)的兩個(gè)類對(duì)應(yīng)表的主鍵。,步驟2.2: 泛化關(guān)系映射,泛化關(guān)系是一種存在于一般元素和特殊元素之間的分類關(guān)系,它只使用在類型上,而不是實(shí)例上。在類中,一般元素被稱為超類或父類,而特殊元素被稱為子類。 從實(shí)現(xiàn)的角度來(lái)看,UML的泛化體現(xiàn)了分類與繼承原則,與面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的繼承性概念相關(guān)。一個(gè)子類繼承超類的全部屬性和方法,一個(gè)子類本身又可以有自己的子類,從而構(gòu)成復(fù)雜的一般特殊結(jié)構(gòu)。 在關(guān)系數(shù)據(jù)庫(kù)模型中沒(méi)有直接的方法實(shí)現(xiàn)泛化,可以通過(guò)3種方法實(shí)現(xiàn)其映射。,(1)類層次映射為單個(gè)表 通過(guò)這種方法,將泛化關(guān)系中所有類都映射在單個(gè)表中,所有類的屬性都保

7、存在該表中;同時(shí)在表中增加一個(gè)對(duì)象標(biāo)志符OID,以及一個(gè)對(duì)象類型,用以標(biāo)識(shí)角色類型 (2) 每個(gè)子類映射為單張表 將超類屬性分別復(fù)制到各個(gè)子類中,這樣每個(gè)子類既包含自身屬性,又包含超類屬性,同時(shí)在各個(gè)子類中增設(shè)各自的對(duì)象標(biāo)志符OID,從而實(shí)現(xiàn)映射。在這個(gè)過(guò)程中,超類不需要參與映射。 (3) 每個(gè)類映射為單張表 為每個(gè)類都建一張表,但每張表中的對(duì)象標(biāo)志符OID都設(shè)為超類的類表中的OID。在子類的類表中,OID既是主鍵又是外鍵,各自屬性不變。,步驟2.3: 聚集關(guān)系映射,聚集是一種特別類型的關(guān)聯(lián),用于描述“總體到局部”的關(guān)系。在基本的聚集關(guān)系中, 部分類的生命周期獨(dú)立于整體類的生命周期。屬于“has a”關(guān)系較弱的情況。,將這種關(guān)系映射到關(guān)系數(shù)據(jù)庫(kù)中,可分為兩種情況:一種是聚集關(guān)系較為緊密的情況下,可將其映射在一張表中; 另一種是聚集關(guān)系較為松散的情況下,可以用一對(duì)多關(guān)聯(lián)的映射方法實(shí)現(xiàn),須在子類的類表中增設(shè)一個(gè)外鍵指向超類的類表的主鍵。,組成指聚合關(guān)系的另一種形式,但是子類實(shí)例的生

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論