数据模型系列:数据模型和数据建模基础

简介: 数据模型是组织加速应用程序开发和释放数据价值的关键工具。

一 什么是数据建模

数据建模是一种用于定义和组织业务流程的技术。可以通过分析、理解和明确数据需求以及它们如何支撑业务流程来创建业务的可视化描述。数据模型是企业数据元素及其之间连接的可视化表示。通过帮助定义和构造相关业务流程上下文中的数据,模型支持有效信息系统的开发。它们使业务和技术资源能够协作地决定如何在整个组织中存储、访问、共享、更新和利用数据。

373b795be38e9347a6d7c64841ded853.png

二 数据建模是数据策略的重要组成部分

要真正理解什么是数据建模,必须深入挖掘它所带来的具体好处。当然,只有有效地部署数据模型,并且当业务和IT团队和谐地工作时,才能实现这些好处。

以下是有效数据建模的四个主要好处

1. 降低成本,更快的实现数据价值

使用数据建模,业务用户可以直接定义核心业务规则,这意味着在实现时需要更少的修订。需求和开发的集成决定了总体开发时间的显著改进。这意味着将更快地向市场交付项目和新产品。我们帮助一个客户使用数据建模将他们的生产时间从9个月减少到3个月。

使用数据建模还可以节省成本,因为它可以快速捕获错误。这意味着需要更少的迭代,并且团队不太可能将充满错误的项目传递给上级或者的客户。这使数据建模将编程预算减少了75%。数据建模可能很复杂,并且会增加一些文书工作,包括IT和业务方面的文书工作。但这也是控制数据、降低成本和加快开发的最佳方法之一。

2. 理解和改进业务流程

数据建模迫使明确业务及其流程,并要求不同人员协作的方式进行。如果你不知道你的业务是如何运作的,根本无法定义数据和它在做什么。

例如,要构建客户数据库,您需要了解企业目前拥有的客户数据,以及您如何使用这些数据。因此,数据建模过程揭示了数据及其关系,这为理解业务流程以及如何改进业务流程提供了基础。

3.降低复杂性和风险

为了处理每个组织都必须面对的数据浪潮,需要确保数据是简单和低风险的。你拥有的数据越多,就越快需要考虑驯服它。而且,由于所有企业都面临着数据遵从性的挑战,您需要正确地进行操作。这意味着记录和连接一切与不断变化的数据。

数据模型提供了数据流程的直观图表,因此您可以全面了解数据体系结构。这降低了风险,因为可以深入了解所有的数据,不再是隐藏和分散的转换、元数据或过滤器,因此公司很容易获得一个版本的真相。数据建模还可以使技术水平较低的员工(如业务主管和高管)更容易访问业务中复杂的、高度技术性的元素。

4. 改进的协作

IT团队可以更容易地与非技术人员协作。通过使用数据模型,它们可以以技术无关的方式进行沟通,但在需要时仍然具有足够的细节来创建物理数据结构。数据建模可以更容易地将高级业务流程与数据规则、数据结构和物理数据的技术实现集成起来。数据模型为业务如何运作以及如何以每个人都能理解的方式使用数据提供了协同作用。

三 概念数据建模

有三种不同类型的数据模型:概念的、逻辑的和物理的。每个数据模型都有特定的用途,主要由操作细节级别定义。概念数据模型是在数据建模过程的第一阶段建立的。它们提供了一个概要级别的透视图,省略了更精细的细节,以更易于理解的格式。

219e0d5fdbc21785d0878e6f9e3bbf7f.png

1什么是概念数据模型

顾名思义,概念数据建模最适用于概念阶段,即组织起草一份粗略的计划,然后制定出更详细的细节。概念数据模型通常由数据架构师和业务相关人员创建,为相关业务人员提供有关概念或实体及其之间关系的易于理解的映射。通过以一种与那些不一定是技术和或细节导向的涉众相关的方式来沟通模型。

概念数据模型的目的是通过记录不同的业务实体如何相互关联来提供以数据为中心的组织视角。这通常是通过实体关系图(ERD)和/或对象角色模型(ORM)来实现的。与逻辑和物理数据模型不同,概念数据模型与技术和应用程序无关。这意味着它们不受当前系统和过程的现实和上下文的约束。概念数据模型展现了现有状态和未来状态,这意味着它们包含了正在进行或未来可能进行的业务更改。通过这种方式,组织可以在一定程度上对模型进行未来验证,并考虑到解决方案中可能需要内置的任何灵活性。

2概念数据模型的目标

应该使用概念数据模型来定义和沟通概念和实体之间的高级关系。换句话说,它们帮助组织在上下文中看到他们的数据以及不同类型数据之间的关系。

理想情况下,它们将是上下文中数据的可视化表示,以表示组织在特定环境中如何操作的场景。这可以帮助组织避免可能导致重大问题的疏忽。例如,当构建或获取一个新的客户关系管理系统时,区分潜在客户和客户的需要可能并不明确。但如果没有这种区别,“新”潜在客户实际上可能是拥有现有账户的公司员工。

识别潜在客户和客户之间区别的数据库还可以建模,以识别新潜在客户和现有客户之间的任何潜在关系,从而允许合并记录。这样,销售代表和支持代表就有了有效工作所需的环境。

3什么时候应该考虑概念数据模型

概念数据模型用于数据建模的早期阶段,根据用例需求组织和定义概念和规则。在这三种类型的数据模型中,它们是最不详细的,但这并不意味着它们不那么有用。事实上,概念数据模型的一个关键好处是,它们可以被快速理解并传达给“技术”之外的利益相关者。

概念性数据模型为组织提供了一个起点,在它们通过数据模型的各个阶段时,这个起点应该发展成上下文更丰富的图。通过用例分析、用例设计和数据库设计,物理数据模型的复杂性和详细程度最终将达到细化。

4为什么应该使用概念数据模型

绕过概念数据建模阶段,更有可能忽略宏观实体关系,例如上面提到的客户、潜在客户的区别。此外,概念数据模型还考虑基数。基数描述了一个实体与其他实体的关系,包括一对一、一对多或多对多。

如果没有概念数据建模,组织在开发周期中越深入,这种疏忽就越有可能发生。这是因为当团队在截止日期的压力下专注于设计细节时,大局往往会被忽略。通过首先构建概念数据模型,组织可以避免这种疏忽,因此可以提前考虑和定义实体之间的潜在关系。

四 逻辑数据建模

逻辑数据建模是数据建模的三种类型(或阶段)之一,另外还有概念数据建模和物理数据建模。有时也称为信息建模,逻辑数据建模是这些阶段的第二阶段。它帮助组织对必须处理的信息进行可视化理解,以成功地完成特定的任务或业务流程。

65ed89eada652529c0029b4857076283.png

1什么是逻辑数据模型

作为给定业务领域信息需求的图形表示,逻辑数据模型是通过采用概念数据模型中描述的数据描述,并为数据结构引入相关的元素、定义和更多的上下文来构建的。

这个阶段很重要,因为虽然更精简的概念数据模型更容易沟通,但缺乏上下文会使从建模转移到实现变得困难。需要更多细节来支持这一进程。这些细节包括定义属性、主键、外键、关系基数以及描述实体和类。在这个阶段,建立和定义数据之间关系的本质,并且对来自不同系统的数据进行规范化。

2逻辑数据模型的目标

在这个阶段,数据模型的主要功能是可视化数据元素以及它们之间的关系。逻辑数据建模还可以详细描述与数据元素相关的属性。例如,逻辑数据模型将指定数据元素的性质,即帐户名称(字符串)、帐户号码(整数)。

3什么时候应该考虑逻辑数据模型

这三种不同类型的数据模型提供了越来越多的上下文和细节,因此我们可以依次查看它们的使用情况。因此,一旦建立了概念数据模型,就应该考虑逻辑数据模型。

这个更结构化的数据建模阶段在应用程序设计过程中最为相关,在数据库分析师和设计人员工作的技术环境中,它可以作为一种沟通机制。与概念数据模型相比,它在更大程度上帮助我们理解数据的细节,但类似地,它没有提供应该如何实现的视角。

与概念数据建模一样,这意味着团队不受技术考虑的约束。这一点很重要,因为组织中的技术本质通常是动态的。

4为什么要使用逻辑数据模型

理解逻辑数据模型何时以及为何相关的一个简单方法是考虑模型的目标受众:数据库分析师、系统分析师和设计人员。逻辑数据建模的受众和在应用程序设计过程中的位置意味着为了可访问性而排除上下文和细节是不太相关的。与概念数据建模相比上下文架构师需要确保新应用程序与它们将包含的数据兼容。从本质上讲,逻辑数据模型为生产性数据库设计提供了必要的基础。

如果没有逻辑数据模型,设计人员就只能在新应用程序运行时真正了解其需求。这通常意味着使用无组织的数据元素,从而更有可能忽略这些需求。因此,为了构建物理数据模型而跳过逻辑数据建模阶段可能会导致糟糕的数据库设计和无法正常工作的应用程序。解决这些错误需要一种反应性的方法,这种方法可以放慢产品上市的时间,并增加与开发过程相关的总成本。

此外,逻辑数据模型的技术不可知特性有助于组织建立流程改进的机会。这意味着新的应用程序可以尽可能高效地构建,而不是像当前技术限制所允许的那样有效。

五 物理数据建模物理数据建模是数据建模三个顺序阶段中的第三个阶段。数据库设计人员通过详细说明在概念和逻辑数据建模阶段创建的模型来生成物理数据模型。在此阶段创建的模型支持管理规范化,并考虑部署的目标技术。它们足够全面,可以表示已实现的数据库设计或打算实现的数据库设计。

ef61827b3ec708a3adfc73087ee2a6f9.png

1什么是物理数据模型

物理数据模型引入了概念和逻辑数据模型中缺失的特定于数据库的上下文。它表示数据库中的表、列、数据类型、视图、约束、索引和过程以及/或计算机过程中通信的信息。

物理数据模型应该与特定的数据库管理系统(DBMS)以及基于数据操作的流程的特定需求相关联。这通常需要逻辑设计构造的非规范化,以维护引用的完整性。物理数据建模阶段的上下文考虑的一个例子是可以或将要处理的数据的性质,以及关于如何执行这些流程的规则。

另一个关键的考虑是,确保在DBMS中支持建模的列类型,并且遵守实体和列的命名约定,防止有问题的语义重叠。考虑技术上下文意味着物理数据模型反映技术环境的需求。

2物理数据模型的目标

作为数据模型实现的特定于数据库的表示,物理数据模型有助于在构建数据库之前可视化数据库的结构。他们的焦点和最终目标是数据库的实现,他们通过描述如何在特定的DBMS范围内创建数据库来帮助组织实现这一目标。

使用它,数据库设计者可以创建数据库的抽象并生成模式。实体类型表示为表,关系类型行表示表之间的外键。这个透视图对于确保所表示的数据对象和关系的准确性和与组织系统的兼容性是不可或缺的。

3什么时候应该考虑物理数据模型

这三种类型的数据模型可以而且应该被视为线性阶段。作为数据建模的第三阶段,物理数据建模建立在概念和逻辑阶段开发的模型的基础上。

物理模型标志着模型的转变,从最初被构建的用来表示“什么”(如将被建模的数据和信息)到“如何”(实现)。当然,这种实际的实现方法会考虑到DBMS和技术的细节,包括项目中提出的非正规化需求。

该模型描述了单个项目的数据需求,但它也可以与来自其他项目的物理数据模型集成,以说明项目、过程和技术之间的相互关系。由于考虑到特定的技术,物理数据模型更加严格,即使是很小的更改也可能需要修改整个应用程序。因此,建议只在概念和逻辑数据模型已经构建好之后才继续构建物理数据模型。4为什么要使用物理数据模型

物理数据模型是理解实现本质的重要一步。这样的理解越完整,就越有可能成功地实现满足组织需求的解决方案。

设计良好的物理数据模型可以获得更好的数据质量、更容易的实现和维护以及更可实现的可伸缩性。然而,一个设计良好的物理数据模型取决于它之前的模型是否充分。在实践中,许多组织认识到需要构造物理数据模型,但却忽略或跳过了概念和逻辑模型。这不可避免地会导致设计考虑方面的差距,以及从数据模型到物理应用程序的数据沿续性和可追溯性方面的问题。

六 小结

简而言之,数据建模有助于数据的可视化表示。数据模型是在项目的设计和分析阶段建立的,以确保这些应用程序需求得到满足。这就是数据建模为我们保留的东西。

相关文章
|
存储 NoSQL 数据库
数据模型
一、数据模型 数据模型是用于描述现实世界中各种实体、属性和实体之间关系的一种抽象表示方法。它是在计算机系统中对数据进行组织和管理的基础,用于定义数据的结构、约束和操作。 数据模型可以分为以下几种类型: 1. 层次模型:层次模型是一种树状结构的数据模型,其中数据以层次结构进行组织。每个节点可以有多个子节点,但只能有一个父节点。典型的层次模型是树形数据库。 2. 网状模型:网状模型是一种复杂的数据模型,其中数据之间可以有多对多的关系。网状模型使用指针来表示数据之间的关系,典型的网状模型是CODASYL数据库。 3. 关系模型:关系模型是一种基于关系代数的数据模型,其中数据以表的形式进行组织。关系模
112 0
|
存储 数据采集 分布式计算
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
一篇文章搞懂数据仓库:四种常见数据模型(维度模型、范式模型等)
|
11天前
|
存储 数据采集 大数据
数据仓库建模规范思考
本文介绍了数据仓库建模规范,包括模型分层、设计、数据类型、命名及接口开发等方面的详细规定。通过规范化分层逻辑、高内聚松耦合的设计、明确的命名规范和数据类型转换规则,提高数据仓库的可维护性、可扩展性和数据质量,为企业决策提供支持。
86 10
ly~
|
2月前
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
214 2
|
7月前
|
存储 SQL 数据挖掘
【数据仓库与联机分析处理】多维数据模型
【数据仓库与联机分析处理】多维数据模型
109 6
|
7月前
|
存储 大数据 数据管理
数据模型设计
数据模型设计
|
存储 数据建模 数据管理
【数据建模】微软通用数据模型
【数据建模】微软通用数据模型
|
存储 SQL 供应链
数据模型系列:谈谈Kimball维度数据建模的应用
Ralph Kimball在90年代发布了维度建模思想,并于1996年发布了The Data Warehouse Toolkit,并通过它向世界介绍了维度数据建模。
数据模型系列:谈谈Kimball维度数据建模的应用
|
搜索推荐 容灾 Java
数据模型 | 学习笔记
快速学习数据模型。
数据模型 | 学习笔记
|
存储 SQL 数据采集
数据仓库系列(四)数仓架构以及多维数据模型的设计1
数据仓库系列(四)数仓架构以及多维数据模型的设计1
686 0
数据仓库系列(四)数仓架构以及多维数据模型的设计1