搜尋本站文章

2011-11-03

使用 Visio 2010 繪製 ORM

示範環境:
Microsoft Visio 2010

實作練習:使用 Visio 2010 繪製 ORM



工作0:下載與安裝 ORM 樣板(stencils)

請參考以下的文章:
下載與安裝被 Visio 2010 移除的圖形(shapes)與樣板(stencils)



工作1:使用 Visio 2010 繪製 ORM 圖

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

步驟02. 在「範本類別」,選擇「一般」。接受預設選擇的「區塊圖」範本,點選「建立」。

步驟03. 在上方的工具選單,點選「設計」,點選最左邊的「方向」,選擇「橫向」。

步驟04. 在左邊的「圖形」窗格,點選「其他圖形」\「我的圖形」。選擇「ORM_M」樣板檔案(*.vss)。

-- 01_ORM_M_樣板檔案



步驟04. 在左邊的「圖形」窗格,在「ORM Diagram」區域,選擇「Entity」 圖形,拖曳到右邊的繪圖頁面。

-- 02_ORM Diagram



步驟05. 在繪圖頁面上,滑鼠雙擊此「Entity」 圖形,對此圖形輸入所需的命名,例如:Applicant。

-- 03_Applicant Entity



步驟06. 在「ORM Diagram」區域,選擇「Entity」 圖形,拖曳到右邊的繪圖頁面,並且放置在 Applicant Entity 的右邊。
滑鼠雙擊此「Entity」 圖形,對此「Entity」 圖形輸入所需的命名,例如:Company (name)。

-- 04_Company (name) Entity



步驟07. 在「ORM Diagram」區域,選擇「Binary」 述語圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 與 Company (name) 圖形之間。

-- 05_Binary 述語



步驟08. 在「Binary」 關聯程度圖形上,將其左邊的條件式,由 has 修改為 Works for,將其右邊的條件式,由 has 修改為 Employs。

-- 06_設定「Binary」 關聯程度



步驟09. 在「ORM Diagram」區域,選擇「Mand.Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 實體與 Works for / Employs binary 關聯圖形之間。
將啟始點拖曳到 Applicant 實體,將終止點拖曳到 Works for / Employs binary 述語圖形。

-- 07_設定 Mand.Role Connector



步驟10. 在「ORM Diagram」區域,選擇「Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Works for / Employs Binary 關聯圖形與 Company (name) 實體之間。
將啟始點拖曳到 Works for / Employs Binary 關聯圖形,將終止點拖曳到 Company (name) 實體。

-- 08_設定 Role Connector



步驟11. 在「ORM Diagram」區域,選擇「Entity」 圖形,拖曳到右邊的繪圖頁面,放置在 Company (name) 實體下方。

滑鼠雙擊此「Entity」 圖形,對此「Entity」 圖形輸入所需的命名,例如:ExamSession (ID)。

步驟12. 在「ORM Diagram」區域,選擇「Binary」 述語圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 與 ExamSession (ID) 圖形之間。

步驟13. 在「Binary」 關聯程度圖形上,將其左邊的條件式,由 has 修改為 Registers for,將其右邊的條件式,由 has 修改為 Is registered for。

步驟14. 在「ORM Diagram」區域,選擇「Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 實體圖形與 Registers for / Is registered for binary 關聯圖形之間。

將啟始點拖曳到 Applicant 實體,將終止點拖曳到 Registers for / Is registered for binary 述語圖形。

步驟15. 在「ORM Diagram」區域,選擇「Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Registers for / Is registered for Binary 關聯圖形與 ExamSession (ID) 實體之間。

將啟始點拖曳到 Registers for / Is registered for binary 關聯圖形,將終止點拖曳到 ExamSession (ID) 實體。

-- 09_設置ExamSession (ID) 實體_Registers for關聯程度



步驟16. 在「ORM Diagram」區域,選擇「Entity」 圖形,拖曳到右邊的繪圖頁面,放置在 ExamSession (ID) 實體下方。

滑鼠雙擊此「Entity」 圖形,對此「Entity」 圖形輸入所需的命名,例如:Person。

步驟17. 在「ORM Diagram」區域,選擇「Binary」 述語圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 與 Person 圖形之間。

步驟18. 在「Binary」 關聯程度圖形上,將其左邊的條件式,由 has 修改為 is,將其右邊的條件式,由 has 修改為 is。

步驟19. 在「ORM Diagram」區域,選擇「Mand.Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Applicant 實體與 is / is binary 關聯圖形之間。

將啟始點拖曳到 Applicant 實體,將終止點拖曳到 is / is binary 述語圖形。

步驟20. 在「ORM Diagram」區域,選擇「Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 is / is binary 關聯圖形與 Person 實體之間。

將啟始點拖曳到 is / is Binary 關聯圖形,將終止點拖曳到 Person 實體。

-- 10_設置 Role Connector



步驟21. 在「ORM Diagram」區域,選擇「Value」 圖形,拖曳到右邊的繪圖頁面,並且放置在 Company (name) 實體的右邊。

滑鼠雙擊此「Entity」 圖形,對此「Entity」 圖形輸入所需的命名,例如:Companyname。

步驟22. 在「ORM Diagram」區域,選擇「Binary」 述語圖形,拖曳到右邊的繪圖頁面,放置在 Company (name) 與 Companyname 圖形之間。

步驟23. 在「Binary」 關聯程度圖形上,將其左邊的條件式,由 has 修改為 is identified by,將其右邊的條件式,由 has 修改為 is part of。

步驟24. 在「ORM Diagram」區域,選擇「Mand.Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 Company (name) 實體與 is identified by / is part of binary 關聯圖形之間。

將啟始點拖曳到 Company (name) 實體,將終止點拖曳到 is identified by / is part of binary 述語圖形。

步驟25. 在「ORM Diagram」區域,選擇「Role Connector」 圖形,拖曳到右邊的繪圖頁面,放置在 is identified by / is part of binary 關聯圖形與 Companyname 實體之間。

將啟始點拖曳到 is identified by / is part of binary 關聯圖形,將終止點拖曳到 Companyname 實體。

-- 11_設置 Companyname 實體



步驟26. 在「ORM Diagram」區域,選擇「Uniqueness Constraint」 圖形,拖曳到右邊的繪圖頁面。

將其放置在 Works for / Employs binary 述語圖形的 Works for 條件式之上方。

步驟27. 在「ORM Diagram」區域,選擇「Uniqueness Constraint」 圖形,拖曳到右邊的繪圖頁面。

將其放置在 is / is 述語圖形的 is / 條件式之上方。

步驟28. 在「ORM Diagram」區域,選擇「Uniqueness Constraint」 圖形,拖曳到右邊的繪圖頁面。

將其放置在 is identified by / is part of 述語圖形的 is identified by 條件式之上方。

步驟29. 在「ORM Diagram」區域,選擇「P Constraint」 圖形,拖曳到右邊的繪圖頁面。
將其放置在 Registers for / Is registered for 述語圖形的 Works for 條件式之上方。

步驟30. 在「ORM Diagram」區域,選擇「P Constraint」 圖形,拖曳到右邊的繪圖頁面。
將其放置在 is identified by / is part of 述語圖形的 is part of 條件式之上方。

步驟31. 在「ORM Diagram」區域,選擇「P Constraint」 圖形,拖曳到右邊的繪圖頁面。
將其放置在 is / is 述語圖形的 / is 條件式之上方。

步驟32. 儲存此檔案。

-- 12_檢視繪製的 ORM



-- 13_檢視繪製的 ORM





雖然 Visio 2010 也是可以繪製 ORM,但好像沒辦法執行「正向工程(forward Engineering)」與「反向工程(reverse engineering)」。


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



Visio for Enterprise Architects 2005

Visio for Enterprise Architects 包含在 MSDN Premium Subscription 中,而且適用於 Visual Studio Professional 和 Visual Studio Team System 角色架構版本。

除了 Microsoft Office Visio Professional 2003 的所有功能以外,透過 Visio for Enterprise Architects,您還可以針對含有 UML Model 圖表 (Diagram) 的軟體以及含有 Database、ER 和 ORM Source Model 圖表的資料庫執行正反向工程。

Visio for Enterprise Architects 是獨立於 Visual Studio 的程式。

若要使用正反向工程,請先安裝 Visual Studio,然後再安裝 Visio for Enterprise Architects。這兩個程式必須安裝在相同的電腦上。


以下整理了支援資料庫「正向工程(forward engineering)」功能的 Visio 版本:

1. Visio 2000 Enterprise。

2. Visio for Enterprise Architects 2003 (VEA 2003) (based on Visio 2002 and included with Visual Studio .NET 2003 Enterprise Architect)。

3. Office Visio for Enterprise Architects 2005 (VEA 2005) (based on Visio 2003 and included with Visual Studio 2005 Team Suite and Team Architect editions)。




參考資料_ORM

Object-relational mapping
http://en.wikipedia.org/wiki/Object-relational_mapping

Object Role Modeling (ORM)
http://www.orm.net/

物件關聯對映(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping)
http://zh.wikipedia.org/wiki/%E5%AF%B9%E8%B1%A1%E5%85%B3%E7%B3%BB%E6%98%A0%E5%B0%84

Object Role Modeling: An Overview
http://msdn.microsoft.com/en-us/library/aa290383(v=vs.71).aspx

Visio-Based Database Modeling in Visual Studio .NET Enterprise Architect: Part 1
http://msdn.microsoft.com/en-us/library/aa290380(v=VS.71).aspx

Visio-Based Database Modeling in Visual Studio .NET Enterprise Architect: Part 2
http://msdn.microsoft.com/en-us/library/aa290381(v=VS.71).aspx

Visio-Based Database Modeling in Visual Studio .NET Enterprise Architect: Part 3
http://msdn.microsoft.com/en-us/library/aa290382(v=VS.71).aspx

Visio-Based Database Modeling in Visual Studio .NET Enterprise Architect: Part 4
http://msdn.microsoft.com/en-us/library/aa290373(v=VS.71).aspx

Visio-Based Database Modeling in Visual Studio .NET Enterprise Architect: Part 5
http://msdn.microsoft.com/en-us/library/aa290374(v=VS.71).aspx

善用商業分析師:以 Visual Studio .NET 設定物件角色的模型
http://www.microsoft.com/taiwan/vstudio/techinfo/articles/developerproductivity/orm.htm



參考資料_Visio_ORM

下載與安裝被 Visio 2010 移除的圖形(shapes)與樣板(stencils)
http://sharedderrick.blogspot.com/2011/10/visio-2010-shapesstencils.html

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

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

Visio 2010 並沒有特定圖形與樣板隨附產品
http://support.microsoft.com/kb/980536

Software and Database Shapes for Microsoft Visio
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=25110

Visio for Enterprise Architects
http://msdn.microsoft.com/zh-tw/library/ms182014(v=vs.80).aspx

Visual Studio 2005 Team System 塑模策略及 FAQ
http://msdn.microsoft.com/zh-tw/library/ms379623(v=vs.80).aspx

Visio Stencils_The ORM Foundation
http://www.ormfoundation.org/files/folders/visio_stencils/default.aspx?PageIndex=1