首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ER 圖屬性來源揭秘:並非經驗模板,而是需求調查的直接產出

     編輯:程式設計綜合問答

許多初學者以為 ER 圖實體的屬性是靠「多年經驗積累的模板」或「通用範本」決定的。實則不然:ER 圖中每一個屬性,都直接對應現實業務場景的資料需求,是需求調查與領域分析的具體產出。

屬性從哪裡來?

  1. 業務流程梳理: 訂單流程需要「訂單號、下單時間、收貨地址、支付狀態」→ 訂單實體屬性。
  2. 使用者故事/驗收標準: 「客服需查詢會員等級、積分」→ 會員實體加入 `grade`、`points`。
  3. 法規/稽核要求: 「需保留操作日誌 7 年」→ 日誌實體含 `operator_id`、`action_time`、`ip_address`。
  4. 現有系統/遷移資料分析: 舊系統表結構、Excel 報表欄位,反向推導核心屬性。

屬性決定的標準化流程

  1. 識別實體(名詞法、業務核心物件)。
  2. 列出該實體在所有業務流程中被「讀/寫/查」的資料項。
  3. 去重、歸一化(符合 3NF)、命名規範化(小寫下劃線、語義清晰)。
  4. 標記主鍵、外鍵、非空、預設值、索引策略。
  5. 與利益相關者評審確認,輸出數據字典。

常見誤區

  • 「先建表再加欄位」→ 導致結構混亂、遷移成本高。
  • 「參考同行業開源系統直接複製」→ 忽略自身業務差異,產生冗餘或缺失。
  • 「屬性越多越好」→ 違反單一職責,應拆分為 1:1 擴展表或關聯實體。

結論:好 ER 圖不是畫出來的,是問出來的。 每個屬性背後都有一段「業務為什麼需要它」的對話紀錄。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved