示範環境:
Visual Studio 2010
實作練習:使用 Visual Studio 2010 建立實體資料模型(Entity Data Model,EDM)
步驟01. 執行 Microsoft Visual Studio 2010,在上方工具選單,點選「檔案」\「新增專案」。
選擇所要語言,選擇「Windows Form 應用程式」或是「主控台應用程式」等,點選「確定」。
步驟02. 在上方工具選單,點選「專案」\「加入新項目」。
步驟03. 在「加入新項目」視窗,在左邊窗格,點選「一般項目」,在右邊的中間窗格,選擇「ADO.NET 實體資料模型」,在下方的「名稱」方塊,輸入:myModel1.edmx,點選「新增」。
-- 01_選擇 ADO.NET 實體資料模型
步驟04. 在「實體資料模型精靈」視窗,在「模型應包含哪些內容」區域,點選「從資料庫產生」,點選「下一步」。
-- 02_選取:從資料庫產生
-- 03_若是選取:空的模型
步驟05. 在「選擇您的資料連接」視窗,點選「新增連接」。設定以下的屬性:
在「連接屬性」視窗,在「資料來源」區域,確認選取的是:Microsoft SQL Server (SqlClient)。
在「伺服器名稱」方塊,輸入指定的伺服器名稱,例如:localhost。
在「登入伺服器」區域,點選「使用 Windows 驗證」。
在「連接至資料庫」區域,在「選取或輸入資料庫名稱」方塊,下拉選取目標資料庫,例如:Northwind。
點選「測試連接」,點選「確定」\「確定」。
步驟06. 在「選擇您的資料連接」視窗,檢視下方所產生的實體連接之名稱,例如:NorthwindEntities,點選「下一步」。
此實體連接設定儲存在 App.Config 或 Web.Config 檔案中。
-- 04_選擇您的資料連接
步驟07. 在「選擇您的資料庫物件」視窗,設定以下的屬性:
在「您的模型中要包含哪些資料庫物件」區域,展開「資料表」,勾選所需的資料表,例如:Employees (dbo) 與 Orders (dbo)
勾選「將產生的物件名稱複數化或單數化」,勾選「在模型中包含外部索引鍵資料行」。
在「模型命名空間」方塊,輸入所需的名稱,例如:myNorthwindModel。
-- 05_選擇您的資料庫物件
-- 06_勾選-選擇您的資料庫物件
點選「完成」。
步驟08. 瀏覽「myModel1.edmx」視窗,所呈現的資料:
-- 07_檢視 edmx 視窗
-- 08_Employees_檢視 edmx 視窗
-- 09_Orders_檢視 edmx 視窗
在「Employees」實體,點選「導覽屬性」,檢視「屬性」視窗所的呈現資料:
-- 10_檢視整個模型的屬性
-- 11_點選Employees1導覽屬性
-- 12_點選Employee1導覽屬性
-- 13_點選Orders導覽屬性
-- 14_點選Employee下方的關聯
-- 15_「自我連結」:滑鼠雙擊,檢視此關聯,「參考限制式」視窗
-- 16_點選Employee右方的關聯
-- 17_「資料表聯結」:滑鼠雙擊,檢視此關聯,「參考限制式」視窗
在「Orders」實體,點選「導覽屬性」,檢視「屬性」視窗所的呈現資料:
-- 18_檢視Order實體
-- 19_點選Employee導覽屬性
步驟09. 在右邊的「方案總管」視窗,點選「模型瀏覽器」。
-- 20_「模型瀏覽器」視窗
步驟10. 檢視左邊的「工具箱」。
-- 21_檢視「Entity Framework 工具箱」
步驟11. 點選「Employee」實體右邊的「關聯」線,檢視其「屬性」視窗。
-- 22_點選End1 OnDelete
-- 23_點選End1 OnDelete
-- 24_點選End1 多重性
-- 25_點選End2 OnDelete
-- 26_點選End2 多重性
若是更換為 AdventureWorks2008 資料庫,選取全部的資料表,有部分物件、關連性無法產生模型。
-- 27_使用AdventureWorks2008 資料庫
實體資料模型(Entity Data Model,EDM)
實體資料模型 (EDM) 是描述資料結構的概念集,不論其預存形式為何。
EDM 借用 Peter Chen 於 1976 年描述的實體關聯模型 (Entity-Relationship Model),但同時補強實體關聯模型並延伸其傳統用法。
EDM 解決資料儲存形式過多所導致的難題。例如,試想將資料儲存在關聯式資料庫、文字檔、XML 檔、試算表及報告中的企業。
這代表著資料模型、應用程式設計及資料存取各方面的重大挑戰。
設計資料導向應用程式時,難題在於撰寫有效率且可維護的程式碼,而不需犧牲資料存取、儲存的效率及擴充性。
資料具有關聯結構時,資料存取、儲存及擴充性非常有效率,但維持寫入效率及可維護的程式碼則更為困難。
資料具有物件結構時,取捨則是相反的:必須犧牲資料存取及儲存的效率和擴充性,以換取寫入效率和可維護的程式碼。
即使能在這些取捨當中找到平衡,在不同形式之間轉移資料時仍會出現新的挑戰。
實體資料模型能夠依據獨立於任何儲存結構描述的實體和關聯來描述資料結構,因此可以解決這些難題。
這也讓資料的預存形式與應用設計和開發不相關。
同時,由於實體和關聯會以應用程式中使用資料的方式 (而非其預存形式) 來描述資料結構,因此可以隨著應用程式的演進而演進。
conceptual model是以實體和關係代表資料結構的特定表示,而且通常是以實作 EDM 概念的特定定義域語言 (DSL) 定義而成。
概念結構描述定義語言 (CSDL) 是此類特定定義域語言的範例之一。
您可以將概念模型中描述的實體和關聯視為應用程式中的抽象物件和關聯。
這樣可讓開發人員專注於概念模型,不需擔心儲存結構描述,也可以讓他們有效率地撰寫程式碼並兼顧可維護性。
同時,儲存結構描述設計人員可以專注於資料存取、儲存的效率及擴充性。
「概念模型」(Conceptual Model) 是將某些資料結構以實體和關聯性表示的特定表現方式。
--
.edmx 檔案概觀 (Entity Framework)
.edmx 檔案是一種 XML 檔案,可定義概念模型、儲存體模型,並讓這兩種模型產生對應。
.edmx 檔也包含 ADO.NET 實體資料模型設計工具 (Entity Designer) 使用的資訊,以圖形方式呈現模型。
建立 .edmx 檔案的建議做法是使用「實體資料模型精靈」。如需詳細資訊,請參閱 HOW TO:建立新 .edmx 檔案 (實體資料模型工具)。
.edmx 檔案可以包含在下列 Visual Studio 專案分類中:
(1) 應用程式專案
(2) 類別庫 (Class Library)
(3) Web 專案
--
傳統且常見的建置應用程式或服務之設計方式是將應用程式或服務分成三個部分:網域模型、邏輯模型和實體模型。
(1) 「網域模型(domain model)」會在建立模型的系統中定義實體和關聯性。
(2) 關聯式資料庫的「邏輯模型(logical model)」會將實體和關聯性正規化成含有外部索引鍵條件約束的資料表。
(3) 「實體模型(physical model)」會透過指定儲存詳細資料 (例如資料分割和索引),處理特定資料引擎的功能。
雖然資料庫管理員會調整實體模型來改善效能,不過撰寫應用程式程式碼的程式設計人員主要會透過撰寫 SQL 查詢和呼叫預存程序 (Stored Procedure),限制他們自己使用邏輯模型。
網域模型通常會當做擷取和傳達應用程式需求的工具使用,而經常當做在專案早期階段中檢視和討論,然後放棄的惰性圖表使用。
許多開發小組會略過建立概念模型,而從指定關聯式資料庫中的資料表、資料行和索引鍵開始。
Entity Framework 為模型賦予生命,方法是讓開發人員在網域模型 (在 Entity Framework 中稱為「概念」模型) 中查詢實體和關聯性,同時仰賴 Entity Framework 將這些作業轉譯成資料來源特有的命令。
如此,應用程式便不再受限於特定資料來源的硬式編碼相依性。
概念模型、儲存體模型和兩者之間的對應會以 XML 架構的結構描述來表示,並定義於具有對應副檔名的檔案中。
(1) 概念結構定義語言 (Conceptual schema definition language,CSDL) 會定義概念模型。 CSDL 是實體資料模型的 Entity Framework 實作。 副檔名是 .csdl。
(2) 存放結構定義語言 (Store schema definition language,SSDL) 會定義儲存體模型,也稱為邏輯模型。 副檔名是 .ssdl。
(3) 對應規格語言檔案 (Mapping specification language,MSL) 會定義儲存體模型和概念模型之間的對應。 副檔名是 .msl。
參考資料
實體資料模型
http://msdn.microsoft.com/zh-tw/library/ee382825.aspx
Entity Data Model
http://msdn.microsoft.com/en-us/library/ee382825.aspx
ADO.NET Entity Framework
http://msdn.microsoft.com/zh-tw/library/bb399572.aspx
Entity Framework 概觀
http://msdn.microsoft.com/zh-tw/library/bb399567.aspx
使用者入門 (Entity Framework)
http://msdn.microsoft.com/zh-tw/library/bb386876.aspx
ADO.NET Entity Framework
http://zh.wikipedia.org/zh-tw/ADO.NET_Entity_Framework
Entity Framework Design
http://blogs.msdn.com/b/efdesign/
搜尋本站文章
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
使用「實體關聯(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
使用 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
使用「實體關聯(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
訂閱:
文章 (Atom)
























































