数据建模是为要存储在数据库中的数据创建数据模型的过程。 该数据模型是概念表示
- 数据对象
- 不同数据对象之间的关联
- 规则。
数据建模有助于数据的可视化表示,并对数据实施业务规则,规则遵从性和政府政策。 数据模型可确保命名约定,默认值,语义,安全性的一致性,同时确保数据质量。
数据模型强调需要哪些数据以及如何组织数据,而不是需要对数据执行哪些操作。 数据模型就像架构师的构建计划,它有助于构建概念模型并设置数据项之间的关系。
两种类型的数据模型技术是
- 实体关系(ER)模型
- UML(统一建模语言)
为何使用数据模型?
使用数据模型的主要目标是:
- 准确表示数据库所需的所有数据对象。 丢失数据将导致错误并产生不正确的结果。
- 数据模型有助于在概念,物理和逻辑层面设计数据库。
- 数据模型结构有助于定义关系表,主键和外键以及存储过程。
- 它提供了基本数据的清晰图像,数据库开发人员可以使用它来创建物理数据库。
- 对 识别丢失和冗余数据也很有帮助。
- 虽然最初创建数据模型既费力又耗时,但从长远来看,它可以使您的IT基础架构升级和维护更便宜,更快捷。
数据模型的类型
主要有三种不同类型的数据模型:
- 概念:此数据模型定义系统包含的内容。 此模型通常由业务涉众和数据架构师创建。 目的是组织,范围和定义业务概念和规则。
- 逻辑:定义如何都应该实现系统。 此模型通常由Data Architects和业务分析师创建。 目的是制定规则和数据结构。
- 物理 :此数据模型描述了如何使用特定的DBMS系统实现系统。 此模型通常由DBA和开发人员创建。 目的是实际实现数据库。

概念模型
该模型的主要目的是建立实体,它们的属性以及它们之间的关系。 在此数据建模级别中,几乎没有任何实际数据库结构的详细信息。
数据模型的3个基本要素:
-
实体 :现实世界的东西
-
属性 :实体的特征或属性
-
关系 :两个实体之间的依赖关系
例如:
Customer和Product是两个实体。 Customer编号和名称是Customer实体的属性
Product名称和价格是Product实体的属性
Sale是客户与产品之间的关系

概念数据模型的特征
- 提供组织范围内的业务概念。
- 此类数据模型是为业务受众设计和开发的。
- 概念模型的开发独立于硬件规范,如数据存储容量,位置或软件规范,如DBMS供应商和技术。 重点是表示用户将在“现实世界”中看到的数据。
被称为域模型的概念数据模型通过建立基本概念和范围为所有利益相关者创建了共同的词汇表。
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 - 目录
- 讨论qq群630011153 144081101
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- [本文相关海量书籍下载](https://github.com/china-testing/python-api-tesing/blob/master/books.md
- http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html
逻辑数据模型
逻辑数据模型将更多信息添加到概念模型元素中。 它定义了数据元素的结构并设置了它们之间的关系。

逻辑数据模型为物理模型提供基础。 但建模结构仍然是通用的。
在此数据建模级别,未定义主键或辅助键,您需要验证并调整之前的连接关系。
逻辑数据模型的特征
- 描述单个项目的数据需求,但可以根据项目范围与其他逻辑数据模型集成。
- 独立于DBMS设计和开发。
- 数据属性将具有精确精度和长度的数据类型。
- 通常将模型的标准化过程应用到3NF。
物理数据模型
物理数据模型描述数据模型的数据库特定实现。 它提供了数据库的抽象,并有助于生成模式。 这是因为物理数据模型提供的元数据丰富。

这种类型的数据模型还有助于可视化数据库结构。 它有助于为数据库列建模键,约束,索引,触发器和其他RDBMS功能。
物理数据模型的特征:
- 物理数据模型描述了单个项目或应用程序所需的数据,尽管它可能与基于项目范围的其他物理数据模型集成在一起。
- 数据模型包含表之间的关系,这些关系解决了基数和关系的可空性。
- 针对特定版本的DBMS,位置,数据存储或项目中使用的技术而开发。
- 列应具有精确的数据类型,已分配的长度和默认值。
- 定义了主键和外键,视图,索引,访问配置文件和授权等。
数据模型的优点和缺点:
数据模型的优点:
- 设计数据模型的主要目标是确保功能团队提供的数据对象准确表示。
- 数据模型应足够详细,以用于构建物理数据库。
- 数据模型中的信息可用于定义表,主键和外键以及存储过程之间的关系。
- 数据模型可帮助企业在组织内部和跨组织进行通信。
- 数据模型有助于在ETL过程中记录数据映射
- 帮助识别正确的数据源以填充模型
数据模型的缺点:
- 对于开发者数据模型,应该知道物理数据存储的特征。
- 复杂的应用程序开发,管理。
- 结构中细小的变化需要在整个应用中进行修改。
- DBMS中没有设置数据操作语言。
结论
- 数据建模是为要存储在数据库中的数据开发数据模型的过程。
- 数据模型可确保命名约定,默认值,语义,安全性的一致性,同时确保数据质量。
- 数据模型结构有助于定义关系表,主键和外键以及存储过程。
- 概念,逻辑和物理有三种类型。
- 概念模型的主要目的是建立实体,它们的属性以及它们之间的关系。
- 逻辑数据模型定义数据元素的结构并设置它们之间的关系。
- 物理数据模型描述数据模型的数据库特定实现。
- 设计数据模型的主要目标是确保功能团队提供的数据对象准确表示。
- 最大的缺点是,即使是较小的结构变化也需要在整个应用中进行修改。
网友评论