一、数据建模基本流程

概念模型
逻辑模型
物理模型

在建模的不同阶段,将数据模型分为三个层次,每层的作用各不相同。

  • 概念模型:确定系统的核心以及划清系统范围和 边界
  • 逻辑模型:梳理业务规则以及对概念模型的求精
  • 物理模型:从性能、访问、开发等多方面考虑,做系统的实现

1.概念模型

第1部分 基本流程
对比建筑规划图和概念模型

建筑规划图 概念模型 意义
改什么房子:住宅、写字楼、医院 要解决何种商业问题 项目的目的
有几口人?都是谁?什么年龄、习惯、爱好。。。 在此商业活动中,有哪些人或组织参与?角色分别是什么?售货员、出纳、商场经理 组织
有哪些物件需要摆放:汽车、家具、家电 在此商业活动中,有哪些物件参与其中?商品、货架、收款机 物件
尝试:一个起居室、一个厨房、一个餐厅:需要一个二层小楼,一楼是起居室、厨房和餐厅,二楼是卧室;特殊:需要两个车位,一个现在用,一个将来备用,需要一个游泳池 行业经验:核心业务流程、组织架构、行业术语;定制:特殊的流程、专有的术语、特有的用户群 功能范围

概念建模小贴士

  • 注重全局的理解而非细节
  • 在概念模型阶段,即需要对整体架构做思考
  • 概念模型通常是自上而下的模式,通过会议等模式反复沟通,澄清需求
  • 在此阶段,应粗略地估算出整个项目需要的时间以及项目计划草案
  • 根据计划粗略地估算出项目的费用
  • 是数据模型工程师与客户沟通的破冰之旅,使他们在此期间达成共识并奠定未来良好的沟通基础以及私人关系
  • 出品的概念模型可以帮助划定系统边界以及避免方向性的错误
  • 商业主导,相比技术专家而言,更需要商业专家
  • 是未来逻辑模型的沟通基础,以及逐步求精的依据

概念模型交付品通常具备如下特点:

  • 与客户一致的商业语言
  • 尽量一页纸描述清楚整个模型
  • 通常用实体关系型图表示,但不需添加实体的属性
  • 允许多对多的关系存在

2.逻辑模型

第1部分 基本流程
对比建筑设计图和逻辑模型

建筑设计图 逻辑模型 意义
分多个区域,各个区域的面积。比如:起居室5m*4m,主卧3.3m*4m 分多少个主题?每个主题包含的实体:客户、商品、商店、订单。。。 实体的定义
每个区域的功能。比如:主卧室中要有卫生间,要有衣橱 每个属性都有什么?比如:客户的属性包括客户编码、客户姓名、客户电话号码。。。其中客户编码为主键 实体属性的定义
各个区域之间的联系。比如:各个房间之间的走廊,卫生间和厨房需要相邻、热水器的热水管需要接通到厨房。。。 各个实体间的关系是什么?比如:订单实体中包含了客户编码和商品编码,分别来自于客户实体和商品实体 实体间的关系
设计时有哪些限制?比如:剪力墙不可动,空心砖不可挂热水器等重物。。。 各个实体键是否有关系约束?单个属性是否有范围限制?比如:订单与客户之间的关系约束,客户编码唯一。。。 约束的定义

逻辑建模小贴士1

  • 应更精确估算出整个项目需要的时间以及项目计划草案
  • 并且根据计划更精确地估算出项目的费用
  • 当实体数量超过100时,需要定义术语表
  • 规范化
  • 先规范化再逆规范化,不可一步到位
  • 不可缺少约束的定义
  • 使用CASE工具做逻辑模型 • 多对多关系需要解决

逻辑建模小贴士2

  • 需要同级评审(Peer Review)
  • 确定可信赖数据源,关键属性需用真实数据验证
  • 应用成熟的建模模式(Pattern)
  • 一定程度的抽象化,决定了未来模型的弹性
  • 高质量的模型定义
  • 重要关联关系需要强制建立
  • 与概念模型保持一致

逻辑建模小贴士3

  • 注意模型的版本管理
  • 非常非常注意细节
  • 数据库专家深度介入
  • 占据整个数据建模80%以上时间
    不要忽视属性的长度定义和约束定义
  • 不要忽视属性的默认值(Default Value)
  • 使用控制数据范围的域(Domain)

逻辑建模交付品的特点

  • 要像一本书,而非一页纸
  • 所有实体属性均需添加
  • 实体间关系要清晰描述
  • 使用术语表
  • 遵循命名规范
  • 采用CASE工具创建项目文件
  • 对各个实体必须有清晰描述
  • 对关键属性必须有清晰描述

3.物理模型

第1部分 基本流程
对比建筑施工图和物理模型

建筑施工图 物理模型
墙体的高度和厚度。比如:墙高5米,厚30厘米 字符长度的定义。比如:varchar、date
窗子高、每扇窗子的大小,是否使用定位器等 字段的其他详细定义。比如:是否为空、是否有默认值
各线路的具体位置。比如:水管、电线、网线,以及留下图纸以备未来维修。 详细精准的定义。比如某字段为枚举类型,各枚举值的具体含义。
设计时遵循行业标准以及一定准则。比如:卫生间的防水标准、墙面漆的使用质地 约束的定义:唯一主键、唯一值、强关系约束等等; 遵循术语表:统一的缩写表,一致的参照术语表。

物理建模小贴士1

  • 使用CASE工具由逻辑模型自动生成
  • 应用术语表自动转换生成字段名称
  • 对表空间、索引、视图、物化视图、主键、外键等都有命名规则
  • 逆规范化在逻辑层完成,而非本层
    数据库DBA深度介入,需要DBA的评审(Peer Review)
  • 和数据库的DDL保持一致
  • 注意版本管理
  • 注意开发、测试、生产三个不同版本的模型管理
  • 注意性能
  • 估算数据规模
  • 考虑数据归档
  • 充分考虑未来使用数据库的优点和缺点

物理建模交付品的特点

  • 自动生成基础库表结构,之后适度手动调整
  • 与未来要使用的数据库类型息息相关
  • 生成数据字典并发布
  • 可直接用于生成DDL
  • DDL中注意注释的生成

二、如何进行高质量数据建模

什么样的模型算是高质量数据模型?

  • 对真实世界的抽象正确而完整
  • 用建模语言表达清晰而准确
  • 框架稳定且灵活,满足当下的需求并能够一定程度容纳未来的变化
  • 根据需求尽可能减少数据冗余
  • 充分考虑潜在的性能问题
  • 从企业全局的视角出发构筑模型

第1部分 基本流程

相关文章:

  • 2022-12-23
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2021-10-12
  • 2021-09-14
  • 2021-07-23
  • 2021-05-21
猜你喜欢
  • 2021-08-14
  • 2021-08-03
  • 2021-06-05
  • 2021-04-12
  • 2021-07-10
  • 2021-06-02
  • 2021-05-27
相关资源
相似解决方案