数据建模(DataModeling)是什么?
声明:译⾃博客《》
什么是?
数据建模(Data modeling)是为要存储在数据库中的数据创建数据模型的过程。数据建模在概念上包括以下3个部分:数据对象(Data objects)
不同数据对象之间的关联(The associations between different data objects)
规则(The rules)
数据建模有助于数据的可视化和数据业务的实施。数据模型可确保命名约定、默认值、语义、安全性和⼀致性,同时确保数据质量。
数据模型强调的是数据的选择和数据的组织形式,不关注需要对数据执⾏的操作。数据模型就像是架构师设计的架构,它有助于为数据构建概念模型并且设置数据中不同项之间的关联。
数据建模技术有两种:
实体-关系模型(Entity Relationship Model, E-R Model)
UML(Unified Modeling Language)
数据建模的⽬标
1. 确保准确表⽰数据库所需要的所有数据对象。
2. 数据模型有助于在概念、物理和逻辑层⾯设计数据库。
3. 数据模型结构有助于定义关系表、主键和外键以及存储过程。
4. 提供了基本数据的清晰图像,数据库开发⼈员可以使⽤它来创建物理数据库。
5. 有助于识别缺失项和冗余数据。
6. 虽然在开始阶段,数据建模费时费⼒,但从长远来看,可以是我们的基础架构易于升级和维护。
数据模型的类型
主要有三种不同类型的数据模型:概念模型、逻辑模型和物理模型。
概念模型
概念模型的主要⽬标是建⽴实体及其属性和实体之间的关系,不会涉及数据库结构的详细信息。
实体: ⼀个现实世界的东西 **属性:**实体的特征或属性 **关系:**两个实体之间的依赖关系
例如,客户和产品是两个实体,客户的编号和名称是它的属性,产品的名称和价格是产品的属性,销售是客户和产品之间的关系。那么概念模型可以设计如下:
概念数据模型具有如下特征:
模型所使⽤涵盖的元素(实体、属性、关系)都是业务概念;
为业务⽅(⾮技术⼈员也能看懂)设计和开发;
独⽴与硬件规范,如数据存储容量、位置或软件规范,建模的重点在于描述⽤户将在“现实世界”中看到的数据。
逻辑模型
逻辑数据结构将更多的信息添加到概念模型中,定义了元素的结构并设置了元素之间的关系。
还是上⾯的顾客-产品的例⼦,其逻辑数据模型如下:
与逻辑结构不⼀样的地⽅,⼀⽅⾯是属性有了它们各⾃的数据结构,另⼀⽅⾯是实体之间的关系改成了⼀个连接器(连接器上会有很多信息,此处省略了)。然⽽,逻辑结构仍然没有定义主键或外键等信息。
逻辑数据模型具有如下特征:
描述单个项⽬的数据需求,但可以根据项⽬范围与其他逻辑数据模型集成;
独⽴于数据库的设计和开发;
数据属性将具有精确精度和长度的数据类型;
通常将模型的标准化过程应⽤到第三范式。
对象模型是什么物理模型
物理数据模型描述数据模型的数据库实现,提供了数据库的抽象,包含了丰富的信息。
继续上⾯的顾客-产品例⼦,其物理数据模型如下:
这种类型的数据模型还有助于可视化数据库结构。它有助于为数据库列建模键,约束,索引,触发器和其他RDBMS功能。
物理数据模型具有如下特征:
设计数据模型的主要⽬的是确保技术团队能提供数据对象的准确表⽰
数据模型应⾜够详细,以⽤于构建物理数据库
数据模型中的信息可⽤于定义表,主键和外键以及存储过程之间的关系。
数据模型可以帮助企业在组织内部和跨组织进⾏通信
数据模型有助于在ETL过程中记录数据映射
帮助识别正确的数据源以填充模型
结论
数据建模是为要存储在数据库中的数据开发数据模型的过程。
数据模型可确保命名约定,默认值,语义,安全性的⼀致性,同时确保数据质量。
数据模型结构有助于定义关系表,主键和外键以及存储过程。
数据建模的三种⽅式:概念模型、逻辑模型和物理模型
概念模型的主要⽬的是建⽴实体,它们的属性以及它们之间的关系。
逻辑数据模型定义数据元素的结构并设置它们之间的关系。
物理数据模型描述数据模型的数据库特定实现。
设计数据模型的主要⽬标是确保功能团队提供的数据对象准确表⽰。
最⼤的缺点是,即使是较⼩的结构变化也需要在整个应⽤中进⾏修改。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论