摘要:該篇以一個(gè)實(shí)例詳細(xì)描述了用Rational Rose建立數(shù)據(jù)庫(kù)表的全過程,以及如何將其生成對(duì)應(yīng)的SQL Server數(shù)據(jù)庫(kù)的方法。具體包括以下三個(gè)部分:第一部分,介紹Rational Rose的概念和基本功能;第二部分,以一個(gè)System庫(kù)為例,對(duì)用Rational Rose建立數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表的方法、步驟進(jìn)行詳細(xì)講解;第三部分,介紹在Rational Rose中生成SQL Server數(shù)據(jù)庫(kù)的方法,以及可能出錯(cuò)的原因。
關(guān)鍵詞:Rational Rose;SQL Server;建立;數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)表
中圖分類號(hào):TP311.132 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)05-1038-03
Creating Database Forms by Using Rational Rose
XIAO Li-juan
(Yuxi Agriculture Vocation-Technical College, Yuxi 653106, China)
Abstract: By a true example, this thesis describes the whole process of creating Database and the Forms by using Rational Rose, and the method to turn it to its corresponding SQL Server Database. In detail, it has three sections. First, introducing the concert and the basic function of Rational Rose. Second, explaining methods of creating Database and the forms in details basing on a system example. Third, introducing the methods of generating SQL Server Database in Rose and the possible reasons of mistakes.
Key words: rational rose; SQL server; build; database; database forms
1 引言
Rational Rose 是一個(gè)完全的,具有能滿足所有建模環(huán)境(Web開發(fā),數(shù)據(jù)建模,Visual Studio和 C++ )需求能力和靈活性的一套解決方案。通過在軟件開發(fā)周期內(nèi)使用同一種建模工具可以確保更快更好的創(chuàng)建滿足客戶需求的可擴(kuò)展的、靈活的并且可靠的應(yīng)用系統(tǒng)。利用這個(gè)工具,可以建立用UML描述的軟件系統(tǒng)模型,而且可以自動(dòng)生成和維護(hù)C++、Java、VB和Oracle等語(yǔ)言和系統(tǒng)的代碼。而在這里我要給大家介紹的是如何用Rose建立數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)表,這是我在用Rational Rose進(jìn)行軟件系統(tǒng)設(shè)計(jì)、建模時(shí)通過資料的搜集和實(shí)踐得來的一點(diǎn)經(jīng)驗(yàn),下面我就將具體方法介紹給大家,希望能夠?qū)Υ蠹矣兴鶐椭?/p>
2 用Rational Rose建立數(shù)據(jù)庫(kù)表
在用Rational Rose建立數(shù)據(jù)庫(kù)表之前,必須保證電腦安裝了Rational Rose 2003和SQL Server 2000。這里以一個(gè)System庫(kù)為例,命名新的數(shù)據(jù)庫(kù)名為SystemRose;新建三個(gè)表 Teachers、Students和Card表,用Card表來建立表間關(guān)系,其他依此類推。
2.1 具體的操作步驟
Step 1:打開Rational Rose 2003,新建一個(gè)MDL文檔,命名為System.mdl。
Step 2:展開左上方面板中的“Componet View”,選中“Componet View”后單擊右鍵依次選擇“Data ModeleràNewàDatabase”(如圖1所示),即可新建一個(gè)Database,將其命名為SystemRose(如圖2所示),這個(gè)就是會(huì)出現(xiàn)在SQL Server中的新庫(kù)名。這里可以注意到,Rose已經(jīng)自動(dòng)在“Logical View”中新建了兩個(gè)包“Global Data Types”和“Schemas”。
Step3:選中“SystemRose”單擊右鍵選擇“Open Specification”,在彈出的窗口中選擇“Target”為“Micfosoft SQL Server2000.x”,如圖3所示。
Step 4:新建SystemRose的表空間。選中“SystemRose”單擊右鍵,依次選擇“Data ModeleràNewàTablespace”(如圖4所示),一般情況下,請(qǐng)把表空間命名成“PRIMARY”。
Step 5:選中“Logical View”中的“Schemas”,單擊右鍵選擇“Data ModeleràNewàSchema”(如圖5所示),新建一個(gè)Schema,默認(rèn)名為S_0。
Step 6:選中“S_0”單擊右鍵選擇“Data ModeleràNewàData Model Diagram”(如圖6所示),新建一個(gè)Data Model Diagram,取名為Main,雙擊這個(gè)Main圖標(biāo),可以看到工具欄有變化,出現(xiàn)了新的工具欄。
Step 7:選中“S_0”單擊右鍵選擇“Open Specification”, 將DataBase選擇為” SystemRose”,表明從屬關(guān)系(如圖7所示)。
Step 8:在模式“S_0”下新建三個(gè)表Card、Teachers和Students,這里以建立Card表為例,介紹怎么在Rose2003中建立表格,以及如何設(shè)置主鍵、選擇數(shù)據(jù)類型以及數(shù)據(jù)長(zhǎng)度等。
1)選中工具欄中的“Table” 工具,在Main數(shù)據(jù)視圖中按下鼠標(biāo)左鍵新建一個(gè)名為“T_0”的表格;
2)雙擊T_0表格,設(shè)置表格參數(shù):將Name設(shè)置為Card,選擇Tablespace為PRIMARY;
3)選擇“Columns”欄,單擊“New Column” 按鈕插入一列,默認(rèn)列名為“COL_0”;
4)雙擊“COL_0”列,編輯其屬性。在General欄中將Name設(shè)置為CardID,注釋(Comment)為卡的ID(如圖8所示);在Type欄中設(shè)置數(shù)據(jù)類型(DataType)為INT,將“Primary Key”復(fù)選框打勾將CardID設(shè)置為主鍵(如圖9所示);
5)采用同樣的方法新建一個(gè)名為CardType的列,并設(shè)置其數(shù)據(jù)類型為NVARCHAR,長(zhǎng)度為10;
6)設(shè)置完畢后,單擊“OK”按鈕。名為Card的表格就算創(chuàng)建好了,如圖10所示。
Step 9:模仿Step 8提到的方法,建立Teachers表和Students表,并使用工具欄(Toolbar)中的Identifying Relationship 和Non-identifying Relationship 兩個(gè)工具建立三個(gè)表之間的關(guān)系,Identifying Relationship表示主外鍵關(guān)系,拖動(dòng)方向應(yīng)該是從父表指向子表,圖11中的Card表為父表,Teachers表和Students表為子表, CardID為其他兩個(gè)表的主鍵和外鍵;Non-identifying Relationship則僅僅是建立外鍵關(guān)系。
Identifying Relationship 工具使用方法:選中Identifying Relationship 工具,然后選擇父表(Parent表),拖動(dòng)連線指向子表即可。
到此,數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表和表關(guān)系就算建立好了。
3 生成SQL Server對(duì)應(yīng)的數(shù)據(jù)庫(kù)
3.1 具體的操作步驟
Step 10:導(dǎo)入數(shù)據(jù)庫(kù)。打開SQL Server的“企業(yè)管理器”,新建一個(gè)名為“SystemRose”的數(shù)據(jù)庫(kù),與Rose中的DB同名,打開屬性,在“文件組”一欄上已有默認(rèn)的“PRIMARY”,這里就是對(duì)應(yīng)Rose中的Tablespace。
Step 11:回到Rational Rose中,選中“SystemRose”單擊右鍵選擇“Data Modelerà Forward Engineer(生成數(shù)據(jù)庫(kù))” (如圖13所示)。
Step 12:在彈出的如圖14所示對(duì)話框中,點(diǎn)擊“Next”,選擇想導(dǎo)入的部分(一般按默認(rèn)選項(xiàng)即可,如圖15所示),再點(diǎn)擊“Next”,選擇“Execute”復(fù)選框,輸入SQL Server的登陸帳號(hào)和密碼(這是在安裝SQL Server時(shí)設(shè)置好的),選擇剛才建立的 “SystemRose”數(shù)據(jù)庫(kù)(如圖16所示),選擇“Next”按鈕Rational Rose就會(huì)將“SystemRose”數(shù)據(jù)庫(kù)導(dǎo)入SQL Server中對(duì)應(yīng)的“SystemRose”數(shù)據(jù)庫(kù)中。
Step 13:檢查SQL Server 2000,應(yīng)該可以看到表都已經(jīng)自動(dòng)建立好了(如圖18所示)。
3.2 出錯(cuò)原因
如果導(dǎo)入不成功,基本上是以下幾個(gè)原因:
1)在Rose中建立表的時(shí)候,沒有選擇相應(yīng)的Tablespace;
2)Rose中的Tablespace在SQL Server 2000中的文件組中找不到對(duì)應(yīng)項(xiàng)。這里我們一開始就是用默認(rèn)的“PRIMARY”,應(yīng)該不會(huì)出錯(cuò)。如果用其他名稱命名了Tablespace的話,只要把其改為“PRIMARY”,然后重新導(dǎo)入。注意重新導(dǎo)入之前,要先把SQL Server中SystemRose庫(kù)里的表先刪除,最后就可以看到一個(gè)可以使用的庫(kù)了。
4結(jié)束語(yǔ)
Rational Rose是一款功能強(qiáng)大、應(yīng)用廣泛的軟件,為軟件設(shè)計(jì)、建模提供了一個(gè)很好的平臺(tái),上文與大家分享的僅僅是其功能的九牛一毛,還有很多功能有待我們進(jìn)一步去學(xué)習(xí)、研究。文中若有不足之處,望各位讀者給予指正為謝。
參考文獻(xiàn):
[1] 吳建,鄭潮,汪杰.UML基礎(chǔ)與Rose建模案例 [M]. 北京:人民郵電出版社, 2007.182-186.
[2] (美)奈伯格(Naiburg,E.J.),(美)美克斯瓊克(Maksimchuk,R.A.). UML數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用 [M].北京:人民郵電出版社,2002.105-120.
[3] 徐鋒,陳暄. UML面向?qū)ο蠼;A(chǔ) [M]. 北京:中國(guó)水利水電出版社,2006.234-241.
[4] 牛麗平,郭新志,宋強(qiáng),楊繼萍. UML面向?qū)ο笤O(shè)計(jì)與分析[M]. 北京:清華大學(xué)出版社,2007.183-195.
[5] 謝星星,沈懿卓. UML基礎(chǔ)與Rose建模實(shí)用教程[M]. 北京:清華大學(xué)出版社,2008. 56-78.