zoukankan      html  css  js  c++  java
  • 二、数仓建模理论

    1、数仓建模的目标

    • 访问性能:能够快速查询所需的数据,减少数据I/O
    • 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本
    • 使用效率:改善用户应用体验,提高使用数据的效率
    • 数据质量:改善数据统计口径的不一致性,减少数据计算错误的可能性,提供高质量的、一直的数据访问平台

    大数据的数仓建模:需要通过建模的方法更好的组织、存储数据,以便于在性能、成本、效率和数据质量之间找到最佳平衡点

    关系模式范式

    关系型数据库设计时,遵照一定的规范要求,目的在于降低数据的冗余性和数据的一致性,目前业界范式有:

    • 第一范式(1NF)
    • 第二范式(2NF)
    • 第三范式(3NF)
    • 巴斯-科德范式(BCNF)
    • 第四范式(4NF)
    • 第五范式(5NF)

    第一范式(1NF)

      域都应该是原子性的,即数据库的每一列都是不可分割的原子数据项

     第二范式(2NF)

      在1NF的基础上,实体的属性完全依赖于主关键字,不能存在仅依赖主关键字的一部分的属性

     第三范式(3NF)

      在2NF的基础上,任何非主属性不依赖于其他非主属性

    数据仓库建模基本理论

    1. ER实体模型
    2. 维度建模
    3. dataVault模型
    4. Anchor

    1、ER实体模型

      在信息系统中,将事物抽象为“实体”、“属性”、“关系”来表示数据关联和事物描述;实体:Entity,关系:“Relationship”,这种对数据的抽象建模通常被称为ER实体关系模型。

    • 实体:通常为参与到过程中的主题,客观存在的,比如商品、仓库、货位、汽车,此实体非数据库的实体表。
    • 属性:对主体的描述、修饰即为属性,比如商品的属性有商品名称、颜色、尺寸、重量、产地等
    • 关系:现实的物理事件是依附于实体的,比如商品入库事件,依附于实体商品、货位,就会有“库存”的属性产生;用户购买商品,依附实体“用户”、“商品”,就会有“购买数量”、“金额”的属性产生。

    实体之间建立关系时,存在对照关系:

      1:1,即1对1的关系,比如实体人--身份证,一个人仅有一个身份证号

      1:n,即1对多的关系,比如实体班级--学生,一个班级中有多个学生,一个学生属于一个班级。

      n:m,即多对多的关系,比如实体学生--课程,每个学生可以选修多门课程,同样每个课程也可以被多门学生选修。

    在日常建模过程中

      “实体”用矩形表示:

      “关系”用菱形表示: 

       “属性”用椭圆形表示:

     所以ER实体关系模型,也称作E-R关系图。

    针对商品入库,ER图构建

    抽象出实体 商品、货位
    梳理实体间的关系 一个货位能存储多个商品,一个商品仅能放置在一个货位
    梳理实体属性、关系属性

    商品:ID、名称、颜色、品类。。。

    货位:位置、容量、存储条件。。。

    入库关系:库存

     

    案例

      场景: 课程管理系统

      该系统主要用来管理某校教师、学生、课程,其中包括课程选修、考试、教师授课、学生班级管理功能,现需要完成数据库逻辑模型设计。

    1. 抽象出主体
    2. 梳理主体之间的关系
    3. 梳理主体的属性
    4. 画出E-R关系图

    IDEF1X

    应用场景

    •  ER模型是数据库设计的理论基础,当前几乎所有的OLTP系统设计都采用ER模型建模的方式
    • Bill Inom提出的数仓理论,推荐采用ER关系模型进行建模
    • BI架构提出分层架构,数仓底层ods、dwd也多采用ER关系模型进行设计

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
    JavaWeb学习总结(一)——JavaWeb开发入门
    javaweb学习总结(四)——Http协议
    Eclipse中应用的调试
    Java Web快速入门——全十讲
    Spring 系列: Spring 框架简介
    分布式环境中三种Session管理方法的使用场景及优缺点
    Cookie/Session机制详解
    HTTP 协议详解
    Webx3学习笔记(2)——基本流程
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/15174772.html
Copyright © 2011-2022 走看看