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

PowerDesigner 逆向工程:從 Oracle 導出物理/邏輯數據模型全流程圖解

     編輯:DB2 教學

PowerDesigner 逆向工程:從 Oracle 導出物理/邏輯數據模型全流程

PowerDesigner 是主流數據建模工具,支持通過數據庫腳本或直連數據庫逆向生成物理模型 (PDM),再轉換為邏輯模型 (LDM)。本文以 PowerDesigner 12.5 為例,圖文詳解 Oracle 逆向全流程、常見配置陷阱及 LDM 生成技巧。

1. 環境準備

  • PowerDesigner 12.5+(建議 32 位版本)。
  • Oracle Client 32 位(64 位 Client 可能不兼容)。
  • 若無 Client,需提前導出建表 SQL 腳本。

2. 逆向生成 PDM:兩種途徑

途徑一:使用數據庫腳本建模

  1. File → New Model → Physical Data Model,選擇 DBMS: Oracle。
  2. Database → Reverse Engineer → From Script Files。
  3. 添加 .sql 腳本文件,執行逆向,PDM 自動生成。

途徑二:直連數據庫建模(常用)

  1. Database → Reverse Engineer → Connect to Database。
  2. Configure... 配置 ODBC/OLE DB/JDBC 數據源:
    • 選擇 Oracle 驅動,填寫 Host/Port/SID、用戶/密碼。
    • 測試連接成功後確定。
  3. 選擇目標 Schema,勾選需逆向的表/視圖/序列等對象。
  4. 執行逆向,PDM 生成完成。

3. 從 PDM 生成 LDM(邏輯模型樣板)

  1. 打開已生成的 PDM,選擇 Tools → Generate Logical Data Model。
  2. 填寫模型名稱、備註等元信息,確定生成 LDM。
  3. 關鍵設置:默認 Code = Name(紫色等號),修改 Name 會同步修改 Code,不利於保留物理名。需在 Model Options → Naming Convention 中取消 Sync Name/Code,保證 Code 固定為物理名,Name 可編輯為業務名。

4. 常見問題與避坑指南

問題原因解決
連接報錯「ORA-12154」TNS 配置缺失或 Client 版本不匹配檢查 tnsnames.ora、使用 32 位 Client、或改用 JDBC 連接
逆向缺少註釋Oracle 表/列註釋存儲在 USER_TAB_COMMENTS/USER_COL_COMMENTS確保有權限查詢該視圖,PDM 12.5+ 自動讀取
PDM 生成後 Code 被 Name 覆蓋默認啟用 Name/Code 同步關閉 Naming Convention 中的 Sync 選項
大量表逆向緩慢逐個查詢元數據僅勾選核心表、或分批逆向

5. 進階技巧:增量逆向與版本控制

  • 使用 Database → Modify Database 對比現有 PDM 與數據庫差異,增量更新模型。
  • 將 .pdm 文件納入 Git/SVN 版本控制,利用 PDM 內建 Model → Check In/Out 協同建模。
  • 導出 Conceptual Data Model (CDM) 作為企業級數據字典基線。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved