Visio2010建立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。
使用方法:
1.下載並安裝OrthogonalToolBox(注:需要先安裝.Net Framework 1.1.4322,下載地址http://download.csdn.net/detail/zhang_xinxiu/5788193);
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腳本。
有問題就會有解決方法,我們需要耐心去找到它,有時幾分鍾,有時甚至幾小時又或者幾天,解決問題的關鍵在於是否有耐心,在這個過程中學到的知識比結果更重要。
