數據庫和信息設計是系統開發生命周期中的重要組成部分,但是常常被忽視。通過在設計中建立和應用標准並使用可靠的設計方法,組織可以創建滿足業務需求的高度可重用模型。Rational Data Architect 是一款信息建模工具,可以為組織中的業務和 IT 人員之間的溝通和理解提供便利。通過 Rational Data Architect 和本文介紹的建模最佳實踐可以幫助組織體驗到許多優勢,例如:
提高 IT 組織成員的效率:
業務分析師
數據建模人員或數據架構師
數據庫管理員
數據治理人員
在業務和 IT 部分之間提供結構化、標准化的通信形式
利用和重用現有投資
減少數據冗余
改進系統文檔
通過使用命名和域標准流線化標准化流程
減少語法錯誤
提供先見之明 —— 在實現之前對未來建模
數據建模是一種非常有趣的技巧,因為始終存在不同的方法可以建模相同的需求,並且每種方法通常都有自己的優勢和劣勢。雖然很難斷定某種模型創建方法一定優於另一種方法,但是有一些基本的原則可以幫助實現靈活的模型,以滿足未來需求。
本文檔分享了一些觀點,這些觀點來自 IBM 數據建模人員使用 Rational Data Architect 的經驗。
信息建模簡介
信息建模是一種端對端的設計工作,需要將業務需求轉換成業務模型,並最終轉換成一種特定於數據庫平台的技術模型。業務數據模型稱為邏輯模型,而特定於平台的模型則稱為物理模型。
邏輯模型設計包括如下內容:
建立命名和域標准
設計規范化的模型(至少為第三規范形式)
定義實體、它們的屬性以及它們之間的關系。
物理模型設計包括以下內容:
表的反規范化
性能對象,比如索引、物化查詢表和分區
數據庫存儲對象分配
最終,您可以使用物理模型生成代碼以將模型部署到數據庫系統。Rational Data Architect 可以比較並同步模型和由模型生成的數據庫,從而支持完整的數據庫生命周期功能。
Rational Data Architect 支持 XML 模式建模功能,這超越了傳統的數據建模功能。然而,本文將只針對數據庫建模最佳實踐。
對讀者的要求
本文假設您熟悉數據建模以及相關概念。因此,本文只給出了有關每個概念的極為簡要的描述。本文重點關注在 Rational Data Architect 內應用這些概念和特性的最佳實踐。有關產品特性的詳細信息,請參考 Rational Data Architect 文檔。
熟悉物理數據模型的人有時會混淆實體和屬性以及表和列。實體和屬性是邏輯數據模型中的邏輯結構,它們在物理模型中的對應部分為表和列。本文假設讀者熟悉邏輯數據模型與物理數據模型之間的差異以及與這兩者相關的術語。
本文內容以 Rational Data Architect Version 7 為例。IBM 最近發布了 Rational Data Architect Version 7.5(從 V7.5.2 開始更名為 InfoSphere Data Architect),本文描述的最佳實踐可能不適合作為 Rational Data Architect 7.5 或 Rational Data Architect 未來版本的最佳實踐。
高品質數據庫設計的特征
數據庫設計的目標是生成高質量的邏輯和物理數據模型。
高質量邏輯數據模型擁有以下特點:
它們使用第三種規范形式(3NF)
它們遵循命名和域標准
它們使用圖形進行適當的歸檔,這些圖形可以將模型清晰地傳達給相關各方
它們根據特定業務需求創建,並與之相關聯
高質量物理數據模型具有以下特點:
它們最小化 I/O
事務開銷和維護操作抵消了用於改善查詢性能的設計特性帶來的優點
它們改善了數據庫管理效率,比如滾進和滾出數據
通用最佳實踐
本節描述了在使用 Rational Data Architect 時使用其他軟件工具應當遵循的一些基本原則。
Eclipse 和一般 Rational Data Architect 用戶體驗
對磁盤進行碎片整理
和大部分應用程序一樣,經過一段時間後,Rational Data Architect 會在您的硬盤上產生碎片文件。通過定期地整理硬盤中的碎片,可以使您的所有桌面應用程序維持在一個最佳的性能水平。
在完成初始化安裝以及應用後續補丁後,執行磁盤碎片整理非常重要。
應用最新補丁包
Rational Data Architect 大約每三個月發布一個新的補丁包。因此請務必定期檢查更新。
如果使用 IBM Installation Manager,單擊 Installation Manager 中的更新包圖標應用更新。
然而,如果采用靜默安裝的方式安裝產品,那麼請聯系您的安裝管理員以獲得補丁包發布細節。
有關最新補丁包的信息可以在 Rational Data Architect Support 站點找到:
http://www.ibm.com/software/data/integration/support/rda/
創建易於查找的工作空間
工作空間包含使用 Rational Data Architect 創建的所有項目文件。您創建的某些工作空間定制被存儲到一個重要的元數據文件夾中。
如果希望查看項目日志文件,那麼需要知道該文件夾的位置。
為了方便查找元數據文件夾,您可能希望將活動工作空間從默認目錄移動到更易查找的位置,比如
C:\Workspace\Workspace_Name。
頻繁保存
頻繁保存可以避免丟失工作。當使用 Ctrl+S 保存模型工件時,Rational Data Architect 是特定於上下文的。如果單擊某個圖表,它將保存該圖表,如果您位於一個詞匯表模型中,它將保存詞匯表模型。要保存工作空間中的所有更改,使用 Ctrl+Shift+S。
如果您不小心保存了多余的工作,Rational Data Architect 提供了許多撤銷已保存更改的方法。要了解其中一種方法,請參考 “使用本地歷史執行比較和模型恢復” 小節。
最小化 data project explorer 中打開的項目和模塊的數量
不管何時在 Rational Data Architect 中打開項目或模型,內存都將被分配給處理對象的進程。如果占用太多內存,那麼內存將開始分頁並對系統性能產生負面影響。如果您的工作空間中有許多模型或項目,並且您當前只需要處理其中之一,那麼請關閉其他所有對象。當模型處於打開狀態時,Rational Data Architect 將提示用戶打開相關的資源,因此您不必擔心要回憶哪些模型具有相關的對象。
了解並更新快捷鍵
與大多數桌面應用程序相同,鍵盤快捷鍵可以幫助提高您的效率。
您可以在 Rational Data Architect 中自定義快捷鍵。要查看快捷鍵列表,選擇 Window > Preferences > General > Keys。您將看到如下所示的屏幕:
為您的特定任務創建自定義透視圖
在 Rational Data Architect 中,您可以自定義透視圖的布局。您可以解除視圖鎖定並來回移動視圖,甚至關閉它們。通過選擇 Windows > Show VIEw可以打開更多視圖。如果在透視圖中不小心關閉了一個需要使用的視圖,那麼也可以使用此菜單選項找到該視圖。
當透視圖布局滿足您的需求後,就可以保存透視圖並給它起一個容易記住的名稱。
有關更多信息,請觀看 Rational Data Architect Information Center 中提供的視頻教程:
http://publib.boulder.ibm.com/infocenter/rdahelp/v7r5/topic/com.ibm.etools.workbench.tutorial.doc/topics/wbtBlesson4.Html
始終干淨地啟動
使用 -clean 選項始終干淨地啟動 Rational Data Architect。該選項將清除由 OSGi 框架和 Eclipse 運行時環境使用的緩存數據,並幫助避免在安裝、更新後或使用共享配置時由緩存數據中的異常引起的啟動錯誤。
修改 Rational Data Architect 快捷鍵屬性,以包括 - clean 選項(比如,"C:\ProgramFiles\IBM\SDP70\eclipse.exe" -clean - product com.ibm.rational.rda.product.ide)。在 Microsoft Windows 中,右鍵單擊此快捷鍵,選擇 propertIEs,然後將 `-clean' 參數添加到 Target 後面。
在初次創建圖表期間對齊圖表以方便打印
當您開始構建數據模型的圖表時,應當考慮到未來的打印工作。這可以使您避免在未來重新設計圖表。要在構建圖表時了解圖表在未來的打印方式,請在打印或繪制 Rational Data Architect 圖表時考慮以下可幫助提高生產力的技巧:
1. 右鍵單擊圖表表面區域並選擇 VIEw -> Page Breaks。圖表的概要視圖將顯示一些行,表示圖表在頁面間的分布方式:
2. 當圖表處於活動狀態時,選擇 File -> Page Setup:
您可以在頁面設置屏幕中調整設置,從而確定分割頁面的位置。上圖顯示的是針對大打印頁的設置。注意,選擇 “Use diagram settings” 被選擇,並且在 Size 組中將寬度設置為 33in,將高度設置為 44in。這是在 8.5 英寸寬和 11 英寸高的默認字符大小的基礎上修改的。當用戶單擊 OK按鈕,這些設置將即刻生效。
當單擊完 ok 後,您會看到概要視圖和圖表表面中顯示的頁面變少了。這表示頁面大小變大,因此頁面分割變少:
如果您希望圖表被放到中心,那麼通過右鍵單擊圖表並選擇 VIEw > Recalculate Page Breaks 來重新計算頁面分割:
輸出發生變化:
其他打印技巧
如果在調整頁面分割後顯示的頁面數量仍然超過您期望的數量,那麼可以縮小模型的大小以適合您指定的頁面數。單擊 File>Print,然後在打印對話框的 Scaling 部分中,使用 Fit to選項縮小圖表,使其容納您指定的任意數量的頁面:
此例顯示的設置用於打印跨兩個頁面的圖表。
使用本地歷史執行比較和模型恢復
當您在 Rational Data Architect 中創建或修改文件時,將為模型文件維護一個本地編輯歷史(比如 .pdm 或 .ldm)。每次編輯和保存文件時,將同時保存一張屏幕快照副本。可以使用此快照副本將當前文件替換為此前編輯過的文件,甚至恢復已刪除的文件。您還可以比較所有本地編輯文件的內容。本地歷史中的每一次編輯都通過文件的保存日期和時間惟一地標識。
使用“'Replace with Local History”功能恢復文件的早期版本。這將恢復在處理項目時保存過的某些工作。如果希望查看已保存的不同版本之間的區別,那麼使用“Compare with Local History”功能。這些功能的詳細使用信息將在本文檔下一頁的兩節內容中介紹。
您可以配置工作台首選項參數,指定希望將文件保存多少天,或者每個文件中需要保存多少條目,或者被保存文件的最大文件大小。選擇 Window > Preferences並單擊 General >Workspace > Local History,修改這些設置。
要增加本地歷史的最大文件大小,選擇 Window >Preferences並單擊 General > Workspace > Local History。您可以選擇保存歷史的時間期限,以及歷史文件的最大大小。默認歷史文件的大小為 I MB,這個值相對較小。所允許的最大文件大小為 I00 MB。作為一項最佳實踐,將文件大小增加到可以承受的最大大小。您還可能希望將歷史的保存期限設置為比默認的 7 天期限更長的期限——將 Days to keep files設置為一個更長的期限。
將模型更改保存為一個較長的時間期限不會產生明顯的弊端,但是文件大小會增長到指定的最大值。建議將時間期限的最低值設置為 183 天(大約為 6 個月)。
如何將數據模型資源與本地歷史中的一個早期狀態進行比較
1.在 data project explorer 視圖中,選擇希望將其與本地歷史進行比較的模型。
2.如果選擇一個特定的數據模型,您可以右鍵單擊數據模型並選擇 Compare With > Local History。Compare From Local History 對話框將打開並顯示介於所選資源當前版本與早期版本之間的編輯歷史,這是由您單擊的時間戳決定的(Rational Data Architect 默認設置為最近一次的歷史版本)。這個功能可以幫助您決定從哪一個模型版本中執行恢復。下一小節將詳細介紹。
3. 單擊 OK關閉對話框。
如何從早期的歷史狀態恢復工作台或模型資源
1. 在其中一個導航視圖中,選擇希望保存本地歷史狀態的文件夾或項目。
2. 如果處於項目級別,那麼右鍵單擊資源並選擇 Restore from Local History...。如果選擇了一個特定的數據模型,可以右鍵單擊該模型並選擇 Replace With > Local History...。Restore From Local History 對話框將打開並顯示該資源的編輯歷史。
3. 選擇希望恢復的文件。如果不希望恢復文件的最近一次的狀態,可以從對話框的 Local History 列表中選擇文件的任何其他狀態。對話框的底部面板展示了所選狀態的內容。
4. 單擊 Replace。
增加可用於 Rational Data Architect 的虛擬內存:
如果您處理的是大型模型並希望改善 Rational Data Architect 的性能,那麼增加可用於 Rational Data Architect Eclipse 實例的內存。如果將 Rational Data Architect 安裝到在第一次使用 IBM Installation Manager 時指定的默認目錄,那麼需要執行以下步驟:
1. 關閉 Rational Data Architect。
2. 轉到 C:\ProgramFiles\IBM\SDP70\eclipse.ini。
3. 在 -Xmx@@@m 一行中修改值 (@@@),將其修改為您希望為 Rational Data Architect 分配的內存量。例如,如果希望使用 768 MB 內存,那麼其值為:-Xmx768m。
4. 保存並關閉文件。
5. 啟動 Rational Data Architect。
增加可用於 Rational Data Architect 中的數據模型導入 / 導出橋接的虛擬內存:
如果模型過於龐大且內存設置太低,那麼導入 / 導出橋接可能會失敗。通過增加可用的虛擬內存,您可以改善導入 / 導出的性能。
警告:為導入橋接分配的內存不要超過 768MB。在 Rational Data Architect 版本 7 中,如果為橋接分配的內存超過 768MB,那麼橋接將無法正常秩序。
要增加 Rational Data Architect 的可用虛擬內存,執行以下步驟:
1. 對於 Rational Data Architect V7,在一個普通文本編輯器(如 Notepad)中打開 MIRsetup.xml 文件。MIRsetup.XML 路徑類似於如下所示:
C: \ ProgramFiles\IBM\SDP70Shared\plugins\com.ibm.datatools.metadata.wizards.miti.win32_1.variable_part\MetaIntegration\conf\MIRSetup.XML,其中 variable_part 將根據 Rational Data Architect 的版本發生變化。
2. 找到包含以下文本的部分:
Purpose: JRE or JDK execution Options Value: Run time option string (optional)
Default: "-Xmx256m" to allocate more memory -->
<Options></Options>\
3. 在 Options 標記之間輸入您希望為導入 / 導出橋接分配的內存量(在本例中,我們為橋接分配了 768 Mb 內存):
<Options>-Xmx768m</Options>
警告:不要為導入橋接分配超過 768MB 的內存。在 Rational Data Architect 版本 7 中,如果為此橋接分配的內存量超過 768MB,那麼該橋接將無法正常工作。
4. 保存並關閉文件。打開 Rational Data Architect,橋接現在將使用更多的內存。
更新導入 / 導出橋接以啟用或禁用 Rational Data Architect 中可用的橋接
Rational Data Architect 包含了數量龐大的導入 / 導出橋接,可以在各種產品中共享元數據。由於可用橋接的數量過於龐大,Rational Data Architect 只能包括最常用的橋接作為產品安裝的一部分。然而,通過尋找 MIRModelBridges.XML 文件並更新橋接,您可以手動更新可用於產品的橋接。
MIRModelBridges.XML 文件的默認目錄為:
C:\ProgramFiles\IBM\SDP70Shared\plugins\com.ibm.datatools.metadata.wizards.miti.
win32_1.0.1 .v YYYYMMDDHHMM \MetaIntegration\conf
根據所使用的 Rational Data Architect 的版本和補丁包級別的不同,YYYMMDDHHMM 部分的內容也是不同的。它表示年、月、日、小時和分鐘均使用 YYYYMMDDHHMM 格式。日期值越高,文件夾包含的插件的補丁包級別越高。因此,如果您使用的是最新的補丁包,您需要選擇值最大的日期。
XML 文檔主要分為兩個部分。Import 部分包含導入橋接,以 <Import> 標記開始,以 </Import> 標記結束。Export 部分包含導出橋接,以 <Export> 標記開始,以 </Export> 標記結束。
在每一個部分中,可以看到可用於 Rational Data Architect 中每一個橋接。雖然這些橋接可以使用,但是它們不會出現在橋接選擇列表中,除非橋接的 enabled 元素被設置為 'True'。下圖展示了啟用的和禁用的橋接。您可以在文件中更新橋接以啟用感興趣的橋接,並保存文件(首先創建文件的一個備份)。保存好文件並重啟 Rational Data Architect 後,所有新啟用的橋接現在都可以在 Rational Data Architect 中使用。