資料庫概念結構設計:E-R 建模、視圖集成衝突消除與驗證方法論
概念設計是整個資料庫設計的關鍵:將用戶需求抽象為獨立於 DBMS 的概念模型(E-R 圖),特點真實、易懂、易改、易轉換。
一、四大設計策略
- 自頂向下:定義全局框架 → 逐步細化。
- 自底向上:定義局部視圖 → 集成全局。
- 逐步擴張:核心概念 → 向外滾雪球擴充。
- 混合策略:自頂向下骨架 + 自底向上局部集成(工程常用)。
二、三種核心抽象機制
- 分類:定義類型,抽象「is member of」(值→型)。
- 聚集:定義組成,抽象「is part of」(整體→部件)。
- 概括:定義子集層次,抽象「is subset of」(繼承性)。
三、局部視圖設計步驟
- 選擇局部應用(參考中層 DFD)。
- 從數據字典抽取數據項,標識實體、屬性、碼。
- 確定實體間聯系 (1:1/1:N/M:N)。
- 兩條準則:屬性不可再分、聯系只發生在實體間。
四、視圖集成三大衝突類型
| 衝突類型 | 子類型 | 處理原則 |
| 屬性衝突 | 域衝突 (類型/範圍/集合不同) | 統一為較大/較精確域 |
| 取值單位衝突 | 統一單位並轉換 |
| 命名衝突 | 同名異義 | 改名消除歧義 |
| 異名同義 | 統一命名 |
| 結構衝突 | 抽象層次不同 | 調整至同一層次 |
| 屬性集合/次序不同 | 取並集、統一順序 |
| 聯系類型不同 | 分析語義、取最通用 |
五、冗餘分析與消除
- 冗餘數據:可由基本數據導出(如 Q4=ΣQ5)。
- 冗餘聯系:可由其他聯系導出(如職工領導關系可由部門-經理+部門-職工導出)。
- 消除方法:分析法(數據字典/DFD 語義) + 範式理論(FD 形式化)。
- 保留冗餘需在數據字典註記完整性約束(如 Q5 變更觸發 Q4 更新)。
六、全局概念結構驗證
- 內部一致性:無矛盾表達。
- 正確反映每個局部視圖(屬性、實體、聯系)。
- 滿足需求分析階段所有業務需求。
- 用戶評審、修改、優化 → 確定為最終概念模型。
七、概念設計交付物
基本 E-R 圖(已消除不必要冗餘)、數據字典更新、設計文檔,作為邏輯設計輸入。