数据建模经典教程-逻辑数据模型

逻辑数据模型的说明

  • 为了解决特定业务需求而形成的业务解决方案。逻辑数据模型以业务需求为基础,忽略软件环境、精简环境等具体问题有关的模型实现的复杂性。
  • 针对一个订单输入系统,前期已经完成概念数据模型(概念、业务规则、义务范围)。在理解订单输入系统的需求之后,需要创建逻辑数据模型,其中包含需要交付给应用程序所使用的所有属性和业务规则。
  • 例如,根据概念数据模型可以,一位客户(customer)可以订购1个或多个订单(order),二逻辑数据模型则需要关注诸如客户姓名、地址、订单号及订购商品等有关客户、订单的细节信息。

关系逻辑模型

关系数据模型包括实体以及实体间的关系和属性,如下图:

  • 通过“规范化技术”构建关系数据模型

需要保证每个属性都是单值,且提供完全的、唯一的依赖于主键的事实。

单值:一个属性只能包含一则信息

完全:主键是唯一能标识实体实例得到最小的属性集合

唯一:由主键决定的每一个属性只提供一个事实,即不存在隐藏的依赖。

维度逻辑模型

  • 创建维度逻辑模型

维度逻辑模型的创建,主要考虑到两方面: 量度计 和 维度

    • 量度计 分类:
      • 聚集:聚集量度计中存储信息粒度层次高于事物粒度,主要服务于 报表工具
      • 原子:包括业务中用到的最底层的细节数据,事物粒度
      • 累积:完成一次业务流程需要多长时间,如 从开始申请一直到完成房屋抵押贷款所经历的时间将被记录在一张累计事实表中
      • 快照:记录实体生命周期中与特定步骤的时间信息
        • 与数仓中的周期快照表的定义不同:数仓的周期快照表以规律性的、可预见的时间间隔来记录事实,时间间隔如 天、周、月等,订单日快照表、订单月快照表 等
        • 周期快照表事实的粒度是每个时间段一条记录,通常比事物事实表的粒度要粗,是在事务型事实表上建立的聚集表。
    • 维度分类
      • 固定维度:又称为0型渐变维度,如性别男或女
      • 退化维度:维度的属性被转移至事实表中
      • 多值维度:用于属性或字段存在多值的情况,但最好的模型是每个属性单值
      • 不齐整维度:在一个不齐整的维度表中,至少有一个成员的父成员在该维度表的直接上级维度表中确实
      • 收缩维度:略
      • 渐变维度(SCD Slowly Changing Dimension):
        • SCD 1:仅存储当前维度成员的值,而忽略值的临时变化
        • SCD 2: 需要存储所有维度成员的 历史数据
        • SCD 3:仅需要记录维度成员的部分历史信息,如当前状态和最近状态或当前状态和原始状态
        • SCD 6:表示复杂维度,该维度的历史可能存在多种变化。类型 0、1、2、3 是构成负责、先进历史信息(如类型6)的必要组件

猜你喜欢

转载自www.cnblogs.com/wooluwalker/p/12287958.html