首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Rational Data Architect 入門指南:從邏輯建模到物理數據庫設計

     編輯:DB2 教學

前言:為什麼選擇 Rational Data Architect?

IBM Rational Data Architect (RDA) 是一款企業級數據建模與集成設計工具,專為數據架構師、分析師及開發人員打造。它不僅支援邏輯與物理數據模型的建立,還提供數據源發現、跨源關係映射、結構比較同步、標準相容性分析以及資料庫應用開發除錯等豐富功能。RDA 7.0 版本進一步強化了與 Rational Software Architect、Eclipse 3.2 及 IBM Information Server 的整合,並新增對 XML、DB2 V9、Sybase、Informix 與 MySQL 的支援,涵蓋主流關聯式資料庫平台,讓跨平台建模變得輕鬆直觀。

準備工作:啟動 RDA 並建立工作環境

啟動 RDA V7 後,請先選擇一個新的工作區,關閉歡迎視圖,然後透過 Window → Open Perspective → Data 切換至「Data 透視圖」。這是我們進行所有建模操作的核心介面,左側為 Data Project Explorer,右側則是屬性視圖與調色盤。

Data 透視圖介面

第一階段:建立邏輯數據模型

1. 建立資料設計專案

在 Data Project Explorer 空白處右鍵選擇 New → Data Design Project,專案命名為 OrderDesign。此專案將作為所有模型檔案的容器。

建立 Data Design Project

輸入專案名稱 OrderDesign

專案建立完成

2. 定義域模型:提升資料類型複用性

域模型可定義企業通用的資料類型(如身分證號、金額、百分比),集中管理可大幅提高維護效率。右鍵專案的 Data Models 資料夾,選擇 New → Domain Model,檔案命名為 OrderDomain。

建立 Domain Model

指定域模型檔案名稱

在空白域模型中,右鍵 Package1 依序新增三個 Atomic Domain:

  • Money:Base Type = DECIMAL, Precision = 10, Scale = 2(精確到分的金額)
  • Percent:Base Type = DECIMAL, Precision = 2, Scale = 0(整數百分比)
  • SSN:Base Type = CHAR, Length = 18(社會安全號碼)

新增 Atomic Domain

設定 Money 資料類型屬性

定義 Money 資料類型完成

定義 SSN 資料類型

完成後請儲存 OrderDomain.ddm。

3. 繪製 Order 邏輯模型

右鍵 Data Models 選擇 New → Logical Data Model,檔案命名為 OrderLogical。開啟後關閉 Outline 與 Palette 以騰出繪圖空間。

建立 Logical Data Model

指定邏輯模型檔案名稱

空白邏輯模型

建立實體與屬性

在 Diagram1 空白處點選浮動藍框建立實體,命名為 Order。接著為其新增主鍵 Order ID(INTEGER,勾選 Primary Key、Required、Surrogate Key),並依序加入屬性:

  • Submit Date (TIMESTAMP, Required)
  • Total Price (Money, Required) —— 直接引用域模型定義的類型
  • Tax Rate (Percent, Required)

建立 Order 實體

新增主鍵 Order ID

設定主鍵資料類型

勾選 Surrogate Key

顯示資料類型過濾器

新增 Submit Date 屬性

設定 Submit Date 類型

新增 Total Price 屬性

勾選 Total Price Required

新增 Tax Rate 屬性

同樣方式建立 Customer、Line Item、Item、Product、Service 實體,完整屬性定義如下表:

實體屬性資料類型主鍵必要替代鍵
OrderOrder IDINTEGER✓✓✓
Submit DateTIMESTAMP✓
Total PriceMONEY✓
Tax RatePERCENT✓
CustomerCustomer IDINTEGER✓✓✓
Social Security NumberSSN
NameVARCHAR(100)✓
Phone NumberVARCHAR(50)✓
AddressVARCHAR(300)✓
Line ItemLine Item SequenceINTEGER✓✓
Number OrderedINTEGER✓
ItemItem NumberINTEGER✓✓✓
NameVARCHAR(200)✓
DescriptionVARCHAR(1000)
Unit PriceMONEY✓
ProductProduct CodeVARCHAR(300)✓
ServiceLabor HourINTEGER✓

最終邏輯模型圖如下:

完成的邏輯數據模型

建立實體關聯

RDA 支援兩類關聯:外鍵關聯(Identifying / Non-Identifying / Many-to-Many)與 繼承關聯 (Generalization)。

  • Customer → Order:Non-Identifying Mandatory,子實體 Verb 設為 is placed by,Order 獲得 Customer ID 外鍵。
  • Order → Line Item:Identifying,Line Item 主鍵包含 Order ID,父實體 Verb 設為 contains。
  • Item → Line Item:Non-Identifying Mandatory,Line Item Verb 設為 is described by。
  • Product → Item 及 Service → Item:Generalization 繼承關聯,子類型自動繼承父類型主鍵。

建立 Customer-Order 關聯

關聯圖示說明

設定 Verb

建立 Order-Line Item 識別關聯

設定 contains Verb

建立 Item-Line Item 關聯

建立 Product-Item 繼承

建立 Service-Item 繼承

完成後儲存 OrderLogical.ldm,並可透過 File → Print Preview 列印分享。

第二階段:生成物理數據模型

1. 建立詞彙表:解決命名長度限制

資料庫對物件名稱長度有限制,詞彙表可將邏輯名稱映射為縮寫。右鍵 Data Models 選擇 New → Glossary Model,命名 OrderGlossary。在 Contained Words 區新增詞彙對照表:

完整名稱縮寫完整名稱縮寫
AddressADROrderedODD
CodeCDPhonePHO
CustomerCSTPricePRC
DateDATProductPRD
DescriptionDSCRateRAT
HourHURSecuritySEC
ItemITMSequenceSEQ
LaborLBRServiceSRV
LineLINSocialSOC
NameNAMSubmitSBT
NumberNUMTotalTOL
OrderORDUnitUNT

建立 Glossary Model

空白詞彙表

完成的詞彙表

2. 轉換為 DB2 V9.1 物理模型

選中 OrderLogical.ldm,點選工具列 Transform To Physical Data Model 圖示啟動精靈:

  1. 檔案名:OrderPhysical
  2. 資料庫:DB2 UDB,版本:V9.1
  3. Schema 名稱:Order

啟動轉換精靈

選擇目標資料庫

輸入 Schema 名稱

精靈完成後自動產生 OrderPhysical.dbm,包含 Order schema 下的所有資料表與 Diagram1。

生成的物理模型結構

3. 驗證物理模型細節

在 Diagram1 中選取 ORD_ID 主鍵,屬性視圖可見 Primary Key、Not Null、Identity 均已勾選,完美對應邏輯模型的 Primary Key、Required、Surrogate Key 設定。

ORD_ID 物理屬性細節

物理模型同樣支援列印輸出,方便團隊審閱。

總結與後續學習

本教程示範了 RDA 從邏輯建模、域模型複用、關聯語意定義,到詞彙表輔助命名、物理模型自動生成的完整流程。RDA 強大的跨平台建模與視覺化能力,能顯著提升資料架構師的設計效率與溝通品質。完整範例專案已打包為 OrderDesign.zip,可在教程下載區取得。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved