PowerDesigner 15.1 進階使用技巧 (四):遞歸關係、繼承建模、標識符與顯示優化
延續前三篇基礎操作,本文聚焦於概念模型 (CDM) 與邏輯模型 (LDM) 進階建模技巧:樹狀結構遞歸關係、繼承層次佈局、標識符管理、資料類型顯示控制、關係命名規範與模型轉換流程。
1. 遞歸關係:樹狀資料結構建模
適用場景:組織架構、分類目錄、員工主管關係等。
- 操作: 在實體上建立 Relationship,兩端皆連接至自身實體。
- 角色命名: 父端角色如
ParentCategory,子端角色如 SubCategories。
- 術語: 根節點、分支節點、葉子節點。
2. 資料類型顯示控制
| 模型層級 | 隱藏欄位資料類型 | 隱藏圖形資料類型 |
| CDM/LDM | Entity Properties → Attributes → Customize Columns → 取消勾選 Data Type | Tools → Display Preferences → Entity → 取消勾選 Data Types |
| PDM | 同上 | 同上 (PDM 通常需顯示具體 DB 類型) |
注意: CDM/LDM 實體屬性定義允許自訂資料類型名稱 (如 abc),僅會警告不阻擋;PDM 則強制對應目標 DBMS 類型系統。
3. 關係命名與外鍵管理
- 命名規範:
ParentEntity_ChildEntity (如 Teacher_Student),不可為空、不可重複。
- 外鍵生成: 僅在 LDM/PDM 關係屬性中設定;CDM 無外鍵概念。
- 連線佈局: PowerDesigner 自動佈局常需手動微調連線彎曲點,避免重疊實體。
4. 標識符 管理
- Identifier_1 含義: 對應主鍵/唯一標識,官方文檔定義為實體的主識別碼。
- 隱藏顯示: Tools → Display Preferences → Entity → 取消勾選 Identifiers。
5. 繼承建模最佳實踐
- 佈局方向: 父類在上、子類在下 (垂直),語義最清晰;左右佈局易混淆。
- 多子類共用繼承: 雙擊 Inheritance → More → Children → Add Children → 勾選多個子實體。
- LDM→PDM 轉換行為: 邏輯模型繼承生成物理模型時,可選「僅生成子類表」 (不生成父類表),父類屬性下推至子類表。
- 參考: PDM 繼承生成策略詳細說明
6. CDM 與 LDM 核心差異對照
| 特性 | CDM (概念模型) | LDM (邏輯模型) |
| 關係類型 | 僅 Relationship | Relationship + N:M Relationship |
| Data Items | 有 (全域屬性字典,同名同義) | 無 |
| 繼承限制 | 無限制 | 嚴格限制 (需符合正規化) |
| 元素複製 | 實體/屬性不可跨模型複製 | 同上 |
| Note/顏色 | 可跨模型複製 | 可跨模型複製 |
| Association | 有 | 無 |
7. 正確建模流程:CDM → LDM → PDM
- 設計 CDM,完成業務概念審核並簽核。
- 基於 CDM 生成 LDM (
Tools → Generate Logical Data Model),在 LDM 上補充技術細節 (正規化、N:M 關係展開、資料類型細化)。
- 若發現 CDM 需調整,**直接在 LDM 修改**,原 CDM 保持凍結作為基線。利用顏色區分來源 (CDM 繼承 vs LDM 新增)。
- 基於 LDM 生成 PDM,針對目標 DBMS 微調。
此流程確保業務語義與技術實現分離,便利變更影響分析與追溯。
- 上一篇文章: SQLite 資料庫應用實戰:沙盒路徑、查詢語法、子查詢與多表連接
- 下一篇文章: ADO.NET 核心組件深度解析 (三):DataAdapter 資料適配器
Copyright ©
程式碼之家 All Rights Reserved