数据建模(Data Modeling)是什么?
声明:译自博客《What is Data Modelling? Conceptual, Logical, & Physical Data Models》
什么是数据建模?
数据建模(Data modeling)是为要存储在数据库中的数据创建数据模型的过程。数据建模在概念上包括以下3个部分:
- 数据对象(Data objects)
- 不同数据对象之间的关联(The associations between different data objects)
- 规则(The rules)
数据建模有助于数据的可视化和数据业务的实施。数据模型可确保命名约定、默认值、语义、安全性和一致性,同时确保数据质量。
数据模型强调的是数据的选择和数据的组织形式,不关注需要对数据执行的操作。数据模型就像是架构师设计的架构,它有助于为数据构建概念模型并且设置数据中不同项之间的关联。
数据建模技术有两种:
- 实体-关系模型(Entity Relationship Model, E-R Model)
- UML(Unified Modeling Language)
数据建模的目标
- 确保准确表示数据库所需要的所有数据对象。
- 数据模型有助于在概念、物理和逻辑层面设计数据库。
- 数据模型结构有助于定义关系表、主键和外键以及存储过程。
- 提供了基本数据的清晰图像,数据库开发人员可以使用它来创建物理数据库。
- 有助于识别缺失项和冗余数据。
- 虽然在开始阶段,数据建模费时费力,但从长远来看,可以是我们的基础架构易于升级和维护。
数据模型的类型
主要有三种不同类型的数据模型:概念模型、逻辑模型和物理模型。
概念模型
概念模型的主要目标是建立实体及其属性和实体之间的关系,不会涉及数据库结构的详细信息。
实体: 一个现实世界的东西
**属性:**实体的特征或属性
**关系:**两个实体之间的依赖关系
例如,客户和产品是两个实体,客户的编号和名称是它的属性,产品的名称和价格是产品的属性,销售是客户和产品之间的关系。那么概念模型可以设计如下:
概念数据模型具有如下特征:
- 模型所使用涵盖的元素(实体、属性、关系)都是业务概念;
- 为业务方(非技术人员也能看懂)设计和开发;
- 独立与硬件规范,如数据存储容量、位置或软件规范,建模的重点在于描述用户将在“现实世界”中看到的数据。
逻辑模型
逻辑数据结构将更多的信息添加到概念模型中,定义了元素的结构并设置了元素之间的关系。
还是上面的顾客-产品的例子,其逻辑数据模型如下:
与逻辑结构不一样的地方,一方面是属性有了它们各自的数据结构,另一方面是实体之间的关系改成了一个连接器(连接器上会有很多信息,此处省略了)。然而,逻辑结构仍然没有定义主键或外键等信息。
逻辑数据模型具有如下特征:
- 描述单个项目的数据需求,但可以根据项目范围与其他逻辑数据模型集成;
- 独立于数据库的设计和开发;
- 数据属性将具有精确精度和长度的数据类型;
- 通常将模型的标准化过程应用到第三范式。
物理模型
物理数据模型描述数据模型的数据库实现,提供了数据库的抽象,包含了丰富的信息。
继续上面的顾客-产品例子,其物理数据模型如下:
这种类型的数据模型还有助于可视化数据库结构。它有助于为数据库列建模键,约束,索引,触发器和其他RDBMS功能。
物理数据模型具有如下特征:
- 设计数据模型的主要目的是确保技术团队能提供数据对象的准确表示
- 数据模型应足够详细,以用于构建物理数据库
- 数据模型中的信息可用于定义表,主键和外键以及存储过程之间的关系。
- 数据模型可以帮助企业在组织内部和跨组织进行通信
- 数据模型有助于在ETL过程中记录数据映射
- 帮助识别正确的数据源以填充模型
结论
- 数据建模是为要存储在数据库中的数据开发数据模型的过程。
- 数据模型可确保命名约定,默认值,语义,安全性的一致性,同时确保数据质量。
- 数据模型结构有助于定义关系表,主键和外键以及存储过程。
- 数据建模的三种方式:概念模型、逻辑模型和物理模型
- 概念模型的主要目的是建立实体,它们的属性以及它们之间的关系。
- 逻辑数据模型定义数据元素的结构并设置它们之间的关系。
- 物理数据模型描述数据模型的数据库特定实现。
- 设计数据模型的主要目标是确保功能团队提供的数据对象准确表示。
- 最大的缺点是,即使是较小的结构变化也需要在整个应用中进行修改。
数据建模(Data Modeling)是什么?相关推荐
- SAP MDG —— 数据建模 Data Modeling
MDG 数据模型 Data Modeling SAP MDG包含以下三大块数据模型: 物料主数据(Material Master) 业务合作伙伴(BP),客户(Customer)和供应商(Suppli ...
- Hadoop 之上的数据建模 - Data Vault 2.0
对比传统的基于 RDBMS 之上的数据仓库和商业智能项目,尝试着说说,Hadoop 之上的数据仓库,从ETL, 数据存储,到分析展现.重点围绕数据建模方面做分析,因为这是本文的重点,介绍一份新的数据建 ...
- 数据建模 Database Modeling:概念 (Conceptual) vs 逻辑 (Logical) vs 物理数据 (Physical) 模型
数据建模是一种使用实体关系图(ER图)记录软件系统的技术,实体关系图是公司数据库表中数据结构的表示.它是公司业务需求的非常有力的表达.数据模型有多种用途,从高级概念模型.逻辑到物理数据模型,通常由实体 ...
- 非常好用的数据建模工具erwin data modeler
erwin, Inc. 是全球最大的数据建模软件供应商,受到60 多个国家50000 多名数据专业人士的信赖.erwin通过集成业务流程建模.企业架构.数据治理和协作解决方案,构建出业界唯一的统一数据 ...
- ERWin -- erwin Data Modeler 数据建模
erwin 的全称是erwin Data Modeler,是erwin公司的数据建模工具.支持各主流数据库系统.erwin数据建模市场占有率第一的产品,市场占有率33%. erwin数据建模工具是业界 ...
- Elasticsearch之数据建模
数据建模 英文为 Data Modeling, 为创建数据模型的过程 数据模型(Data Model) - 对现实世界进行抽象描述的一种工具和方法 - 通过抽象的实体及实体之间联系的形式去描述业务规则 ...
- 连载:阿里巴巴大数据实践—数据建模综述
简介:数据模型就是数据组织和存储方法,它强调从业务.数据存取和使用角度合理存储数据. 前言: -更多关于数智化转型.数据中台内容请加入阿里云数据中台交流群-数智俱乐部 和关注官方微信公总号(文末扫描二 ...
- 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
吴书,刘强,王亮 中国科学院自动化研究所智能感知与计算研究中心,北京 100190 摘要:随着大数据时代的到来,信息系统收集了海量情境信息,如舆情信息.环境信息.经济信息等.这些情景大数据提供丰富的细 ...
- 数据建模_漫谈数据仓库之维度建模
点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多惊喜 大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 大数据真好玩点击右侧关注,大数据真好玩! ...
最新文章
- ios 设置属性的center_ios-坐标系统(详解UIView的frame、bounds跟center属性[图])
- dbnull和null_NULL和DBNull的区别分析
- 好玩的php函数,几个实用的PHP函数
- ubuntu11.10 samba服务器配置
- 深度挖掘 Laravel 生命周期
- java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...
- 个人知识整理(javascript篇初识)
- 简易 Vue 构建--篇二
- opencv 轮廓特征
- jsp自定义标签库打包步骤
- 超级经典的与其他语言混合编程的批处理代码
- 关于绕开百度文库复制限制的那档子事
- 2021 年百度之星·程序设计大赛 - 初赛三
- RT-Thread libmodbus RS485 RTU主机调试 - STM32F107VCT6
- Ollydbg 1.10's plugin LsMem2CAry.dll
- 详解Python中列表切片及浅拷贝的关系(下)
- eclipse快捷键(增加一些4连组合快捷键)
- 使用photoshop2021对有阴影的背光摄影照片进行调色修改
- canvas整体放大_Canvas实现图片放大缩小移动操作
- PHP-Swoole+tp3+websocket+redis,利用接口制作客服实时对话聊天服务器