enterprise|visual|資料|資料庫 Terry Halpin
Microsoft Corporation
2001年11月
摘要:本文是介紹 Microsoft Visual Studio .NET Enterprise Architect 中基於 Visio 的資料庫建模組件系列文章中的第一篇,重點介紹該工具提供的對象角色建模 (ORM) 支援。
目錄
- 簡介
- 建立新的 ORM 模型
- 使用 Fact Editor(事實編輯器) 添加句子類型
- 使用 Fact Editor(事實編輯器) 添加基本內部約束
- 在事實類型中添加樣本
- 在繪圖上顯示句子類型
- 將 ORM 模型映射到邏輯資料庫模型
- 總結
- 參考書目
簡介
Microsoft® Visio® Enterprise 2000 中的資料建模解決方案為使用對象角色模型 (ORM) 進行概念性資訊分析,以及使用關係、IDEF1X、Crowsfoot 和對象關係標記法進行邏輯資料庫建模提供了基本的支援。ORM 架構可以通過實施正向工程獲得邏輯資料庫結構描述,從中可以產生用於多種資料庫管理系統 (DBMS) 的物理資料庫結構描述。對物理資料庫的結構實施反向工程可以獲得邏輯資料庫結構描述或 ORM 架構。最新發行的 Microsoft Visio 2002 產品只包含 Standard 版和 Professional 版,Professional 版包含了以前單獨的 Technical 版,但不包含 Enterprise 版。雖然 Visio 2002 Professional 包含 ORM 模具,但僅用於繪圖,因為它的 ORM 圖表無法映射到邏輯資料庫結構描述,並且無法通過實施反向工程從物理資料庫獲得。Visio 2002 Professional 包含資料庫建模解決方案,用於定義新的邏輯資料庫結構描述或從現有資料庫對其實施反向工程,但是不能實施正向工程獲得物理資料庫結構描述。
Microsoft 曾經一度在其 Visual Studio 產品範圍內支援資料庫設計和程式碼設計(使用 UML)。在收購了 Visio Corporation 之後,Microsoft 有兩種獨立的產品(Visio Enterprise 和 Visual Studio)都支援資料庫設計和 UML,從而在功能上有明顯的重複。為了統一這些產品功能,首先 Visio Enterprise 內原有的深層建模解決方案已被增強並轉移到 Microsoft 新產品 Visio for Enterprise Architects (VEA) 中(該產品包含在 Microsoft® Visual Studio® .NET Enterprise Architect 中)。這些基於 Visio 的建模解決方案都包含在 Visual Studio .NET Enterprise 的 Beta 2 中,隨後發布的最終版本也會包括這些方案。VEA 中的深層 ORM 解決方案與 Visio Professional 中簡單的 ORM 繪圖模具完全不同,並且二者不能互相轉換。不過,VEA 中的資料庫建模解決方案可以從 Visio Professional 中匯入,然後對其實施正向工程,獲得 DDL 指令碼或物理資料庫結構描述。
本系列文章簡單介紹了如何在 VEA 內使用資料庫建模解決方案。Microsoft Corporation 已獲得文中各方面資訊(例如,公司名、產品名、使用者介面)的商標權、著作權或專利權。本文主要介紹 ORM 解決方案的基本內容,假定本文的讀者已經熟悉 ORM 和關聯式資料庫建模。ORM 的概述可從網上下載 [參考書目 ]1 和參考書目 2]。ORM 的深層處理和資料庫建模將在我最新出版的書 [參考書目 ]3] 中討論。
建立新的 ORM 模型
基於 Visio 的建模工具在 Visual Studio .NET Enterprise Architect 中作為獨立的解決方案運行。開啟該工具時,Beta 版的開啟螢幕如圖 1 所示。選擇
Database (資料庫)作為繪圖類型,然後選擇相關 ORM 模板。如果使用者所在地為美國,通常選擇 ORM Source Model (US units),如下所示(預設的頁面大小為 Letter,預設的度量單位為英寸)。將游標懸停在模板表徵圖上時,表徵圖將反白並在左側顯示工具提示。Visio 提供美國版本和國際(公制)版本兩種模板。如果選擇不帶 (US units) 的 ORM Source Model,預設的頁面大小為 A4,預設單位為公制。
注意:在最終的版本中,除非選擇其他版本,否則僅安裝適用於使用者所在省/地區的標準單位系統。
選擇 ORM 來源模型模板時,將顯示如圖 2 所示的螢幕。除了位於頂部的菜單和表徵圖外,還有一個 ORM 模具、一個 Drawing(繪圖)視窗和一個用於顯示 Business Rules 編輯器、資料庫屬性工作表以及可能開啟的其他視窗(例如,Verbalizer(描述器))的地區。
圖 1:選擇使用 ORM Source Model(ORM 來源模型)(單擊映像以查看大圖片)
圖 2:ORM 模具、Drawing(繪圖)視窗和 Business Rules(商務規則)視窗(單擊映像以查看大圖片)
為了減少圖 2 所佔用的空間,我已經對其顯示的大小作了最大程度的調整。通常 Drawing 視窗將佔據大部分螢幕。預設情況下,ORM 模具中的三種形狀顯示在同一水平行中。通過減少 ORM 模具的寬度使三種形狀垂直排列,可以為 Drawing 視窗提供更多空間,如此處所示。要調整模具寬度,請將游標懸停在模具和繪圖視窗之間的邊框上,游標變為調整大小游標時,將邊框向左側拖動。
使用 Fact Editor(事實編輯器) 添加句子類型
通過將 Object Type(物件類型)和 Predicate(謂詞)形狀從模具拖到 Drawing 視窗,可以將句子類型(事實類型或參考型別)添加到 ORM 模型中。另外,還可以使用 Fact Editor(事實編輯器)添加句子類型。現在,讓我們使用 Business Rules 編輯器來進行此操作。將游標移到 Business Rules(商務規則)視窗中的 Fact Types(事實類型)窗格的底端行(在本例中只有一行)。輸入事實類型或按 F2 鍵。顯示 Fact Editor(事實編輯器)。還可以通過從螢幕頂部的
Database(資料庫)菜單中選擇
Database|View|Fact Editor (資料庫|視圖|事實編輯器)來調用 Fact Editor(事實編輯器)。預設情況下,Fact Editor (事實編輯器)的輸入樣式是 Guided(導向),如圖 3 所示。
圖 3:使用 Guided (導向)輸入樣式視窗的 Fact Editor(事實編輯器)(單擊映像以查看大圖片)
可以輸入二元關係,提供正向閱讀(例如,Employee works for Department[僱員就職於部門])和反向閱讀(例如,Department employs Employee [部門僱用僱員])方式。如果需要,可以從二元中選擇不同的設定更改關係中的數量(角色數目)。Object 窗格允許使用者將物件類型分為實體類型、實值型別或外部物件類型。如果實體類型具有簡單的標識方案,則可以添加其參考模式(例如,僱員編號和部門代碼)。
熟悉 Fact Editor(事實編輯器) 後,您可能希望將其輸入樣式更改為 Freeform(自由繪製),這樣就可以通過使用正式文法更加快捷地輸入句子類型。要將輸入樣式更改為 Freeform,可以使用選項按鈕,還可以通過以下步驟使 Freeform 成為預設類型:轉到螢幕頂部的
Database(資料庫) 菜單,選擇
Database | Options | Modeling...(資料庫 | 選項 | 建模...),然後開啟 Fact Editor (事實編輯器)窗格並將首選模式設定為 Freeform,如圖 4 所示。在許多語言中,通過首字母大寫命名物件類型,將其名稱假設為一個詞語(例如 Employee [僱員] 和 VicePresident [副總統]),可以很方便地標識物件類型。對於不適於使用這種方法的語言,或當名稱由以空格分隔的多個詞語組成時,應該選擇括弧模式:將物件類型名稱用方括弧括起來(例如,[employee]、[vice president])。
圖 4:將 Fact Editor(事實編輯器) 的預設輸出樣式設定為 Freeform
在 Freeform 模式中,參考模式顯示在物件類型名稱後面的括弧中。如果應用了反向閱讀,則使用反斜線 (/) 來區分正向閱讀和反向閱讀。