跳转到主要内容
Chinese, Simplified

分析数据对象及其与其他对象的关系的过程称为数据建模。它用于研究各种业务流程的数据需求。创建数据模型是为了将信息存储在数据库中。数据模型不关注需要执行的操作,而是关注需要什么数据以及需要如何组织数据。

数据建模是使用软件工程中的正式数据模型描述和数据建模技术创建数据模型的过程。数据模型也称为数据库建模,因为它最终在数据库中实现。

本文解释了软件工程中的数据建模概念,包括数据模型的类型、数据建模工具以及对数据模型的需求。

目录

  • 什么是软件工程中的数据建模?
  • 数据建模的主要优势
  • 软件工程中的数据建模概念
  • 软件工程中的数据建模概念:什么是数据模型?
  • 软件工程中的数据建模概念:对数据模型的需求
  • 软件工程中的数据建模概念:数据模型的类型
  • 软件工程中的数据建模概念:数据建模中涉及的步骤
  • 软件工程中的数据建模概念:数据建模工具
  • 数据建模的挑战
  • 结论

什么是软件工程中的数据建模?

每家公司的数据库都包含大量信息。您很清楚,无组织的数据过一段时间就会过时。在那之后它有多重要并不重要。需要明确的是,没有组织,数据是无用的。此外,你无法充分利用它的潜力。混乱的数据使其难以有效地存储、检索和捕获。

数据建模是一种避免数据设计不当的缺点的技术。它类似于帮助组织数据以更好地使用的地图。它是创建整个信息系统或其部分的视觉表示的过程,以传达数据点和结构之间的连接。目标是显示系统中使用和存储的不同类型的数据,以及它们之间的关系,数据分组和组织的不同方式,以及可应用于数据的不同格式和属性。

在不同的抽象级别上,可以对数据进行建模。该过程从利益相关者和最终用户提供有关业务需求的信息开始。然后,这些业务规则被转换为数据结构,用于创建具体的数据库设计。数据模型类似于路线图、架构师的蓝图或任何其他形式的图表,可以帮助人们理解他们正在设计的内容。软件工程中可用于设计模型的一些数据建模概念是数据建模中涉及的数据建模工具和步骤。

数据建模中使用了标准化的模式和形式化技术。这创建了一种标准化、一致性和可重复的方法来定义和管理整个组织中的数据资源,甚至更进一步。

数据建模的主要优势

降低成本:数据模型有助于降低开发成本。一般来说,企业在编码和测试方面投入了大量资金。数据建模帮助公司节省编码费用。此外,最棒的是数据模型不会占用很大一部分预算。数据模型还可以在过程的早期检测到错误。

更好地将数据作为资源进行管理:数据建模可以帮助规范化数据。您还可以指定所使用的数据类型。不仅如此,您还可以根据可能的属性来定义数据。任何企业的数据库查询和报告生成都是至关重要的过程。这方面的工具可通过数据建模获得。您可以使用这些工具将数据作为一种资源进行更有效的管理。

设计存储库和数据库:每个企业都必须有一个运行良好的数据库。数据建模是这个过程中至关重要的一步。它还有助于做出更好的归档和数据仓库决策。另一方面,数据模型清楚地描述了数据。因此,公司了解其数据存储需求。当你对数据有了清晰的了解后,就更容易决定你需要什么了。

对象的精确表示:通过创建流程或图表,数据建模可以准确地描述数据对象。此图描述了实体及其属性以及其他数据库元素之间的关系。您可以使用这些数据来定义表、主键和外键的交互方式。

更好的性能:大多数人认为数据库的缓慢是由于设计缺陷造成的。事实上,如果没有数据模型,数据库开发就很差。此外,数据建模通过简化数据库调优来提高性能。当开发人员了解数据模型中的概念时,他或她可以设计一个运行更快的数据库。

使用Hevo的无代码数据管道在几分钟内复制数据

Hevo Data是一个完全管理的数据管道平台,只需点击几下即可帮助您自动化、简化和丰富数据复制过程。借助Hevo的各种连接器和快速的数据管道,您可以直接从150多个数据源中提取数据并将其加载到您的数据仓库或任何数据库中。为了进一步简化和准备您的数据进行分析,您可以使用Hevo强大的内置转换层处理和丰富原始细粒度数据,而无需编写一行代码!

软件工程中的数据建模概念

数据建模被描述为使用文本和符号来表示数据以及数据如何流动的方法,以创建软件系统及其包含的数据元素的简化图。数据模型可以作为创建新数据库或重新设计现有数据库的指南。以下是软件工程中一些重要的数据建模概念:

  • 软件工程中的数据建模概念:什么是数据模型?
  • 软件工程中的数据建模概念:对数据模型的需求
  • 软件工程中的数据建模概念:数据模型的类型
  • 软件工程中的数据建模概念:数据建模中涉及的步骤
  • 软件工程中的数据建模概念:数据建模工具

软件工程中的数据建模概念:什么是数据模型?

数据模型是软件工程中最基本的数据建模概念之一。数据模型是一个通用模型,用于组织数据描述、语义和一致性约束。数据模型不关注将对数据执行哪些操作,而是关注需要什么数据以及应该如何组织数据。

即使一个组织有一个大型数据存储库,除非有一个标准来确保数据的基本准确性和可解释性,否则它也是无用的。一个好的数据模型可以确保可操作的下游结果,以及对数据最佳、实践和访问数据的最佳工具的了解。

业务需求推动了数据模型的开发。规则和需求是根据业务利益相关者的反馈预先定义的,因此它们可以被纳入新系统的设计中,或者在迭代过程中适应现有系统。

理论上,数据模型应该是随着业务需求的变化而变化的活文档。它们在支持业务流程以及规划IT架构和战略方面至关重要。供应商、合作伙伴和/或行业同行都可以从数据模型中受益。

软件工程中的数据建模概念:对数据模型的需求

理解对数据模型的需求是软件工程中必不可少的数据建模概念之一。数据模型通常在项目的分析和设计阶段创建。这使您能够确保项目要求得到充分理解和满足。在数据生命周期的后期,它们也可以用于合理化程序员为特定目的创建的设计。

使用数据模型的主要原因是:

  • 确保所有数据库所需的数据对象都得到正确表示。数据的遗漏将导致错误的报告和不准确的结果。
  • 数据模型有助于数据库的概念、物理和逻辑设计。
  • 关系表、主键和外键以及存储过程都是由数据模型结构定义的。
  • 它为数据库开发人员提供了基本数据的清晰画面,并可用于创建物理数据库。
  • 它还可以用于查找丢失或冗余的数据。

尽管数据模型的初始创建是劳动密集型且耗时的,但从长远来看,在升级和维护it基础架构时,它将为您节省资金和时间。

软件工程中的数据建模概念:数据模型的类型

数据库和信息系统的设计从高度抽象开始,逐渐变得更加具体和具体。数据模型根据其提供的抽象级别分为三类。它们是:

  • 概念数据模型:它们也被称为领域模型,它们为您提供了系统将包含什么、如何组织以及将涉及哪些业务规则的全貌。在大多数情况下,概念模型是作为初始项目需求收集过程的一部分创建的。实体类(定义在数据模型中对业务重要的事物的类型)、它们的特征和约束、它们之间的关系以及相关的安全性和数据完整性要求通常都包括在内。任何类型的表示法通常都是直截了当的。概念数据模型是跟踪性能指标、支持业务流程和记录业务事件所需数据的高级结构化业务视图。该模型的重点是识别公司使用的数据,而不是其物理特征或处理流程。该模型的一般业务范围是利益相关者之间讨论的起点。识别数据中的重要类,并使用真实世界的示例描述它们之间的关系。
  • 逻辑数据模型:它们不那么抽象,提供了更多关于所讨论领域中的概念和关系的信息。“数据建模”表示法系统是从几个选项中选择的。这种类型的数据模型尽可能详细地描述数据,而不管它是如何物理实现或存储在数据库管理系统中的。逻辑数据模型是一个数据库,它包含关于实体及其关系以及实体之间关系的所有信息,同时还指示数据属性,如数据类型及其相应长度。逻辑数据模型中没有技术系统要求。在敏捷和DevOps实践中,这一步骤经常被跳过。在高度程序化的实施环境中,或对于本质上以数据为导向的项目,如数据仓库设计或报告系统开发,逻辑数据模型可能是有益的。

  • 物理数据模型:它们定义了数据在数据库中物理存储的格式。因此,物理数据模型是最不抽象的。它们还提供了一个可以实现为关系数据库的完整设计,包括显示实体之间关系的关联表,以及将用于保持这些关系最新的主键和外键。物理数据模型甚至可以包括特定于数据库管理系统(DBMS)的属性,例如性能调优。使用该模型描述了各个数据库表、组件列以及关系和键的详细信息,该模型还考虑了性能、资源分配和访问。在部署应用程序之前,您将使用此方法实现最高级别的粒度。

软件工程中的数据建模概念:数据建模中涉及的步骤

利益相关者被邀请使用数据建模来详细评估数据处理和存储。当使用不同的数据建模技术时,不同的约定决定了哪些符号用于表示数据、如何布局模型以及如何传达业务需求。所有方法都提供了正式的工作流程,其中包括必须按顺序完成的任务列表。因为要处理的数据太多了,所以数据建模是分阶段进行的。

  • 识别实体:识别要建模的数据集中表示的事物、事件或概念是数据建模过程的第一步。每个实体在逻辑上都应该是不同的和有凝聚力的。
  • 识别每个实体的关键属性:每个实体类型都可以通过一个或多个不同的特征(称为属性)来区分。例如,“客户”实体可能有名字和姓氏、电话号码和称呼,而“地址”实体可能会有街道名称和号码,以及城市、州、国家和邮政编码。
  • 识别实体之间的关系:每个实体与其他实体的关系的性质将在数据模型的初稿中规定。前面示例中的每个客户都“驻留”在一个特定的地址。如果模型被扩展为包括一个名为“订单”的实体,则每个订单都将被运送到一个地址并计费到该地址。通常,这些连接使用统一建模语言(UML)进行记录。
  • 将属性完全映射到实体:这将确保模型准确反映公司打算如何使用数据。几种形式化的数据建模模式被广泛使用。面向对象的开发人员经常使用分析和设计模式,而来自其他业务领域的利益相关者可能会使用其他模式。
  • 指定关键字并决定规范化程度:规范化是一种组织数据模型(及其所代表的数据库)的方法,其中将称为关键字的数字标识符分配给数据组,以表示它们之间的关系,而不必重复数据。例如,如果每个客户都有一个密钥,则该密钥可以链接到他们的地址和订单历史记录,而不必重复客户表中的信息。规范化减少了数据库所需的存储空间,但这是以牺牲查询性能为代价的。
  • 最终确定和验证数据模型:随着业务需求的变化,应重复和完善数据建模。

软件工程中的数据建模概念:数据建模工具

如今,各种商业和开源的计算机辅助软件工程(CASE)解决方案,包括数据建模、绘图和可视化工具,被广泛使用。以下是几个例子:

  • Erwin Data Modeler是一个数据建模工具,支持其他表示方法,包括维度方法,并且基于Integration。
  • DEFinition for Information Modeling(IDEF1X)数据建模语言。
  • Enterprise Architect是用于企业信息系统、体系结构、软件应用程序和数据库的可视化建模和设计工具。它建立在面向对象语言和标准的基础上。
  • ER/Studio是一种数据库设计软件,可与当今许多流行的数据库管理系统配合使用。同时支持关系数据建模和维度数据建模。
  • 像Open ModelSphere这样的开源解决方案就是免费数据建模工具的例子。

数据建模的挑战

数据建模是一个耗时的过程,很难掌握。这些是一些最常见的挑战,可能会破坏数据建模项目:

  • 缺乏组织承诺和业务参与:如果企业和业务高管不认同数据建模的需求,就很难获得所需的业务参与水平。因此,数据管理团队必须提前获得高管支持。
  • 业务用户缺乏理解:数据建模是一个抽象的过程,即使所有业务利益相关者都参与进来,人们也很难理解。为了避免这种情况,应该使用业务术语和概念来创建概念和逻辑数据模型
  • 建模复杂性和范围蠕变:数据模型通常又大又复杂,如果团队在没有完成设计的情况下不断创建新的迭代,建模项目可能会变得繁琐。确定优先事项并坚持可以完成的项目范围是至关重要的。
  • 未定义或不明确的业务需求:业务方面,尤其是新应用程序,可能没有完全形成的信息需求。为了收集或澄清需求并确定必要的数据,数据建模人员必须经常提出一系列问题。

结论

本文讨论了软件工程中的数据建模概念和数据建模过程。本文解释了软件工程中的数据建模概念,如数据模型和用于数据建模的数据模型和工具的类型。

 

原文地址
https://hevodata.com/learn/data-modeling-concepts-in-software-engineering/
本文地址
Article

微信

知识星球

微信公众号

视频号