【数据架构系列-06】一文搞懂数据模型的3种类型——概念模型、逻辑模型、物理模型

2023-11-16

数据模型就是模拟现实世界的方法论,是通向智慧世界的基石!

从现实世界发展到智慧世界,要数经历现实世界、信息世界、计算机世界、数据世界、智慧世界五个不同的世界,我们天生具有从混沌的世界抽象信息变为信息世界的能力,但是到另外几个世界需要我们懂得计算机知识,懂得如何更好地把数据保存并应用到计算机中,这种能力就是数据建模能力,具体来说就是要搞懂数据模型,以及数据模型的三种境界概念模型、逻辑模型、物理模型。·
在这里插入图片描述

搞清楚定义

概念模型也称为业务模型,是对真实世界中问题域内的业务实体的描述,从全局上、宏观上介绍业务的设计思路、范围和内容,通常由业务人员和数据架构师创建,代表用户在现实世界中看到的数据,为业务受众设计和开发。在数据治理中,概念模型经常用来做数据治理主题的规划,梳理业务对象和业务对象之间的关联关系。

逻辑模型是对概念数据模型进一步的分解和细化,根据概念模型设计数据实体和数据属性,着重于系统的逻辑实现。应用数据库范式,描述了数据实体与数据实体之间的关系、属性定义等,逻辑模型的设计目的是指导系统建设,是业务人员和技术人员之间的沟通桥梁。

物理模型是对真实数据库的描述,其中除了包括逻辑模型中定义的属性,还要根据具体使用的数据库定义数据类型,索引、视图、主键、外键、是否可为空、默认值等,该模型描述如何用特定的数据库实现业务,该模型不仅要解决数据存储问题,还要考虑系统运行性能等技术问题,通常由开发人员和DBA创建。
在这里插入图片描述

什么是好的数据模型

数据模型好用才是硬道理,什么才是好用呢,总结来说大的方面包括:

  1. 可以较好的反应真实的业务关系,有较好的业务到数据的映射关系;
  2. 简单有效,较好理解,正如奥卡姆剃刀原则所说“如无必要,勿增实体”;
  3. 对业务潜在的变更友好,可扩展性好;
  4. 数据标准化思维,降低学习和应用成本;
  5. 注重性能,从存储、索引、缓存等多个层面考虑;
  6. 适当考虑数据冗余换取查询和刷新的性能;
  7. 表、属性等命名格式规范,清晰,易于理解;
  8. 字段类型、长度设计合理;
  9. 字段定义一致。

构建数据模型的方法

数据建模的方法有很多,比如维度建模法、ER建模法等,在这我们简单介绍一下ER建模方法,ER图怎么画以及含义就不在这讲了,下面给个ER图的简单实例:
图片

最后上个应用ER图描述商品销售业务场景的例子,很直观的反应了三种数据模型侧重点以及用途:
在这里插入图片描述

参考文章

  1. Data Modeling, Data Governance, & Data Quality
  2. Data Mart vs. Data Warehouse
  3. [维度建模宣言——让维度建模和ER建模划清界限](
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【数据架构系列-06】一文搞懂数据模型的3种类型——概念模型、逻辑模型、物理模型 的相关文章

  • idea 导出文件附带文件目录结构

    安装这个插件
  • Linux学习记录之命令

    1 显示 跳转行号的基本操作 vi 文件名 打开文件后 如果要显示所有行号 使用 set nu 如果要显示当前行号 使用 nu 如果要跳转到指定行 使用 行号 例如 跳转到第10行 使用 10
  • OpenPie上榜2022年源自中国值得关注的20家新锐全球化科技品牌

    2022年6月25日 EqualOcean盘点了2022年源自中国值得关注的20家新锐全球化科技品牌 拓数派 OpenPie 成为了数据计算领域领先全球的佼佼者 OpenPie是以 Data Computing for New Discov
  • 1.3 OC与OD门(硬件基础系列)

    针对设计过程的问题 欢迎各位留言评论或群内讨论 1 3 OC与OD门 1 3 1 简介 OC Open Collector 门又叫集电极开路门 主要针对的是BJT电路 图1 21 OC门 OD Open Drain 门又叫漏极开路门 主要针
  • express中简单的使用token

    首先安装需要的插件 创建一个js文件 导入express const exprss require express 创建web服务器 const app exprss 生成token const jwt require jsonwebtok
  • 35道SpringBoot面试题及答案

    Spring Boot 是微服务中最好的 Java 框架 我们建议你能够成为一名 Spring Boot 的专家 本文精选了三十五个常见的Spring Boot知识点 祝你一臂之力 问题一 Spring Boot Spring MVC 和
  • AODV按需路由协议

    一 详细解释 AODV Ad hoc On demand Distance Vector Routing 是一种按需路由协议 当一个节点需要给网络中的其他节点传送信息时 如果没有到达目标节点的路由 则必须先以多播的形式发出RREQ 路由请求

随机推荐

  • Windows Server 2008多路径 I/O 概述

    面向高可用性的多路径支持 Windows Server 2008 包括许多将运行 Windows 服务器级操作系统的计算机与存储区域网络 SAN 设备连接起来的增强功能 集成的多路径 I O MPIO 支持是为基于 Windows 的服务器
  • 升专家需要具备的6个能力!

    阅读本文大概需要2min 文 强哥 图 强哥 未经授权禁止转载 高级开发和初级开发的区别并不只有工作经验的差异 可以说如果只凭经验丰富 那还不够高级开发的标准 互联网企业一般对于技术岗都有清晰的晋升体系和对应的能力图谱 有些人可能因为某些原
  • struct结构体占内存字节数

    昨天写了一个结构体demo 心血来潮打印struct所占内存字节数 struct student char name 20 char sex int num float score 3 void print 你猜猜是多少个字节数呢 对于ch
  • PCL拼接点云数据

    1 将两个点云拼接成一个点云 1 1 输入和输出 输入 两个相同点格式的点云比如pcl PointCloud
  • JSP include能包含html页面吗?

    转自 JSP include能包含html页面吗 jsp简介 JSP全称是Java Server Pages 是一种动态网页技术 JSP其实就是在html中插入了java代码和JSP标签之后形成的文件 文件名以 jsp结尾 其实JSP就是一
  • 输入网址后,会经历哪几个步骤

    1 面试官问输入网址后 会经历哪几个步骤 DNS HTTPS TCP 就知道这两个 DNS解析 TCP连接 发送http请求 HTTP请求报文的方法是 get 如果浏览器存储了该域名下的 Cookies 那么会把 Cookies放入 HTT
  • 协议数据处理流程

    数据处理流程 总体流程 数据放入缓冲 PushToComFIFO RecBuffer BufLen 从数据缓冲中解包协议格式 读缓冲 GetDataFromComFIFO ComStr 从数据缓冲中解包协议格式 协议格式解析 Get XXX
  • python实验报告实验总结_python还能干这事

    上文提到python可以干很多事 很多时候生活中的很多问题都可以用代码解决 尤其是那些反复重复的事 今天就拿读研的时候的一个例子给大家说说 如何用代码解决生活中的问题 问题 导师带了3个班的图形学 100多号人 期末了 平时成绩已经出来了
  • web常见的攻击方式有哪些,以及如何进行防御?

    一 是什么 Web攻击 WebAttack 是针对用户上网行为或网站服务器等设备进行攻击的行为 如植入恶意代码 修改网站权限 获取网站用户隐私信息等等 Web应用程序的安全性是任何基于Web业务的重要组成部分 确保Web应用程序安全十分重要
  • react组件中设置多个className

    错误写法
  • c++下的文件批量读写——查找文件的类 struct _finddata_t结构体用法

    查找文件的类 struct finddata t结构体用法 https blog csdn net yang332233 article details 53081785 但是运行原链接的代码时在while findnext handle
  • Android APP的安装路径

    小Tips app安装在哪个路径 2021 6 10更新 1 安装路径共五个 system app 系统自带的应用程序 无法删除 root后可以删除 system priv app 比system app 中的应用权限更加高 如Launch
  • DC/DC和LDO的区别是什么?以及如何选择?

    LDO是线性电源 DC DC是开关电源 SMPS 是两种不同种类电源 工作原理也不相同 开关电源和线性电源的区别 开关电源 SMPS 和低压差线性稳压电源 LDO 从模型理解原理 电源技术与新能源 面包板社区 LDO DC DC如何选型 L
  • DB2约束

    清单 1 查询数据库目录以判断哪些数据库列可为空 db2 select tabname colname nulls from syscat columns where tabschema MELNYK and nulls N 仅单独存在 惟
  • 告别BeanUtils,Mapstruct从入门到精通

    如果你现在还在使用BeanUtils 看了本文 也会像我一样 从此改用Mapstruct 对象之间的属性拷贝 之前用的是Spring的BeanUtils 有一次 在学习领域驱动设计的时候 看了一位大佬的文章 他在文章中提到使用Mapstru
  • LSB(Least Significant Bit)和MSB(Most Significant Bit)

    LSB Least Significant Bit 意为最低有效位 MSB Most Significant Bit 意为最高有效位 若MSB 1 则表示数据为负值 若MSB 0 则表示数据为正 MSB高位前导 LSB低位前导 谈到字节序的
  • MVC架构

    10 MVC 什么是MVC Model view Controller 模型视图控制器 10 1 以前的架构 用户可以直接访问控制层 控制层可以直接操作数据库 Servlet gt CURD gt 数据库 弊端 程序十分臃肿 不利于维护 S
  • hiveSql 重分组聚合问题

    hiveSql 重分组聚合问题 问题 分析 实现 最后 问题 将下图中A表转变为B和C 即A gt B A gt C 分析 1 首先看A gt B 可见是将name列分组 取最大组内最大id 介绍两种求解方式 1 很容易想到 开窗函数fir
  • html使用iframe包含pdf文件,HTML embedded PDF iframe

    It s downloaded probably because there is not Adobe Reader plug in installed In this case IE it doesn t matter which ver
  • 【数据架构系列-06】一文搞懂数据模型的3种类型——概念模型、逻辑模型、物理模型

    数据模型就是模拟现实世界的方法论 是通向智慧世界的基石 从现实世界发展到智慧世界 要数经历现实世界 信息世界 计算机世界 数据世界 智慧世界五个不同的世界 我们天生具有从混沌的世界抽象信息变为信息世界的能力 但是到另外几个世界需要我们懂得计