搜尋本站文章

2011-11-07

使用 Visio 2010 進行反向工程(reverse engineering),以 ER 模型為例

在 Visio 2010 上可以利用「資料庫模型圖(Database Model Diagram)」範本建立新模型,或是使用關聯或物件關聯模型概念,將現有的資料庫反向工程為模型。

使用「實體關聯(Entity Relationship)」樣板製作以 SQL-92 (含) 以前標準為主之資料庫的模型。

使用「物件關聯(Object Relational)」樣板 (其中包含搭配類型使用的額外圖形) 製作以 SQL-99 (含) 以後標準為主之資料庫的模型。


在 Visio 2010 版本,並非每一個版本都含有資料庫模型功能。


(1) Visio Standard 不提供「資料庫模型圖」範本。


(2) Visio Professional 和 Premium 版本支援「資料庫模型圖」範本的反向工程 (也就是,使用現有的資料庫在 Visio 中建立模型),但是不支援正向工程 (也就是,使用 Visio 資料庫模型產生 SQL 程式碼)。



示範環境:
Microsoft Visio 2010

實作練習:使用 Visio 2010 進行反向工程(reverse engineering),以 ER 模型為例

步驟01. 執行 Visio,在上方的工具選單,點選「檔案」,點選「新增」。

步驟02. 在「範本類別」,選擇「軟體與資料庫」。

-- 01_選擇範本_軟體與資料庫



步驟03. 點選預設選擇的「資料庫模型圖」範本,在右邊的窗格,點選「建立」。

-- 02_選擇_資料庫模型圖



步驟04. 在上方的工具選單,點選「資料庫」頁籤。

-- 03_資料庫_頁籤



步驟05. 在「資料庫」頁籤,點選「反向工程」,在「反向工程精靈」視窗,設定以下的選項:
在「安裝的 Visio 驅動程式」方塊,下拉選擇「Microsoft SQL Server」。
點選「新增」。

-- 04_選擇_安裝的 Visio 驅動程式



在「建立資料來源」視窗,點選「使用者資料來源」,點選「下一步」。

-- 05_選擇_使用者資料來源



在「選擇您想要的驅動程式來設定資料來源」視窗,選擇「SQL Server Native Client 10.0」,點選「下一步」。

-- 06_選擇_SQL Server Native Client



檢視設定的使用者資料來源,點選「完成」。

-- 07_檢視設定的使用者資料來源,點選「完成」



在「Create a New Data Source to SQL Server」視窗,設定以下的選項:

在「Name」方塊,輸入:myNorthwind。
在「Server」方塊,輸入:localhost。
點選「下一步」。

-- 08_輸入_Data Source



在「How should SQL Server verifiy the authenticity of the login ID」視窗,點選「下一步」。

-- 09_How should SQL Server verifiy the authenticity of the login ID



在「Change the default database to」視窗,勾選「Change the default database to」,選擇「Northwind」,點選「下一步」。

-- 10_在「Change the default database to」視窗



在「Change the language of SQL Server system messages to」視窗,點選「完成」。

-- 11_在「Change the language of SQL Server system messages to」視窗



在「ODBC Microsoft SQL Server Setup」視窗,點選「Test Data Soruce」,點選「OK」,點選「OK」。

-- 12_在「ODBC Microsoft SQL Server Setup」視窗



在「反向工程精靈」視窗,在「資料來源」方塊,確認選擇「myNorthwind」,點選「下一步」。

-- 13_選擇指定的資料來源



在「連接資料來源」視窗,點選「確定」。

-- 14_在「連接資料來源」視窗



在「選取要反向工程的物件類型」視窗,取消勾選 [檢視] 與 [預存程序],點選 [下一步]。

-- 15_在「選取要反向工程的物件類型」視窗



在「選取要反向工程的表格或/檢視」頁面,點選「全選」,來選取全部的表格和檢視,點選「下一步」。

-- 16_「選取要反向工程的表格或/檢視」>「選取要反向工程的表格或/檢視」



在「要讓反向工程項目的圖形自動新增到目前頁面」頁面,點選「是,新增圖形到目前的圖面」,點選「下一步」。

-- 17_是,新增圖形到目前的圖面



在「按[完成]之前,請先審閱選擇」頁面,點選「完成」。

-- 18_「按[完成]之前,請先審閱選擇」



步驟06. 儲存此檔案。

-- 19_檢視ER模型



-- 20_檢視ER模型





ER模型(Entity-relationship model)

實體聯繫模型,實體關係模型(Entity-relationship model)或實體聯繫模式圖(ERD)由美籍華裔計算機科學家陳品山(Peter Chen)發明,是概念數據模型的高層描述所使用的數據模型或模式圖,它為表述這種實體聯繫模式圖形式的數據模型提供了圖形符號。

這種數據模型典型的用在信息系統設計的第一階段;比如它們在需求分析階段用來描述信息需求和/或要存儲在資料庫中的信息的類型。
但是數據建模技術可以用來描述特定論域(就是感興趣的區域)的任何本體(就是對使用的術語和它們的聯繫的概述和分類)。

在基於資料庫的信息系統設計的情況下,在後面的階段(通常叫做邏輯設計),概念模型要映射到邏輯模型如關係模型上;它依次要在物理設計期間映射到物理模型上。注意,有時這兩個階段被一起稱為"物理設計"。



參考資料

使用 Visio for Enterprise Architects 2005 進行正向工程(forward engineering),以 ER 模型為例
http://sharedderrick.blogspot.com/2011/11/visio-for-enterprise-architects-2005_04.html

使用 Visio for Enterprise Architects 2005 進行反向工程(reverse engineering),以 ER 模型為例
http://sharedderrick.blogspot.com/2011/11/visio-for-enterprise-architects-2005.html

您適合哪一版 Visio 2010?
http://office.microsoft.com/zh-tw/visio/FX101838162.aspx

建立資料庫模型 (亦稱為「實體關聯」圖表)_Visio 2010
http://office.microsoft.com/zh-tw/visio-help/HA010357092.aspx

SQL-92
http://en.wikipedia.org/wiki/SQL-92

SQL:1999
http://en.wikipedia.org/wiki/SQL:1999

Entity-relationship model
http://en.wikipedia.org/wiki/Er_model

ER模型
http://zh.wikipedia.org/wiki/ER%E6%A8%A1%E5%9E%8B

實體
http://zh.wikipedia.org/wiki/%E5%AF%A6%E9%AB%94

關聯模型
http://zh.wikipedia.org/wiki/%E5%85%B3%E7%B3%BB%E6%A8%A1%E5%9E%8B

統一塑模語言
http://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80