1. 程式人生 > >利用visio 2010 設計ER圖,並導成SQL語言

利用visio 2010 設計ER圖,並導成SQL語言

   建立資料庫時我們需要考慮資料之間的關係,為了理清資料之間的關係我們需要對資料進行統一的整理。對於較複雜的資料庫我們需要建立資料庫模型,具體可分為兩步:首先對資料庫進行結構分析並使用樹、表等描述資料,然後分析資料庫的操作方法,規定資料庫的增刪改查操作,這兩個步驟就構成了我們通常所說的資料庫模型。

        資料庫模型有多重分類,通常所說的ER圖是圖模型,除此之外還有層次模型、網狀模型、關係模型等。這其中比較簡單的當數ER圖,也稱實體-聯絡圖(Entity RelationshipDiagram),它提供了表示實體型別、屬性和聯絡的方法,用來描述現實世界的概念模型。一般的ER圖畫法是採用圓、正方形、菱形來描述實體及他們之間的關係,這三者在圖中分別代表了屬性、實體、聯絡,如下圖為一般ER圖。


        對ER圖進行建模時提倡使用PowerDesigner(功能強大,形式多樣),因為PowerDesigner能夠直接將ER圖匯出為T-SQL程式碼。PowerDesigner能夠做到Visio就不能嗎?其實Visio本身沒有太大的毛病,而且操作簡單,但是功能相對較少和其他開發程式互動較弱。

一、Visio繪製ER圖

      1、Visio繪製一般的ER圖

        Visio沒有提供專門的模板來繪製一般的ER圖,有一種比較折中的辦法:先在“更多形狀”-->“流程圖”-->“基本流程圖”中找到長方形和菱形,分別右鍵“新增到我的形狀”-->“新增到新模具”

在彈出的對話方塊中填入“ER圖”,這樣我們就把菱形和方塊新增到了新模具“ER圖”中。用同樣的思路,在“資料庫”-->“ORM圖表”找到橢圓和直線,新增到模具“ER圖”中。

       新增完成後,我們就可以在畫ER圖時開啟該模具(檔案->形狀->開啟模具),ER圖所有的元素都會在一個模具中顯示出來了。

     2、用Visio自帶的資料庫模型模型圖畫ER圖

        Visio提供了兩種形式繪製ER圖,一種是通過資料庫選項卡內的反向工程,它通過Visio和其他資料庫驅動器進行互動,將已有的資料庫架構轉換為ER圖;另一種是通過圖形工具自己建立ER圖。下面以一個收費系統的資料庫的ER圖為例,為大家介紹visio繪製ER圖的方法。

       開啟Visio後選擇“檔案”-->“新建”-->“軟體和資料庫”,然後雙擊建立資料庫模型圖。建立後的控制面板左邊分別有三個針對資料庫ER模型的七個專用工具,最常用的是最上面的兩個分別代表了資料庫表及外來鍵關係。操作簡單在使用時只需將實體拖到頁面上,隨後會在下面出現數據庫屬性,在其中新增或修改資料表的一些屬性。

        可以通過更改實體的屬性進行增加列、設定列資料型別、設定主鍵等功能。下圖建立了一個名為T_Admin的實體,主鍵為chSerial。

          提示:如果想實體圖顯示實體的資料型別,可以通過資料庫----管理----顯示選項----表----資料型別---顯示物理的,進行設定

        實體間的關係,在visio中有兩種表示表示方法;分別為下圖所示:

                    

        visio預設為第一種形式,箭頭的指向為實體的父表。可以通過資料庫----管理----顯示選項----文件----同時選中關係和魚尾紋進行設定改變為第二種顯示方式。

        使用關係連線線連線後,會自動生成外來鍵。生成的外來鍵會在從表中自動建立父表中的主鍵列,可通過“資料庫屬性”----“定義”----選中兩表中相互關聯的列----“斷開連線”來斷開列,同樣也可以使用該方法來連線兩表中的列作為外來鍵。效果圖如下圖所示:

 


       使用Visio畫的ER圖基本的操作步驟已介紹完畢,在使用Visio建模時一定要細心,在畫圖前期一定要分析好每個實體及實體屬性的命名規範。

       上面的方法是通過使用圖形工具來自己建立ER圖,另外一種方法是通過“資料庫”----“反響工程”自動生成某個資料庫的ER圖,操作簡單、方便,建議大家使用下並和自己建立的ER圖進行比較來糾正自己的使用誤區。

二、Visio資料庫模型圖匯出成SQL指令碼

        Visio沒有提供直接的匯出方法,想要將畫好的ER圖匯出為SQL指令碼只依賴Visio是遠遠不夠的,而要使用其他工具。一種方法是使用Visio的匯入/匯出功能,將模型圖匯出為ERwin檔案,然後使用PowerDesigner或者ERwin開啟,最後轉換為SQL即可,但是這種方法在Visio2010中已不存在,Visio2010不支援將ER圖匯出為ERwin格式,只支援匯入。這就需要我們的第二種方法。

       另外一種方法是使用OrthogonalToolBox小工具,它是專門負責VisioER轉出的小工具,這個工具會通過XSLT模板來產生對應的SQLScript。

 使用方法:

       2.把下載下來的xslt文件Copy到:C:\Program Files(X86)\OrthogonalSoftware Corporation\Orthogonal Toolbox\StyleSheets;

       3.若在Visio工具列沒有看到OrthogonalToolbox,在目前的工具列上檢視 - 工具列 – OrthogonalToolbox 打勾,便可看到;

      4. 選擇“載入項”-->“OrthogonalToolbox”-->選中需要匯出的ER圖-->“Export XML”-->選中Set StyleSheet-->並選中OTERtoSQL.xslt模板


       5.按下 Export會產生一個xml檔案,使用IE開啟該XML檔案即可看見我們建立資料庫的SQL指令碼。

      有問題就會有解決方法,我們需要耐心去找到它,有時幾分鐘,有時甚至幾小時又或者幾天,解決問題的關鍵在於是否有耐心,在這個過程中學到的知識比結果更重要。