用Rational Rose來建立數據庫表


這里以MS SQL Server2000中已有的一個Northwind庫為例,我們命名新的數據庫名為NorthwindRose;我們只挑其中的兩個表Customers和Employees做示例,另外我們再新建一個Card表,來建立表間關系,其他依此類推;前提當然是你已經安裝了Rose 2003和 SQL Server2000,OK,我們開始

注:對文章中提到的一些概念,如模式、表空間,請參考書《UML數據庫設計應用》,人民郵電出版社出版

先看最終效果 用Rational <wbr>Rose來建立數據庫表

 

圖一、SQLServer2000中的關系圖

用Rational <wbr>Rose來建立數據庫表

圖二、Rose2003中的關系圖

第一步:在Rose2003中新建一個MDL文檔,命名為Northwind.mdl

第二步:展開Componet View,New一個DataBase,命名為NorthwindRose,這就是會出現在SQLServer中的新庫名,這里可以注意到,Rose自動在“Logical View”中新建了兩個包“Global Data Types”以及“Schemas”

用Rational <wbr>Rose來建立數據庫表 圖三、新建DataBase

第三步:右鍵選中“NorthwindRose”,打開“Open Specification”,選擇Target為“Micfosoft SQL Server2000.x”,如果要導入到別的類型的數據庫,同樣可以選擇,目前我還沒有試過,歡迎大家寫其他各種版本的參考手冊 用Rational <wbr>Rose來建立數據庫表

圖四、選擇目標數據庫類型

第四步:新建NorthwindRose的表空間,右鍵打開“NorthwindRose”-“Data Modeler”-“New”-“Tablespace”,一般情況下,請把表空間命名成“PRIMARY”,例子里我將表空間命名為NorthwindSpace,這里待會還要重點講一下,因為導入SQLServer2000的時候可不是隨便什么表空間名都可以的,必須與SQLServer中的“文件組”中的項目相對應。 用Rational <wbr>Rose來建立數據庫表

圖五、新建表空間

第五步:右鍵選中“Logical View”中的“Schemas”,新建一個Schema,我這里命名為Schema_Actor,大家可以隨意命名,自己理解就行;

用Rational <wbr>Rose來建立數據庫表

圖六、建立一個模式

第六步:右鍵打開“Schema Actor”,新建一個Data Model Diagram,取名為Main,雙擊這個Main圖標,我們可以看到工具欄的變化,如下圖

用Rational <wbr>Rose來建立數據庫表

圖七、建立數據模型視圖,並雙擊打開,出現新的Toolbar

第七步:右鍵打開"Schema_Actor"的“Open Specification”,將DataBase選擇為"NorthwindRose",表明從屬關系,同時新建一個Table

用Rational <wbr>Rose來建立數據庫表

圖八、在模式下新建表格

第八步:在模式“Schema_Actor”下新建三個表Card、Customers和Employees,這里我以建立Card表為例,介紹怎么在Rose2003中建立表格,以及如何設置主鍵、選擇數據類型以及數據長度等

用Rational <wbr>Rose來建立數據庫表

1、將工具欄的“Table”拖放入Main數據視圖,出現T_5表格

2、雙擊T_5表格,設置表格參數將Name設置為Card,選擇Tablespace為NotrhwindSpace 用Rational <wbr>Rose來建立數據庫表

3、選擇“Columns”,右鍵空白區域選擇“Insert”插入新列

4、編輯新建的列屬性,將Name設置為CardID,注釋為卡的ID,主鍵 用Rational <wbr>Rose來建立數據庫表

5、選擇“Type”設置CardID的數據類型和長度,並設置成主鍵

6、同樣建立一個名為CardType的列設置數據類型為nvarchar,長度為10

第九步:模仿第八步提到的方法,建立Customers表和Employees表,並使用Toolbar中的Identifying Relationship和Non-identifying Relationship兩個工具建立三個表之間的關系,Identifying Relationship表示主外鍵關系,拖動方向應該是從父表指向子表,下圖中的Card表為父表,Customers和Employees表為子表,CardID為其他兩個表的主鍵和外鍵;Non-identifying Relationship則僅僅是建立外鍵關系

用Rational <wbr>Rose來建立數據庫表

注意:先選中工具,然后選擇Parent表,拖動連線指向子表即可

圖十二:建好后的表關系圖

建立好表關系之后,就可以導入數據庫了,請按照以下步驟進行操作

第十步:打開SQLServer的“企業管理器”,新建一個名為“NorthwindRose”的數據庫,與Rose中的DB同名,打開屬性,在“文件組”一欄加上“NorthwindSpace”,這里就是對應Rose中的Tablespace

用Rational <wbr>Rose來建立數據庫表

圖十三、Tablespace和文件組的關系

第十一步:右鍵打開“NorthwindRose”,並選擇“Forward Engineer”,點擊“下一步”,選擇想導入的部分,再“下一步”,選擇“Execute”,填入SQLServer的登陸帳號密碼,選擇剛才建立的“NorthwindRose”數據庫,選擇下一步導入 用Rational <wbr>Rose來建立數據庫表

圖十四、導入過程

檢查一下SQLServer2000,應該可以看到表都已經自動建立好了,如果導入不成功,基本上是以下幾個原因:

1、 在建立表的時候,沒有選擇相應的Tablespace

2、 Rose中的Tablespace在SQLServer2000中的文件組中找不到對應項 用Rational <wbr>Rose來建立數據庫表

圖十五、導入后的表結構

到這里,貌似一切都很順利應該成功了,我們試着在Card表里添加一條數據看看,會出現如下錯誤提示:

用Rational <wbr>Rose來建立數據庫表

圖十六、新建數據時候的錯誤

可以看出,我們自己命名的“NorthwindSpace”的表空間是有問題的,這時候我們還是把Rose2003的Tablespace改為“PRIMARY”;重新導入,再試試看。重新導入之前,要先把NorthwindRose庫里的表先刪除。最后可以看到一個可以使用的庫了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM