了解数据建模之前首先要知道的是什么是数据模型。数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。

一、概要:数据建模简介

数据基本用于两种目的:1、操作型记录的保存2、分析型决策的制定。简单地说就是操作型系统保存数据,分析型系统使用数据;前者反映数据的最新状态,后者反映数据一段时间的状态变化。操作型系统简称为OLTP(On-Line Transaction Processing)联机事务处理,分析型系统简称为OLAP(On-Line Analytical Processing)联机分析处理。在OLTP场景中,常用的是使用实体关系模型(ER)来存储,从而在事务处理中解决数据的冗余和一致性问题。在OLAP场景中,有多种建模方式有:ER模型、星型模型和多维模型。

数据建模是一种用于定义和分析数据的要求和其需要的相应支持的信息系统的过程。从需求到实际的数据库,有三种不同的类型。用于信息系统的数据模型作为一个概念数据模型,本质上是一组记录数据要求的最初的规范技术。数据首先用于讨论适合企业的最初要求,然后被转变为一个逻辑数据模型,该模型可以在数据库中的数据结构概念模型中实现。一个概念数据模型的实现可能需要多个逻辑数据模型。数据建模中的最后一步是确定逻辑数据模型到物理数据模型中到对数据访问性能和存储的具体要求。数据建模定义的不只是数据元素,也包括它们的结构和它们之间的关系。

1) 概念数据模型(Conceptual Data Model)

简称概念模型 ,主要用来描述世界的概念化结构。概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。

2) 逻辑数据模型(Logical Data Model)

简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、 层次数据模型 (Hierarchical Data Model)等等。 此模型既要面向用户,又要面向系统 ,主要用于 数据库管理系统 (DBMS)的实现。逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。

3) 物理数据模型(Physical Data Model)

简称物理模型 ,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS 有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实 现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。物理结构图显示物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。

二、方法:数据建模常用模型

1)D-R模型

D-R模型(Entity-relationship model)实体关系模型,E-R模型的构成成分是实体集、属性和联系集。其表示方法如下:(1) 实体集用矩形框表示,矩形框内写上实体名。(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。如图1-1所示。

图1-1 E-R图

2)多维模型

它是维度模型的另一种实现。当数据被加载到OLAP多维数据库时,对这些数据的存储的索引,采用了为维度数据涉及的格式和技术。性能聚集或预计算汇总表通常由多维数据库引擎建立并管理。由于采用预计算、索引策略和其他优化方法,多维数据库可实现高性能查询。这种模型可以以星型模式,雪花模式,或事实星座模式的形式存在。

3)星型模型

它是维度模型在关系型数据库上的一种实现。它是多维的数据关系,它由事实表(Fact Table)和维表(Dimension Table)组成。每个维表中都会有一个维作为主键,所有这些维的主键结合成事实表的主键。事实表的非主键属性称为事实,它们一般都是数值或其他可以进行计算的数据。该模型表示每个业务过程包含事实表,事实表存储事件的数值化度量,围绕事实表的多个维度表,维度表包含事件发生时实际存在的文本环境。这种类似于星状的结构通常称为'星型连接'。其重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。如图1-2所示。

图1-2 星型模型

4)雪花模型

它是当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。如图1-3所示。

图1-3 雪花模型

三、方案:数据建模六步骤

数据建模,通俗地说,就是通过建立数据科学模型的手段解决现实问题的过程。数据建模也可以称为数据科学项目的过程,并且这个过程是周期性循环的。具体可分为六大步骤,如图2-1所示。

图2-1 建模步骤

1) 收集业务需求与数据实现:在开始维度建模工作之前,需要理解业务需求,以及作为底层源数据的实际情况。通过与业务方沟通交流、查看现有报表等来发现需求,用于理解他们的基于关键性能指标、竞争性商业问题、决策制定过程、支持分析需求的目标。同时,数据实际情况可通过与数据库系统专家交流,了解访问数据可行性等。

2) 选择业务过程:业务过程是组织完成的操作型活动。业务过程时间建立或获取性能度量,并转换为事实表中的事实。多数事实表关注某一业务过程的结果。过程的选择非常重要的,因为过程定义了特定的设计目标以及对粒度、维度、事实的定义。

3) 声明粒度:声明粒度是维度设计的重要步骤。粒度用于确定某一事实表中的行表示什么。在选择维度或事实前必须声明粒度,因为每个候选维度或事实必须与定义的粒度保持一致。在从给定的业务过程获取数据时,原子粒度是最低级别的粒度。强烈建议从关注原子级别粒度数据开始设计,因为原子粒度数据能够承受无法预期的用户查询。

4) 确认维度:维度提供围绕某一业务过程事件所涉及的'谁、什么、何处、何时、为什么、如何'等背景。维度表包含分析应用所需要的用于过滤及分类事实的描述性属性。牢牢掌握事实表的粒度,就能够将所有可能存在的维度区分开来。

5) 确认事实:事实,涉及来自业务过程事件的度量,基本上都是以数据值表示。一个事实表行与按照事实表粒度描述的度量事件之间存在一对一关系,因此事实表对应一个物理可观察的事件。在事实表内,所有事实只允许与声明的粒度保持一致。

6) 部署方式:选择一种维度模型的落地方式。既可以选择星型模型,部署在关系数据库上,通过事实表及通过主外键关联的维度表;也可以选择多维模型,落地于多维数据库中。

数据建模-方法论及实施步骤相关推荐

  1. 数据挖掘方法论及实施步骤

    转载自开心玩数据 1.业界数据挖掘方法论 2.在工作中,我们进行数据挖掘实施指导方法: 应用建模的八步法:业务理解.指标设计.数据提取.数据探索.算法选择.模型评估.模型发布.模型优化 步骤一:业务理 ...

  2. 解读华为数据治理方法论及最佳实践(24H限时下载)

    华为数据治理方法论 一.数据治理框架 数据治理主要专注于如下模块域: 数据集成数据集成用来完成数据入湖动作,不是简单的数据搬家,而是按照一定的方法论进行数据备份.数据入湖的前提条件是满足6项数据标准, ...

  3. “交通·未来”第10期:基于深度学习的动态系统复杂数据建模方法:以铁路列车晚点预测为例...

    前一阵公众号正式推出了"交通·未来"系列线上公益学术活动等你来~, 9月21日晚19:00,我们将迎来活动的第10期. 1.讲座主题 基于深度学习的动态系统复杂数据建模方法:以铁路 ...

  4. 浅谈数据仓库建设中的数据建模方法

    http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/ 所谓水无定势,兵无常法.不同的行业,有不同行 ...

  5. 数据仓库建设中的数据建模方法(转)

    简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家.希望帮助大家在数据仓库项目建设中总结出一套能够合乎目前业界规范的,满足 ...

  6. 数据建模_浅谈数据仓库建设中的数据建模方法

    所谓水无定势,兵无常法.不同的行业,有不同行业的特点,因此,从业务角度看,其相应的数据模型是千差万别的.目前业界较为主流的是数据仓库厂商主要是 IBM 和 NCR,这两家公司的除了能够提供较为强大的数 ...

  7. 大数据建模步骤有哪些

    数据建模,通俗地说,就是通过建立数据科学模型的手段解决现实问题的过程.数据建模也可以称为数据科学项目的过程,并且这个过程是周期性循环的,也是是我们在做数据分析的时候会经常使用的一种数据分析方法,那么大 ...

  8. 神策数据《品牌零售业数字化运营的方法论及实践》白皮书重磅发布

    随着流量红利见顶,公域营销成本越来越高,去中心化的流量逐渐成为富矿,深耕存量市场的私域流量,成为品牌零售行业数字化运营的新红利.同时,品牌零售企业越来越认识到消费者为中心的重要性,如何围绕用户构建消费 ...

  9. 数据建模必知的六大步骤

    前言 转载自:知乎 - https://zhuanlan.zhihu.com/p/88366912 数据建模必知六大步骤 ​ 数据建模,通俗地说,就是通过建立数据科学模型的手段解决现实问题的过程.数据 ...

最新文章

  1. 前端新手学习记录2 -使用vscode编写个人网站首页
  2. 英特尔AIDC秀肌肉:展示AI软硬件+生态全景图
  3. NYOJ 982 Triangle Counting (数学题)
  4. Java8 Hashtable 源码阅读
  5. HTML+CSS+JS实现 ❤️响应式图文卡片滑块展示特效❤️
  6. 小鹏汽车9月总交付10412台 成为新造车势力中第一家月交付过万的企业
  7. keras笔记(4)-使用Keras训练大规模数据集
  8. 用机器学习拯救“智障”聊天机器人,谷歌开放分析平台Chatbase
  9. vsftp匿名访问目录_怎么更改vsftp匿名用户的默认登录目录/var/ftp?
  10. table标签中thead、tbody、tfoot的作用
  11. 【Python学习笔记之一】Python关键字及其总结
  12. 嵌入式linux中文繁体字库,嵌入式Linux下中文字体显示
  13. typora快捷键大全
  14. 「解决方案」5G基站电气监控云平台
  15. SVN 小乌龟(TortoiseSVN)本地文件更新报错Another process is blocking the working copy database 解决方法
  16. 【013】故宫博物院数字文物库-让文物随时可赏
  17. 60 集合的交集、并集和差集运算
  18. unity应用(Apply)预制体时报错
  19. CAD图纸转换TIFF格式时修改背景颜色
  20. 函数式编程与Lambda表达式

热门文章

  1. 基于STM32设计的避障寻迹小车
  2. python3安装setuptools步骤_Python 安装setuptools方法
  3. 1994年图灵奖--爱德华·费根鲍姆和劳伊·雷迪简介
  4. 用计算机despair,despair的用法总结大全
  5. 串口调试助手源代码 qt编写 带协议解析 帧判断 通信数据保存等功能
  6. 圣斗士星矢手游怎么在电脑上玩 圣斗士星矢电脑版教程
  7. 五子棋程序设计(C语言、人机对战、禁手)
  8. blender实例表面点散布/几何节点修改器(甜甜圈系列)
  9. Unity 时间管理工具
  10. 苹果编辑器在哪_苹果 WWDC 2020 发布的ARKit 4 为何低调 ?