版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、UML進行數(shù)據(jù)庫設計的步驟,步驟1:基于UML中的類圖生成數(shù)據(jù)庫,對象標識映射為主鍵,屬性類型映射為域,類模式是UML建模技術的核心,數(shù)據(jù)庫的邏輯視圖由UML類圖衍生。 類圖是面向對象系統(tǒng)的建模中最常見的圖之一。類圖顯示了一組類、接口、協(xié)作以及它們之間的關系,主要用于對系統(tǒng)靜態(tài)設計視圖建模 。其中,類是面向對象系統(tǒng)組織結構的核心,表示被建模的應用領域中的離散概念,是具有相同結構、行為和關系的一組對象的描述符號。,步驟1.1:對象標識映射為主鍵,設計數(shù)據(jù)庫模型,合理選擇主鍵是一個關鍵的問題。一般定義主鍵可以有兩種方法: (1)為每個類增加一個對象標識符(OID)屬性,將其映射為數(shù)據(jù)庫中相應類表的
2、主鍵。,其中(primary key)表示主鍵。對象標志符作為單獨屬性,所占空間較小而且大小相同,簡化了主鍵選擇方案,使得數(shù)據(jù)庫更新時不會產(chǎn)生完整性問題,同時方便了數(shù)據(jù)庫操作。,(2)根據(jù)客觀事實,將某個屬性或屬性的組合作為主鍵。該主鍵具有實際意義,容易進行維護; 缺點在于涉及到外鍵,一旦其他類發(fā)生變化,更改比較困難。,步驟1.2:屬性類型映射為域,屬性類型對應于數(shù)據(jù)庫中的域,域的使用可使數(shù)據(jù)庫設計更具一致性,優(yōu)化了數(shù)據(jù)庫應用的移植性。一般來說,實現(xiàn)簡單域比較方便,只須定義相應的數(shù)據(jù)類型和空間大小 類的屬性描述了其所有對象共有的特性。屬性的類型可以是基本數(shù)據(jù)類型,如整數(shù)、實數(shù)、布爾型等,也可以
3、是用戶自定義類型。,總結:類映射為表,通常,一個類映射為一張類表,類的屬性映射為表的各列,類的對象則映射為表中的各個記錄。值得注意的是存在以下兩種特殊情況: (1)類的屬性中某些屬性只是暫時性使用,不需要在數(shù)據(jù)庫中永久保存,則該類屬性無須映射。 (2)類的屬性如果是多值,則該屬性映射為多個列。另外,由于附加對象標志符OID或附加關聯(lián)關系等原因,需要在表中增加一些新的列。,步驟2:類關系的映射,關聯(lián)關系映射,泛化關系映射,聚集關系映射,組合關系映射,類圖由一系列類、接口和它們之間的關系(依賴、泛化、關聯(lián)和實現(xiàn)等)所組成。 在將UML模型向關系數(shù)據(jù)庫轉換時,不僅需要轉換模型中的類,還需要轉換類與類
4、之間的關系,例如,關聯(lián)關系、泛化關系等。聚合關系和組合關系是特殊的關聯(lián)。 在設計數(shù)據(jù)庫之前,對UML類圖進行簡化,去除一些冗余的關系。,步驟2.1:關聯(lián)關系映射,UML中的關聯(lián)關系描述了系統(tǒng)中對象或實例之間的離散連接,是一種結構關系,規(guī)定了一種事物的對象可以與另一事物的對象相關聯(lián)。當類參與關聯(lián)時,類在關聯(lián)關系中扮演一個特定的角色,(1)一對一關聯(lián):,表示A的一個對象與B的一個對象關聯(lián)。在這種情況下,可在兩個類中任意選擇一方,在其所對應的類表中添加一個外鍵(foreign key),指向另一方所對應類表中的主鍵,從而實現(xiàn)兩張類表之間的連接,將關聯(lián)關系成功映射到數(shù)據(jù)庫中。 需要注意的是,不要在兩個
5、表中均放置對方的主鍵,這樣會造成冗余。,(2) 零或一對一關聯(lián):,這表明B的一個對象可與0個或1個A對象發(fā)生關聯(lián),一般在A類(即對象個數(shù)為零或一的那一方)所對應的表中添加一個外鍵,指向另一方B類所對應的類表中的主鍵,建立兩表之間的連接。,(3) 一對多關聯(lián):,表示A的一個對象與B的多個對象關聯(lián),這種關聯(lián)關系可以通過在B類(即具有多個對象的類)所對應的類表中增加一個外鍵,指向另一方A類的主鍵,從而建立兩個表之間的關聯(lián)。,3、UML中類關系的映射策略,(4) 多對多關聯(lián):,實現(xiàn)多對多關聯(lián),通常需要建立一個關聯(lián)表,映射關聯(lián)對象,從而將多對多關聯(lián)轉化為兩個一對多關聯(lián)。實現(xiàn)時,在新建的關聯(lián)表中設置一個對
6、象標志符OID,同時增加兩個外鍵,分別指向初始關聯(lián)的兩個類對應表的主鍵。,步驟2.2: 泛化關系映射,泛化關系是一種存在于一般元素和特殊元素之間的分類關系,它只使用在類型上,而不是實例上。在類中,一般元素被稱為超類或父類,而特殊元素被稱為子類。 從實現(xiàn)的角度來看,UML的泛化體現(xiàn)了分類與繼承原則,與面向對象程序設計語言中的繼承性概念相關。一個子類繼承超類的全部屬性和方法,一個子類本身又可以有自己的子類,從而構成復雜的一般特殊結構。 在關系數(shù)據(jù)庫模型中沒有直接的方法實現(xiàn)泛化,可以通過3種方法實現(xiàn)其映射。,(1)類層次映射為單個表 通過這種方法,將泛化關系中所有類都映射在單個表中,所有類的屬性都保
7、存在該表中;同時在表中增加一個對象標志符OID,以及一個對象類型,用以標識角色類型 (2) 每個子類映射為單張表 將超類屬性分別復制到各個子類中,這樣每個子類既包含自身屬性,又包含超類屬性,同時在各個子類中增設各自的對象標志符OID,從而實現(xiàn)映射。在這個過程中,超類不需要參與映射。 (3) 每個類映射為單張表 為每個類都建一張表,但每張表中的對象標志符OID都設為超類的類表中的OID。在子類的類表中,OID既是主鍵又是外鍵,各自屬性不變。,步驟2.3: 聚集關系映射,聚集是一種特別類型的關聯(lián),用于描述“總體到局部”的關系。在基本的聚集關系中, 部分類的生命周期獨立于整體類的生命周期。屬于“has a”關系較弱的情況。,將這種關系映射到關系數(shù)據(jù)庫中,可分為兩種情況:一種是聚集關系較為緊密的情況下,可將其映射在一張表中; 另一種是聚集關系較為松散的情況下,可以用一對多關聯(lián)的映射方法實現(xiàn),須在子類的類表中增設一個外鍵指向超類的類表的主鍵。,組成指聚合關系的另一種形式,但是子類實例的生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《DLT 1839.4-2018電力可靠性管理信息系統(tǒng)數(shù)據(jù)接口規(guī)范 第4部分:供電系統(tǒng)用戶供電》專題研究報告深度
- 2026年中國民航科學技術研究院面向社會公開招聘合同制工作人員29人備考題庫及一套參考答案詳解
- 2026年消防監(jiān)理員考核評估標準
- 2026年醫(yī)療設備工程師面試題技術及實踐知識考核
- 2026年禁毒知識競賽180題及答案
- 2026年媒體公司旅游業(yè)務開發(fā)運營總監(jiān)的招聘流程及考核要點
- 2026年醫(yī)療行業(yè)主任醫(yī)師招聘面試題集
- 2026年項目管理專家資格認證考試題庫及解析
- 2026年數(shù)據(jù)庫SQL面試題及答案
- 2025中國兒童腎臟移植等待者評估與管理臨床診療指南解讀課件
- 廣東省東莞市東華中學2023-2024學年數(shù)學九上期末考試試題含解析
- 關于安吉物流市場的調查報告
- 抑郁病診斷證明書
- 維克多高中英語3500詞匯
- 病理生理學復習重點縮印
- 第五屆全國輔導員職業(yè)能力大賽案例分析與談心談話試題(附答案)
- 《大數(shù)的認識》復習教學設計
- GB/T 3513-2018硫化橡膠與單根鋼絲粘合力的測定抽出法
- GB/T 34590.3-2017道路車輛功能安全第3部分:概念階段
- 統(tǒng)編教材部編人教版小學語文習作單元教材解讀培訓課件:統(tǒng)編小語四-六年級習作梳理解讀及教學建議
- 國家開放大學電大《公共部門人力資源管理》期末考試題庫及答案
評論
0/150
提交評論