理想版業務建模
業務數據建模是數據庫設計中最重要的部分,會影響數據庫表結構的設計,體現了設計者對業務本質的理解和認知
如M公司分銷業務的組織機構樹
· 組織機構對象,圖中用深灰色節點表示,用來描述客戶的行政管理層級結構。
· 門店對象,圖中用淺灰色節點表示,是下單的目標,是掛在某個機構節點下的收貨對象。
·賬號對象,圖中用白色節點表示,代表系統的用戶。
數據範疇
每個賬號所管理的數據範疇(包括能給哪些門店下單、能查看哪些門店的數據等),是通過遍歷其所在節點的所有子節點來確定的,
組織結構樹可體現團隊的多層管理,同時也體現出組織層級的管理範圍,來實現數據權限控制及彙總運算
數據建模ER圖
根據組織機構,將對象關係通過數據建模ER圖表示出來(ER圖是一種經典的描述對象之間關係的規範)
簡化版業務建模
完整的組織機構樹的開發複雜度很高,可先暫不用支持複雜的行政層級管理,只需要為客戶實現若干子賬號,讓他們可以管理若干門店即可
簡化版組織結構圖
賬號和門店的管理關係不再需要通過遍歷機構節點來獲取,圖中虛線箭頭直接標明瞭它們的歸屬關係,但賬號無法對不同層級的門店進行靈活管理
簡化版數據建模ER圖
對應變化只是在賬號和門店兩個對象之間建立了關聯關係
理想版&簡化版數據建模對比
劃重點:錯誤的業務數據建模會導致災難
如門店和賬號的關係被定為1對多,如果某家門店新招多名採購員,需要支持賬號和門店多堆垛的設計,但數據底層到前端實現是一對多,需求變更將導致首先底層數據庫結構需要調整,所有歷史數據要處理;其次,基本上所有涉及讀取賬號和門店關係的功能代碼需要全部重寫,將會造成一場災難
閱讀更多 PM阿嘉 的文章