999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于UML的關系數(shù)據(jù)庫建模方法

2008-12-31 00:00:00
電腦知識與技術 2008年32期

摘要:數(shù)據(jù)庫建模是軟件系統(tǒng)開發(fā)工作中的關鍵,文章提出了一種以面向?qū)ο蠓治鲭A段的對象模型為基礎、并使用統(tǒng)一建模語言UML(Unified Modeling Language)表示數(shù)據(jù)庫概念模型的方法。進一步還討論了數(shù)據(jù)庫概念模型向關系數(shù)據(jù)模型的映射方法。

關鍵詞:數(shù)據(jù)庫建模;統(tǒng)一建模語言;概念模型;關系數(shù)據(jù)模型;映射

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)32-1025-02

A Method for Relational Database Modeling Based on UML

LU Ying, LIN Yin

(Information Science and Engineering School,Jiangsu Polytechnic University,Changzhou,213164, China)

Abstract: Database modeling plays an important role in the process of software development. A database concept model Based on UML(Unified Modeling Language) is presented according to object oriented Analysis model. The mapping rules between database concept model and relation data model is discussed.

Key words: database modeling; unified modeling language; concept model; relational data model; mapping

1 引言

在數(shù)據(jù)密集型軟件系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫設計占據(jù)著非常重要的地位。20世紀90年代至今,面向?qū)ο蠹夹g在軟件工程領域得到了廣泛應用,統(tǒng)一建模語言UML(Unified Modeling Language)成為軟件系統(tǒng)分析和設計中的主要建模工具。[1]當今數(shù)據(jù)庫的設計和實現(xiàn)仍然是以關系模型為基礎,常用的數(shù)據(jù)建模工具與UML完全不同,這些數(shù)據(jù)建模工具針對數(shù)據(jù)實體本身進行描述、忽略了軟件系統(tǒng)的其他業(yè)務因素和需求對數(shù)據(jù)的影響。[2]這種情況使得軟件分析設計團隊與數(shù)據(jù)庫設計團隊之間的關注點在項目開發(fā)之初就出現(xiàn)偏差,導致團隊之間的通信和協(xié)同工作產(chǎn)生困難,系統(tǒng)的應用程序和數(shù)據(jù)庫之間容易產(chǎn)生不一致性,最終會影響整個軟件系統(tǒng)的質(zhì)量。

針對上述問題,提出了一個基于UML的關系數(shù)據(jù)庫建模框架。在整個軟件項目開發(fā)階段,軟件分析設計團隊與數(shù)據(jù)庫設計團隊使用相同的建模工具,解決了彼此之間通信和溝通不暢問題,既避免了上述問題帶來的弊端、也從一定程度上提高了整個軟件項目的開發(fā)效率。

UML是一種建模語言、一種標準的表示方法。UML共定義了9種不同的圖,把它們有機地結(jié)合起來可以描述一個軟件系統(tǒng)的整體特征。UML利用通用機制為圖附加了一些額外的信息,提供了適當?shù)臄U展機制,增加了使用上的靈活性。[3]使用UML進行數(shù)據(jù)庫建模就是利用了UML的可擴展機制和可定制特點。

2 關系數(shù)據(jù)庫建模方法及步驟

2.1 數(shù)據(jù)庫概念模型的設計

數(shù)據(jù)庫設計的首要任務是概念模型的設計。概念模型不僅能表現(xiàn)設計人員的思想,而且應簡單清晰,便于用戶理解。最常用的概念模型表示方法是實體—聯(lián)系方法,該方法用E-R圖描述現(xiàn)實世界的數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系,與系統(tǒng)分析和設計階段采用的建模工具UML沒有直接聯(lián)系,不利于系統(tǒng)分析設計人員和數(shù)據(jù)庫設計人員之間的協(xié)同工作。[4]如果從UML所表示的系統(tǒng)需求分析模型出發(fā),直接將系統(tǒng)分析階段得到的對象模型映射成數(shù)據(jù)庫的概念模型,就可以較好的實現(xiàn)數(shù)據(jù)庫設計與系統(tǒng)分析設計之間的一致和同步。

用面向?qū)ο蠓椒ê蚒ML進行需求分析,通常建立三種形式的模型,它們分別是功能模型、對象模型和動態(tài)模型。這三種模型從三個不同但又密切相關的角度描述目標系統(tǒng),從不同側(cè)面反映了系統(tǒng)的實質(zhì)性內(nèi)容,綜合起來則全面地反映了對目標系統(tǒng)的完整需求。對象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì),它是對模擬客觀世界實體的對象以及對象彼此間的關系的映射。通常使用UML提供的類圖來表示對象模型,類圖由類(對象)及類(對象)之間的關系組成。[5]

數(shù)據(jù)庫設計以系統(tǒng)的需求分析結(jié)果為前提,可以將需求分析階段得到的對象模型即類圖直接映射成數(shù)據(jù)庫的概念模型。下面以一個簡化的教學管理系統(tǒng)為例,說明從UML類圖出發(fā)映射得到數(shù)據(jù)庫概念模型的方法。

在表示教學管理系統(tǒng)的對象模型(類圖)中,包括的主要內(nèi)容有:1)學校分為若干系部、各個系部由特定的教師組成;2)課程分別由不同的系部開設,學生與課程之間存在選課關系;3)學生分為本科生和研究生兩類。

將類圖直接映射成相應數(shù)據(jù)庫的概念模型如圖1所示。具體的映射和表示方法是,將類圖中的每個類(對象)映射為一個數(shù)據(jù)實體,數(shù)據(jù)實體的表示符號與類(對象)表示符號有細微差別,數(shù)據(jù)實體中只包括實體名稱和描述實體靜態(tài)特征的屬性兩部分內(nèi)容。此外為了將數(shù)據(jù)庫概念模型中的實體表示符號與對象模型中的類(對象)表示符號區(qū)分開,在每個實體名稱的右側(cè)附加了一個數(shù)據(jù)庫模型標志。

在圖1所表示的數(shù)據(jù)庫概念模型中,將相應類圖中類(對象)之間的關系直接映射成為數(shù)據(jù)實體之間的關系。系部實體與教師實體之間存在一對多的聚集關系;系部與課程之間存在一對多的開課關聯(lián)。課程與學生之間存在多對多的選課關聯(lián),并將該關聯(lián)表示成一個關聯(lián)實體,它沿用了UML類圖中關聯(lián)類的含義,表示兩個實體之間復雜的多對多關聯(lián)及其關聯(lián)的性質(zhì)(附加信息)。有些情況下,在系統(tǒng)分析的對象模型中,關聯(lián)類是隱含的,在將對象模型映射成數(shù)據(jù)庫概念模型的過程中,建議將兩個類(對象)之間的多對多關聯(lián)映射成兩個實體間帶顯式關聯(lián)實體的多對多關聯(lián)類型,以方便進一步將概念模型映射為關系數(shù)據(jù)模型。圖1中,學生實體與研究生、本科生兩個實體之間的繼承關系是由相應類圖直接映射得到的。

對于每個獨立主實體(非子類實體、非關聯(lián)實體),應該標出相應的主鍵屬性,在圖1中以下劃線標示。

2.2概念模型向關系模型的映射方法

關系數(shù)據(jù)庫設計中,概念模型建立之后,需要將數(shù)據(jù)庫的概念結(jié)構(gòu)轉(zhuǎn)換成關系數(shù)據(jù)庫的邏輯結(jié)構(gòu)表示、即基本表結(jié)構(gòu)形式。在概念模型向關系模型的轉(zhuǎn)換過程中,仍然沿用傳統(tǒng)的關系數(shù)據(jù)庫建模思想,但基本表結(jié)構(gòu)的表示方法是基于UML的符號。下面從圖1所示的例子出發(fā),闡述概念模型到基本表結(jié)構(gòu)的轉(zhuǎn)換規(guī)則。

1)實體的轉(zhuǎn)換

對于概念模型中的獨立主實體,可將每一個實體轉(zhuǎn)換為一個關系(即基本表),實體的屬性即為關系的屬性,實體的主鍵即為關系的主鍵。

2)對于實體間的關聯(lián)和聚集關系,可根據(jù)不同情況分別轉(zhuǎn)換

①對于一對一的關聯(lián)或聚集關系,可在相關聯(lián)的兩個實體的任一實體所對應的關系中增加新屬性,新屬性為另一實體所對應的主鍵。

②對于一對多的關聯(lián)或聚集關系,可在多端實體所對應的關系中增加新屬性,新屬性為一端實體所對應的主鍵。

③對于多對多的關聯(lián)或聚集關系,將關聯(lián)實體轉(zhuǎn)換為一個獨立的關系(即基本表),關系的屬性由兩端實體的主鍵和關聯(lián)實體本身的屬性組合而成;關系的主鍵由兩端實體所對應的主鍵組合而成。

對于圖1所表示的概念模型,按照上述轉(zhuǎn)換規(guī)則轉(zhuǎn)換得到的一部分基本關系(基本表)如圖2所示,其中PK表示主鍵、FK表示外鍵。

3)對于實體之間的繼承關系有兩種轉(zhuǎn)換方法

一種方法稱為“子類實體上卷”法,將整個繼承結(jié)構(gòu)涉及的實體映射成一個基本關系。具體方法是,首先以父類實體為基礎映射成一個基本表(可以稱其為父表),然后逐漸將相關子類實體中的屬性添加到父表中,父類實體的主鍵即為該基本表的主鍵。圖3所示的學生表就是通過“子類實體上卷”法得到的結(jié)果,為了體現(xiàn)出學生的分類關系,在學生表中增加了一個屬性“學生類別”,其取值只能是“研究生”或“本科生”。圖2和圖3所表示的表結(jié)構(gòu)綜合起來,就是由圖1所示的概念模型映射得到的關系數(shù)據(jù)庫的結(jié)構(gòu),即教學管理數(shù)據(jù)庫的基本表結(jié)構(gòu)。這種方法可以減少基本表的數(shù)量,便于數(shù)據(jù)管理和提高查詢效率;缺點是在基本表的使用過程中,某些元組的部分屬性值為空,降低了數(shù)據(jù)庫的存儲效率。

概念模型中繼承關系的另一種映射方法稱為“父類實體下卷”法,將每個子類實體轉(zhuǎn)換為一個基本表,可以稱為子表;并把父類實體中的屬性添加到各個子表中,即子表的屬性由其父類實體屬性和自身屬性兩部分組成,父類實體的主鍵即為子表的主鍵。圖4所示的研究生表和本科生表是根據(jù)“父類實體下卷”法映射得到的結(jié)果。圖2和圖4綜合起來,同樣可以表示由圖1所示的概念模型映射得到的關系數(shù)據(jù)庫的完整結(jié)構(gòu),即教學管理數(shù)據(jù)庫的基本表結(jié)構(gòu)。這種方法將一個繼承結(jié)構(gòu)映射成多個基本表,在數(shù)據(jù)庫使用過程中會涉及多個表的訪問,但便于將不同的信息分類管理,也解決了“子類實體上卷”法中的浪費存儲空間問題。

3 結(jié)束語

基于UML的關系數(shù)據(jù)庫建模方法,將通用建模語言UML引入數(shù)據(jù)庫設計過程,直接從需求分析階段得到的對象模型映射出數(shù)據(jù)庫概念模型,從而打破了軟件系統(tǒng)分析設計團隊和數(shù)據(jù)庫設計團隊之間的分隔,便于團隊之間通過協(xié)同工作來定義軟件系統(tǒng)的業(yè)務活動。在軟件項目開發(fā)和使用過程中經(jīng)常會發(fā)生需求變化,上述提出的關系數(shù)據(jù)庫建模方法也便于數(shù)據(jù)庫能夠根據(jù)應用系統(tǒng)的改進而進行及時修改和完善。

參考文獻:

[1] 刁成嘉.UML系統(tǒng)建模與分析設計[M].北京:機械工業(yè)出版社,2007:9-12.

[2] Naiburg E J, Maksimchuk R A..UML數(shù)據(jù)庫設計應用[M].陳立軍,郭旭,譯.北京:人民郵電出版社,2002:6-8.

[3] 蘭博,雅各布森,布切.UML參考手冊[M].姚淑珍,譯.北京:機械工業(yè)出版社,2001:17-29.

[4] Jeffrey D. Ullman/Jennifer Widom.A First Course In Database Systems(影印版)[M].北京:清華大學出版社,1998:40-51.

[5] 邵維忠,楊芙清.面向?qū)ο蟮南到y(tǒng)分析[M].2版.北京:清華大學出版社,2006:55-69.

主站蜘蛛池模板: 国产乱子伦视频三区| a级毛片在线免费观看| 一级毛片免费的| 国模沟沟一区二区三区| 一级毛片免费观看不卡视频| 亚洲国产黄色| 欧美日韩国产精品va| 国产av一码二码三码无码| 国内精品免费| 久热这里只有精品6| 91在线播放免费不卡无毒| 亚洲欧美在线综合图区| 免费无遮挡AV| 亚洲视频在线观看免费视频| 欧美色伊人| 六月婷婷激情综合| 中文字幕日韩丝袜一区| 欧美中出一区二区| 亚洲色欲色欲www在线观看| 日韩激情成人| 中文字幕有乳无码| 免费可以看的无遮挡av无码| a级毛片免费在线观看| 91成人精品视频| 久久精品国产亚洲AV忘忧草18| 国产18在线| 亚洲国产91人成在线| 青青热久免费精品视频6| 玖玖精品视频在线观看| 99视频精品全国免费品| 青青操视频在线| 亚洲欧美一区二区三区蜜芽| 国产精品久久久久久久伊一| 午夜视频www| 中文字幕永久在线看| 久久婷婷六月| 国产真实乱人视频| 日韩av无码DVD| 中文字幕日韩视频欧美一区| 青青草91视频| 激情视频综合网| 亚洲爱婷婷色69堂| 久久伊人操| 一区二区三区国产精品视频| 一级成人a毛片免费播放| 国产麻豆永久视频| 国产视频自拍一区| 国产精品亚洲专区一区| 久久久久国色AV免费观看性色| 国产欧美日韩另类| 欧美天堂在线| 麻豆国产原创视频在线播放 | 久久精品国产国语对白| 毛片a级毛片免费观看免下载| 国产成人欧美| 国产精品手机在线观看你懂的| 国产乱码精品一区二区三区中文| 午夜一级做a爰片久久毛片| 九九九九热精品视频| 欧美综合中文字幕久久| 国产第一页亚洲| 亚洲浓毛av| 国产青青草视频| 国产chinese男男gay视频网| 成人午夜视频免费看欧美| 久久这里只有精品2| 最新精品久久精品| 亚洲人成网站日本片| 9999在线视频| 日日噜噜夜夜狠狠视频| 国产一级妓女av网站| 亚洲一区黄色| 日韩av无码DVD| 毛片在线播放网址| 欧美综合一区二区三区| 国内精品久久久久久久久久影视| 精品国产成人av免费| 好吊妞欧美视频免费| 最新亚洲人成无码网站欣赏网| 亚洲一区二区三区中文字幕5566| 999国内精品久久免费视频| 2021国产精品自产拍在线观看|