数据治理建模技术:你了解ER模型吗?

文 | 商业智能BI相关文章 阅读次数:155 次浏览
2024-05-10 9:18:30

在当今信息化快速发展的时代,数据已成为企业决策、运营和创新的核心驱动力。随着大数据、云计算和人工智能等技术的兴起,对数据的管理和应用提出了更高的要求。数据建模技术作为理解和组织数据的一种关键方法,对于构建有效的数据架构、提高数据质量、促进数据共享和创新具有至关重要的作用。

数据建模不仅仅是创建数据的逻辑表示,它还涉及到对数据流、数据关系和数据操作的深入理解。通过数据建模,企业可以更好地组织和分析数据,确保数据的一致性、准确性和可访问性。此外,良好的数据模型还能够帮助企业识别数据中的问题和机会,从而做出更加明智的决策。

本文将重点介绍数据治理中常用的数据建模方法ER模型的基本概念、构成和实践。通过本文的探讨,我们希望能够帮助读者更好地理解数据建模技术的价值和应用,以及如何通过有效的数据建模来提升企业的数据管理和应用能力。在数据驱动的商业环境中,掌握数据建模技术对于任何希望从数据中获得洞察和价值的企业和专业人士来说都是至关重要的。

一、  什么是ER模型

ER模型(实体-关系模型)是一种用于数据建模的通用方法,它允许设计者以一种独立于特定数据库系统的方式,从用户的角度表达数据结构。ER模型在数据库设计领域被广泛采用,是创建数据模型的重要工具。为了确保数据的规范化,ER模型在需求分析阶段遵循三个范式原则,这有助于合理地组织实体间的依赖关系,并最终形成系统的ER图。

ER模型通过图形化的方式展示实体集合之间的关系。实体集合指的是一组具有共同特征的实体,这些实体可以拥有各自的属性。在数据库系统的语境中,实体可以代表数据库中的表格或表格中的字段。因此,ER模型通过展示表格及其字段之间的关系,能够揭示数据库的完整逻辑架构。

以一个包含两个实体——“客户”和“商品”的模型为例,它们之间存在一对多(在图中通常用”M”表示)的关系。这意味着单个客户可以购买多种商品,但一件商品在同一时间只能卖给一个客户。在客户实体中,可能包含客户编码、客户名称、客户地址等属性;而在商品实体中,则可能包含商品编码、商品名称等属性。通过ER模型,我们可以清晰地识别和理解这些实体及其属性之间的关系。

ER模型图,数据建模,数据治理建模

在ER模型的图形表示法中,各种形状和线条具有特定的含义,用于描述实体、属性以及它们之间的关系。以下是ER模型中使用的图形符号及其代表意义的说明:

  • 矩形:用来表示实体集,即一组具有相同属性的实体的集合。
  • 椭圆:代表实体集的属性,即描述实体特征的信息。
  • 菱形:用来表示关系集,即实体间的某种联系或相互作用。
  • 直线:用于连接属性和实体集,或者连接实体集和关系集,表示它们之间的关系。
  • 双椭圆:表示多值属性,即属性可以取多个值的情况。
  • 虚线椭圆:表示派生属性,这种属性的值可以通过其他属性的值计算得出,而非直接存储。
  • 双矩形:代表弱实体集,它依赖于另一个实体集的存在,并且通常没有足够的属性独立存在。
  • 双线:表示实体在关系集中的总体参与情况,即实体与关系集之间连接的强度或频率。

在构建ER模型时,设计者会使用这些图形元素来创建一个直观的图形界面,它能够清晰地展示数据的组织结构和数据之间的交互关系。通过这种方式,ER模型成为了理解和设计数据库的强大工具。

二、  ER模型由什么构成

ER模型由三个核心要素组成:实体、属性和关系。

ER模型构成,数据建模,数据治理建模

1、  实体

在ER模型中,实体代表数据世界中的对象或概念,并在ER图示中以矩形的形式呈现。以一个特定的ER图为例,该图展示了两个实体:客户和商品。这两个实体之间建立了一种一对多的关联关系,这是因为单个客户有能力购买多种不同的商品。

一对多实体·,数据建模,数据治理建模

弱实体

在ER模型的概念体系中,存在一种特殊类型的实体,称为弱实体。弱实体是指那些无法仅凭其自身的属性集来唯一确定其身份,并且其存在依赖于与其他实体的关系的实体。在ER图的表示法中,弱实体通常用双线框起来的矩形来表示,以区别于普通的实体。

举例来说,考虑一个银行账户的实体。如果缺少了指明账户所属银行的信息,那么仅凭账户本身的属性,比如账号或余额,是无法独立地、唯一地确定这个账户的。由于银行账户的标识依赖于它与银行之间的关系,因此银行账户可以被视为一个弱实体。

弱实体,数据建模,数据治理建模

2、  属性

在ER模型中,属性是用来描述实体特征的详细信息,它们在ER图谱中通常由椭圆来表示。属性可以被归类为四种主要的类型:键属性、复合属性、多值属性和派生属性。

(1)键属性

键属性是用于从实体集中唯一区分每个实体的属性。例如,在客户信息的管理中,每个客户通过其客户编码来唯一标识;同样地,产品信息可以通过产品编码来实现唯一性识别。在ER模型的图形表示中,键属性通常用椭圆来表示,与其它属性的图形表示方式相同。为了区分,键属性的名称在ER图中通常会被加上下划线以示区别。以一个实例为例,在某个ER图中,客户的键属性可以被标记为客户ID,并在表示该属性的椭圆下方的文字上加上下划线。

键属性,数据建模,数据治理建模

(2)复合属性

复合属性是由多个独立属性组合而成的单一属性,它能够表示一个更为复杂的信息项。以客户实体为例,客户地址就可以被视为一个复合属性,因为它由多个子属性构成,如国家、省份/城市/地区、街道等。这些子属性共同定义了一个完整的地址信息。在ER模型中,复合属性通常在属性名称旁边使用特定的标记或符号来表示,以区别于其他类型的属性。

复合属性,数据建模,数据治理建模

(3)多值属性

能够存储多个值的属性被称为多值属性,在ER模型的图形表示中,这种属性通常以双椭圆来表示。

以个人为例,由于一个人可能拥有不止一个电话号码,因此电话号码这一属性在ER图中会被标记为多值属性。

多值属性,数据建模,数据治理建模

(4)派生属性

派生属性是指其值不是直接存储在数据库中,而是根据其他属性的值动态计算得出的属性。

在ER模型的图形表示法中,派生属性一般用带有虚线边框的椭圆来表示。

以客户的年龄属性为例,年龄是一个随时间变化而变化的属性,它是由客户的出生日期这一属性计算得出的,因此,客户的年龄可以被视为一个派生属性。

派生属性,数据建模,数据治理建模

3、  关系

在ER模型中,实体之间的关系通过菱形图形来表示。这些关系可以归为四种基本类型:一对一、一对多、多对一和多对多。

(1)一对一关系

当一个实体的单一实例与另一个实体的单一实例相互关联时,它们之间存在一对一的关系。举例来说,一个人只能拥有一个身份证号码,而一个身份证号码也只会被分配给一个特定的人。

这种一对一的关系在ER模型中通过连接两个实体的菱形来表示,菱形两侧各连接一个实体,且没有指向任何一方的箭头,以反映这种相互唯一的关联性。

一对一,数据建模,数据治理建模

(2)一对多关系

当一个实体的单一实例能够与另一个实体的多个实例建立关联时,这种关系被称为一对多关系。以客户和订单为例,一个客户有能力生成多个订单,然而,一个订单通常是由单一客户发起的。

在ER模型的图形表示中,一对多关系通常通过从表示“一”的实体(客户)指向表示“多”的实体(订单)的直线来表示,这条直线上通常标有相应的关系名称,以明确表示这种关系的方向和性质。

一对多,数据建模,数据治理建模

(3)多对一关系

在实体间的关联中,如果多个实例属于一个实体,而它们同时与另一个实体的单一实例相关联,这种关系被称作多对一关系。举例来说,多个客户可能会选择在同一家商场进行购物,但通常一个客户在任何一个特定时间点只能在一个商场内购物。

在ER模型的图形表示法中,多对一关系通过从表示“多”的实体(客户)指向表示“一”的实体(商场)的直线来表示,这条直线帮助阐明了实体间的关联方向和类型。

多对一,数据建模,数据治理建模

(4)多对多关系

当一个实体的多个实例与另一个实体的多个实例相互关联时,这种关系被称为多对多关系。举例来说,多个项目可以被分配给同一个团队,同时,一个项目也可能被分配给或需要多个团队共同完成。

在ER模型的图形表示中,多对多关系通常通过两个实体间的菱形连接来表示,菱形两侧各连接一个实体,并且会用直线将菱形与两个实体相连,以体现这种双向的多实例关联。

多对多,数据建模,数据治理建模

三、  ER建模有哪些步骤

ER建模是一种自顶向下的建模方法,它遵循一系列有序的步骤来构建数据模型。该过程通常包括以下五个主要阶段:定义业

务需求范围、定义实体类型、定义实体关系、定义非键属性、确认模型。

建模步骤,数据建模,数据治理建模

1、定义需求范围

在这一阶段,关键任务是明确项目的具体需求,包括但不限于以下问题:

  • 需要解决的核心问题是什么?(通常与提高收入或降低成本相关。)
  • 数据模型应该解答哪些关键业务问题?
  • 必须实现哪些业务功能
  • 存在哪些业务约束
  • 是否所有相关方都能共享他们的业务需求?

2、定义实体类型

实体类型,或简称实体,是指代一组相似对象的概念,类似于面向对象编程中的类。实体可以代表人、地点、物品、事件或概念的集合。

例如,在客户关系管理(CRM)系统中,可能的实体类型包括“客户”、“地址”、“订单”、“项目”和“税收”。每个实体代表一个独特的概念,如客户和订单,因此应分别建模。

在确定业务需求的基础上,创建初步的实体集合,并对每个实体进行详细定义,同时排除那些超出项目范围的实体,为剩余的实体确定主键(键属性)。在逻辑建模阶段定义键属性,而在概念建模阶段则不需要。

3、定义实体关系

识别实体间的关系,对于每个潜在的关系:

  • 排除那些不在项目范围内或间接的关系。
  • 对剩余的关系进行定义。
  • 确定每种关系的基数(一对一、一对多、多对一、多对多)。
  • 确保所有关系(通过主键/外键参照完整性)都是完整和有效的。 

在现实世界中,实体与其他实体之间存在关系。例如,“客户”与“订单”之间可能存在“下订单”和“被下单”的关系,而“客户”与“地址”之间的关系则可能是单一的。在定义这些关系时,应选择清晰准确的描述,以避免混淆。

4、定义非键属性

每个实体类型都有其数据属性,如客户的名称、地址和联系电话。属性的识别对于数据库设计至关重要,不同环境下的属性定义可能不同。例如,对于中国人,“姓名”可能是一个单一属性,而对于许多外国人,则可能需要将其分解为“名”和“姓”两个属性。不恰当的数据模型设计可能导致系统过于复杂,增加开发和维护成本。

5、确认模型

鉴于业务需求、规则和操作的复杂性,可能需要多次迭代和验证数据模型,以确保它满足所有业务需求和约束,解决了所有业务问题。这个过程将持续进行,直到团队内部对数据模型的理解和内容达成一致。

四、  ER建模技术

统一建模语言(UML)是一种标准化的建模工具集,由多种集成的图形图表组成,它被设计用来辅助系统和软件开发人员以图形化的方法构建和记录软件系统的组件,同时也可以用于业务流程和其他非软件系统的建模。UML集合了一系列经过验证的最佳工程实践,这些实践在大型和复杂系统的建模中显示出了其有效性。作为一种建模语言,UML具有明确定义的语法和语义规则。

UML使用一套图形符号来表达软件模型,这些符号设计得既简洁又直观,同时遵循严格的规范。因此,用UML绘制的软件模型和数据模型不仅易于理解和阅读,而且由于符号的规范性,模型的精确性和一致性得到了保障。

1、UML支持哪些模型

UML支持的模型主要分为以下三类:

  • 功能模型:从用户视角出发,展示系统的功能,主要包括用例图和部署图。
  • 对象模型:使用对象、属性、操作和关联等概念来展示系统的结构基础,包括类图、对象图和组件图。
  • 动态模型:描述系统的内部行为,包括序列图、活动图、状态图和通信图。这些模型有助于揭示系统在运行时的交互和流程。

2、UML的组成部分

UML由以下主要组成部分构成:

(1)事物(Things):UML中的事物指的是模型的基本元素,包括结构事物(如类、对象、数据类型)、行为事物(如状态机、活动)、分组事物(如包)和关联事物(如关联、依赖、泛化)。

(2)关系(Relationships):UML中的关系描述了事物之间的连接,包括关联、依赖、泛化(继承)、实现和组合等。

(3)图(Diagrams):UML图是事物和关系的图形化表示,用于展示系统的不同视图。每种图关注系统的特定方面:

  • 用例图:展示系统的功能和用户与系统之间的交互。
  • 类图:展示系统的静态结构,包括类、属性、操作和它们之间的关系。
  • 对象图:展示系统中对象的特定实例和它们之间的关系。
  • 序列图:展示对象之间交互的时间序列,强调对象间消息的发送顺序。
  • 通信图(也称为合作图):与序列图相似,但更强调对象间的关系。
  • 状态图:展示对象状态的变化以及触发这些变化的事件。
  • 活动图:展示业务流程或工作流中的活动、决策点和并行处理。
  • 组件图:描述系统中软件组件的组织和它们之间的依赖关系。
  • 部署图:展示系统的物理部署,包括硬件、节点和软件组件的分布。

(4)约束:UML中的约束用于指定事物和关系必须遵守的规则。

(5)样式:UML具有一致的视觉表示法,使得模型易于理解和交流。

UML是一种强大的建模工具,它通过提供一套丰富的符号和图表,帮助团队以一种结构化和标准化的方式理解和设计复杂系统。

五、  总结

总结来说,数据建模是实现数据治理目标的关键。它不仅提高了数据的质量和可用性,还为企业提供了深入分析和挖掘数据潜力的能力。在数据驱动的商业环境中,掌握数据建模技术对于任何企业和专业人士来说都至关重要。我们希望本文能够为读者提供有价值的见解和指导,帮助他们在数据管理和应用的道路上迈出坚实的一步。

最后,随着技术的不断进步,数据建模的方法和工具也在不断发展。我们鼓励企业和专业人士持续学习和探索,以充分利用数据建模技术,推动企业的数字化转型和创新发展。通过不断优化和完善数据模型,企业可以更好地释放数据的潜力,实现可持续的竞争优势。

帆软软件深耕数字行业,能够基于强大的底层数据仓库与数据集成技术,为企业梳理指标体系,建立全面、便捷、直观的经营、财务、绩效、风险和监管一体化的报表系统数据分析平台,并为各业务部门人员及领导提供PC端、移动端等可视化大屏查看方式,有效提高工作效率与需求响应速度。

产品体验

相关内容

目录
立即咨询 立即咨询

商务咨询

在线咨询
专业顾问帮您解答问题

电话咨询

技术问题

投诉入口

微信咨询

返回顶部