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

ERwin 實戰數據庫設計方法論:從命名規範到主題域的最佳實務

     編輯:Oracle 資料庫基礎

ERwin 不只是畫圖工具,配合 IDEF1X/IE 方法論與規範流程,才能產出高品質、可維護的資料模型。本文結合多年專案經驗,闡述 ERwin 設計全流程關鍵決策點。

使用前準備

1. 掌握建模方法論

  • ERwin 支援 IE (Information Engineering) 與 IDEF1X 兩種標記法。必須先精通其一,否則連實體、關聯、屬性符號都看不懂。
  • IDEF1X 強調語義模型:實體、關聯、屬性三大核心,並提供標準化標記語言與輔助方法,確保設計效率與品質平衡。

2. 熟悉 ERwin 介面與目標資料庫差異

  • 邏輯模型 ≠ 物理模型。ERwin 需對應目標資料庫(Oracle、SQL Server、DB2 等)的資料類型、命名長度限制、約束語法等物理特性。
  • 大型資料庫專案,物理參數(分區、表空間、儲存子句)務必在模型階段規劃,否則正向工程產出的 DDL 需大量人工修改。

3. 確立命名規範(專案啟動前必定)

  • 若為大系統子系統,優先遵循母系統命名規範,協商後再改良。
  • 考慮開發/執行工具限制(如 30 字元上限)、生產環境規範。
  • 推薦 匈牙利命名法:前綴標識業務域(如 PAR_ 參數表、DTL_ 明細表、LOG_ 日誌表),欄位名含語義前綴(ID_、CD_、DT_、AMT_)。
  • 欄位名全域唯一,避免同名不同義導致 JOIN 錯誤。

4. 表格分類與 Subject Area 劃分

  • 依業務域/功能劃分 Subject Area:參數表、主檔、交易明細、彙總統計、日誌稽核、暫存介面 等。
  • 每類表統一前綴/後綴,便於 Subject Area 篩選與 DDL 產生過濾。

建立邏輯模型關鍵技巧

1. 善用 Domain(域)

  • Domain 定義屬性的資料類型、長度、精度、預設值、檢核規則。
  • 策略:不用則不建,用則全用。每類語義相同的屬性(如所有代碼欄位 CHAR(3)、所有金額 NUMBER(18,4))建立一個 Domain,修改時只改 Domain 定義,所有引用自動同步。

2. 維護 Definition(定義/說明)

  • 每個 Domain、Entity、Attribute 填寫 Definition,即時同步業務語義。
  • 產生資料字典文件時直接輸出,免去事後補寫。

3. 鍵值命名規範

  • PK:PK_表名、FK:FK_子表_父表、UK:UK_表名_業務鍵、Index:IDX_表名_欄位。
  • ERwin 產生名稱時可自訂命名範本,充分利用避免人工誤差。

4. 關聯命名:採用「子實體 屬於 父實體」

  • 預設內部編號無語義。建議命名為 子實體縮寫 屬於 父實體縮寫(如 DTL_ORD 屬於 HDR_ORD),動詞固定為「屬於」,語義清晰且唯一。

5. 靈活運用 Subject Area

  • 業務分析時,將相關實體放入專屬 Subject Area 手工排版,呈現清晰 ER 圖。
  • 工作表與歷史表結構相似,放入同一 Subject Area 並排,同步修改避免結構漂移。

6. 審慎使用參考完整性

  • 三種實現方式:資料庫 FK 約束(最嚴格、效能影響最大)、觸發器(彈性大、無痕跡風險)、應用層邏輯(效能最好、需開發自律)。
  • 高併發核心交易系統建議:核心主檔用 FK,明細/日誌用應用層檢核,平衡一致性與效能。

正向/逆向工程與文件產生

  • 正向工程:依 Subject Area 產生 DDL 腳本,支援版本比對、增量腳本。
  • 逆向工程:從現有資料庫匯入,快速建立模型基線。
  • 文件產生:自訂範本輸出 Word/HTML/PDF 資料字典、ER 圖、DDL 腳本,納入專案交付物。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved