PowerDesigner 是企業級資料建模工具,支援概念 (CDM)、邏輯 (LDM)、物理 (PDM) 三層模型轉換。本文以 PowerDesigner 12.5 + SQL Server 2005 為例,示範完整設計部署流程。
工具與環境
- 建模工具:Sybase PowerDesigner 12.5
- 目標資料庫:Microsoft SQL Server 2005
- 連線方式:ODBC 系統資料來源
第一階段:概念資料模型 (CDM) - 概要設計
- 啟動 PowerDesigner → File > New Model > Conceptual Data Model。
- 建立實體與關聯:工具列選擇 Entity 繪製表格,Relationship 建立關聯 (1:N, M:N 等)。
- 定義屬性:雙擊實體進入屬性視窗,新增屬性並設定:
- M (Mandatory):
✓ 表示 NOT NULL。
- P (Primary):
✓ 表示主鍵。
- D (Display):
✓ 表示圖形顯示。
第二階段:物理資料模型 (PDM) - 詳細設計
- 選單 Tools > Generate Physical Data Model...。
- 目標 DBMS 選擇 SQL Server 2005,確定自動轉換資料型別、命名規範、關聯轉外鍵。
- 檢查 PDM 物件:資料型別對應 (如 VARCHAR→NVARCHAR)、身分識別欄位、預設值、檢查約束、索引定義。
第三階段:目標資料庫準備
- SSMS 中手動建立資料庫:
CREATE DATABASE Students; (設定檔案群組、復原模式、定序等)。
- ODBC 管理員 (
odbcad32.exe) 建立系統資料來源 (System DSN),選擇 SQL Server Native Client,指向新建資料庫。
第四階段:腳本產生與部署
方式 A:兩步驟 (產生腳本 → 手動執行)
- PDM 中 Database > Generate Database...,選擇 ODBC 資料來源,產生
.sql 腳本檔。
- SSMS 開啟腳本檔,連線目標資料庫執行。
方式 B:一鍵直連部署 (推薦開發環境)
- Database > Database Generation... 勾選 Direct Generation。
- 設定連線資訊 (ODBC DSN、帳號密碼),直接對目標資料庫建立/更新結構。
- 支援 Generate / Update / Drop 三種模式,可比對現有結構產生差異腳本。
進階技巧與最佳實務
| 需求 | 操作 |
| 命名規範統一 | Model > Naming Conventions 設定表/欄/鍵/索引命名模式 (如 pk_%TABLE%, idx_%COL%) |
| 版本控管 | File > Check In/Out 整合 SVN/Git,或匯出 .xdm/.pdm 檔納入原始碼庫 |
| 反向工程既有庫 | Database > Reverse Engineer... 透過 ODBC 讀取現有結構生成 PDM |
| 產生文件 | File > Report > Data Model Report 產生資料字典 Word/HTML/PDF |
| 模型比對 | Tools > Compare Models 比對兩版 PDM 差異,產生升級腳本 |
常見問題排查
- ODBC 連線失敗: 確認 SQL Server Browser 服務啟動、防火牆開放 1433、用戶端安裝 Native Client。
- 型別映射錯誤: 檢查 PDM Database > Edit Current DBMS 中的資料型別映射表。
- 中文欄位名亂碼: 確保 PDM 檔案編碼為 Unicode,ODBC DSN 設定正確代碼頁。
PowerDesigner 雖屬傳統工具,但其 CDM→PDM 轉換、模型比對、文件產生等功能,在大型專案資料架構治理上仍具不可替代價值。