業務數據建模

理想版業務建模

業務數據建模是數據庫設計中最重要的部分,會影響數據庫表結構的設計,體現了設計者對業務本質的理解和認知

業務數據建模

組織結構圖-樹狀結構

如M公司分銷業務的組織機構樹

· 組織機構對象,圖中用深灰色節點表示,用來描述客戶的行政管理層級結構。

· 門店對象,圖中用淺灰色節點表示,是下單的目標,是掛在某個機構節點下的收貨對象。

·賬號對象,圖中用白色節點表示,代表系統的用戶。


業務數據建模

組織結構圖-數據管理範疇

數據範疇

每個賬號所管理的數據範疇(包括能給哪些門店下單、能查看哪些門店的數據等),是通過遍歷其所在節點的所有子節點來確定的,

組織結構樹可體現團隊的多層管理,同時也體現出組織層級的管理範圍,來實現數據權限控制及彙總運算


業務數據建模

數據建模ER圖

數據建模ER圖

根據組織機構,將對象關係通過數據建模ER圖表示出來(ER圖是一種經典的描述對象之間關係的規範)


簡化版業務建模

完整的組織機構樹的開發複雜度很高,可先暫不用支持複雜的行政層級管理,只需要為客戶實現若干子賬號,讓他們可以管理若干門店即可

業務數據建模

簡化版業務建模

簡化版組織結構圖

賬號和門店的管理關係不再需要通過遍歷機構節點來獲取,圖中虛線箭頭直接標明瞭它們的歸屬關係,但賬號無法對不同層級的門店進行靈活管理


業務數據建模

簡化版ER圖

簡化版數據建模ER圖

對應變化只是在賬號和門店兩個對象之間建立了關聯關係


理想版&簡化版數據建模對比

業務數據建模

理想版&簡化版


劃重點:錯誤的業務數據建模會導致災難

如門店和賬號的關係被定為1對多,如果某家門店新招多名採購員,需要支持賬號和門店多堆垛的設計,但數據底層到前端實現是一對多,需求變更將導致首先底層數據庫結構需要調整,所有歷史數據要處理;其次,基本上所有涉及讀取賬號和門店關係的功能代碼需要全部重寫,將會造成一場災難

業務數據建模


分享到:


相關文章: