业务数据建模

理想版业务建模

业务数据建模是数据库设计中最重要的部分,会影响数据库表结构的设计,体现了设计者对业务本质的理解和认知

业务数据建模

组织结构图-树状结构

如M公司分销业务的组织机构树

· 组织机构对象,图中用深灰色节点表示,用来描述客户的行政管理层级结构。

· 门店对象,图中用浅灰色节点表示,是下单的目标,是挂在某个机构节点下的收货对象。

·账号对象,图中用白色节点表示,代表系统的用户。


业务数据建模

组织结构图-数据管理范畴

数据范畴

每个账号所管理的数据范畴(包括能给哪些门店下单、能查看哪些门店的数据等),是通过遍历其所在节点的所有子节点来确定的,

组织结构树可体现团队的多层管理,同时也体现出组织层级的管理范围,来实现数据权限控制及汇总运算


业务数据建模

数据建模ER图

数据建模ER图

根据组织机构,将对象关系通过数据建模ER图表示出来(ER图是一种经典的描述对象之间关系的规范)


简化版业务建模

完整的组织机构树的开发复杂度很高,可先暂不用支持复杂的行政层级管理,只需要为客户实现若干子账号,让他们可以管理若干门店即可

业务数据建模

简化版业务建模

简化版组织结构图

账号和门店的管理关系不再需要通过遍历机构节点来获取,图中虚线箭头直接标明了它们的归属关系,但账号无法对不同层级的门店进行灵活管理


业务数据建模

简化版ER图

简化版数据建模ER图

对应变化只是在账号和门店两个对象之间建立了关联关系


理想版&简化版数据建模对比

业务数据建模

理想版&简化版


划重点:错误的业务数据建模会导致灾难

如门店和账号的关系被定为1对多,如果某家门店新招多名采购员,需要支持账号和门店多堆垛的设计,但数据底层到前端实现是一对多,需求变更将导致首先底层数据库结构需要调整,所有历史数据要处理;其次,基本上所有涉及读取账号和门店关系的功能代码需要全部重写,将会造成一场灾难

业务数据建模


分享到:


相關文章: