2011-11-07

使用 Visio 2010 繪製 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 繪製 ORM

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

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

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

步驟04. 在左邊的「圖形」窗格,檢視「物件關係」與「實體關係」樣板,點選「實體關係」樣板。

-- 01_「實體關係」樣板



-- 02_「物件關係」樣板



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

-- 03_點選「資料庫」頁籤



步驟06. 點選「資料庫驅動程式」,在「資料庫驅動程式」視窗,點選「驅動程式」頁面,在「預設的 Visio 驅動程式」區域,選擇「Microsoft SQL Server」,點選「確定」。

-- 04_選擇預設的驅動程式



步驟07. 在左邊的「實體關係」樣板,選擇「實體」圖形,拖曳到右邊的繪圖區域。

步驟08. 選取此「實體」圖形,滑鼠右鍵,選擇「資料庫屬性」,設定以下的屬性:
在下方的「資料庫屬性」區域,在「類別」區域,點選「定義」頁籤。
在右邊的「實體名稱」方塊,輸入:Employee。

-- 05_設定實體名稱



步驟09. 在「類別」區域,點選「資料欄」頁籤,設定以下的屬性:
在「實體名稱」方塊,輸入:EmployeeID。
在「資料類型」方塊,選擇:int。
勾選「PK」。

-- 06_設定_資料欄_實體名稱



步驟10. 在「實體名稱」方塊,輸入:EmployeeName。在「資料類型」方塊,使用預設值:char(10)。

步驟11. 在「實體名稱」方塊,輸入:DepartmentID。在「資料類型」方塊,選擇:int。

-- 07_設定實體_資料行_Employee



步驟11. 在左邊的「實體關係」樣板,選擇「實體」圖形,拖曳到右邊的繪圖區域,放置到 Employee 實體的右邊。

步驟12. 選取此「實體」圖形,滑鼠右鍵,選擇「資料庫屬性」,設定以下的屬性:
在下方的「資料庫屬性」區域,在「類別」區域,點選「定義」頁籤。
在右邊的「實體名稱」方塊,輸入:Department。

步驟13. 在「類別」區域,點選「資料欄」頁籤,設定以下的屬性:
在「實體名稱」方塊,輸入:DepartmentID。
在「資料類型」方塊,選擇:int。
勾選「PK」。

步驟14. 在「實體名稱」方塊,輸入:DepartmentName。在「資料類型」方塊,使用預設值:char(10)。

-- 08_設定實體_資料行_Department



步驟15. 在左邊的「實體關係」,選擇「關聯」圖形,拖曳到右邊的繪圖區域,放置到 Employee 與 Department 兩個實體之間。

步驟16. 選取此「關聯」圖形,選取「箭頭」圖示,連接到 Department 實體。

步驟17. 選取此「關聯」圖形,選取「尾部」圖示,連接到 Employee 實體。

-- 09_設定_關聯



-- 10_檢視繪製的ER模型圖



步驟18. 儲存此檔案。



雖然 Visio 2010 可以:

(1) 繪製 ER 模型。
(2) 以 ER 模型,進行「反向工程(reverse engineering)」。

但好像沒辦法執行「正向工程(forward Engineering)」。

可能要改用 Visio for Enterprise Architects 2005 才能達成這類的需求。



ER模型(Entity-relationship model)

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

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

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




參考資料

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

使用 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

沒有留言:

張貼留言