如何理解元数据、数据元、元模型、数据字典、数据模型这五个的关系?如何进行数据治理呢?数据治理该从哪方面入手呢?

news2025/7/27 12:52:19

如何理解元数据、数据元、元模型、数据字典、数据模型这五个的关系?如何进行数据治理呢?数据治理该从哪方面入手呢?

  • 导读
  • 一、数据元
  • 二、元数据
  • 三、数据模型
  • 四、数据字典
  • 五、元模型

导读

请问元数据、数据元、数据字典、数据模型及元模型的区别有哪些呢

这些相似的概念估计会把人饶晕,这里先给出一个图解的例子,然后再对这些概念作详细解读。

在这里插入图片描述

1、数据元就是“个人所得税记录表”中的字段,比如示例中的“个人所得税金额”,注意,数据元既有描述内容,也是数据的一部分,最小单元而已,图中蓝色虚框包含的部分就是数据元

2、数据模型就是“个人所得税记录表”这张表本身,它是现实世界的一个抽象,见图中黑色虚框包含的部分。

3、”个人所得税金额“的元数据是对”个人所得税金额“这个字段的描述,见图中红色虚框部分,可见它不包含数据。

4、”个人所得税记录表“的元数据是对”个人所得税记录表“这张表的描述,见图中咖啡色虚框部分。

5、数据字典就是针对表,字段等数据库对象元数据的一种重新组织形式,示意如上。

6、有了对数据模型的理解再看元模型,元模型是模型的模型,定义了描述某一模型的规范,具体来说就是组成模型的元素和元素之间的关系,如上图对实体和实体间的1:1依赖关系做了定义,对实体的属性做了namefield定义,元模型实例化就成了模型和元数据

简单概述一下

数据元:是通过定义、标识、表示以及允许值等一系列属性描述的数据单元,数据元的相关信息也是元数据的一部分,数据元=单元数据+基本描述(元数据子集)

元数据:关于数据的数据,但元数据无法涵盖理解数据元所要表示的数据所必需的所有信息,元数据=对于数据元有缺失的描述

数据字典:用户可以访问的一种信息集合的目录,是元数据的子集和应用,数据字典=元数据的一种特殊应用

数据模型:是数据特征的抽象,将若干具有相关性的数据元按一定的次序组成一个整体结构即为数据模型,数据模型=若干数据元组合

元模型:对模型的元素和元素之间关系的规范,元模型=数据模型和元数据的抽象规范

一、数据元

数据元(Data element)即数据元素,是通过定义、标识、表示以及允许值等一系列属性描述的数据单元,在一定语境下,构建一个语义正确、独立且无歧义的特定概念语义的信息单元。

在特定的语义环境中,数据元被认为是不可再分的最小数据单元,将若干个具有相关性的数据元按一定次序组成的一个整体结构,即数据模型

数据元由对象类、特性、表示三部分组成,“个人所得税金额”就是一个数据元。

  • 个人”为对象词。
    对象类:现实世界中的想法、抽象概念或事物的集合,有清楚的边界和含义,并且特性和其行为遵循同样的规则而能够加以标识;

  • 所得税”是该数据元的特性词。
    特性:对象类的所有个体所共有的某种性质;

  • 金额”是该数据元的表示词,值域可以是一系列非负整数(带有货币单位)。
    表示:值域、数据类型、计量单位(如果需要)、表示类(可选)组成。

数据元可以用来对各行业的数据进行规范化,对行业数据进行统一的名、型、值规范及分类,规划好行业数据元之后,可以为行业构建出统一、集成的、稳定的数据模型奠定基础,同时它也为数据交换奠定基础。

国标GB/T 18391对数据元做了详细规范,下图给出了数据元的结构模型,同实体关系类的数据模型相比,模型中的实体相当于数据元的对象类,而实体的属性相当于数据元中的特性和表示。

在这里插入图片描述
国标定义了数据元的基本属性,如下图所示:

在这里插入图片描述
下面是一个示例:

在这里插入图片描述

二、元数据

面对数据我们总是会有以下的一些疑问:

  • 这个数据怎么来的? 谁创建的,谁更新的,从哪个系统来的…
  • 这个数据是什么? 数据的语义环境是什么,数据怎么存储的,数据的定位是什么…
  • 这个数据怎么用? 数据的应用场景是什么,有没有和其他系统共享,如果丢失会造成什么影响…
  • 这个数据怎么管理? 谁负责这个数据,这个数据怎么评定质量,谁有权访问这个数据…

为了更好的解决这些问题,需要使用元数据来记录数据相关的信息。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据

元数据的作用是巨大的,其是网络信息资源描述的重要工具,可以用于网络信息资源管理的各个方面,包括信息资源的建立、发布、转换、使用、共享等,具体可以概括为五个方面:

  1. 描述作用:对信息对象的内容和位置进行描述,从而为信息对象的存取与利用奠定必要基础。

  2. 定位作用:由于网络信息资源没有具体的实体存在,因此,明确定位至关重要,元数据包含有关网络信息资源位置方面的信息,由此便可确定资源的位置所在,促进了网络环境中信息对象的发现和检索。

  3. 搜寻作用:元数据提供搜寻的基础,在著录的过程中,将信息对象中的重要信息抽出并加以组织,赋予语境,并建立关系,使搜索结果更加准确。

  4. 评估作用:元数据提供有关信息对象的名称、内容、年代、格式、制作者等基本属性,使用户无需浏览信息对象本身情况下,就能对信息对象具备基本了解和认识,参照有关标准即可对其价值进行必要的评估,作为存取利用的参考。

  5. 选择作用:根据元数据提供的描述信息、参考评估标准,结合使用环境,用户能够做出对信息对象取舍的决定,选择适合用户使用的资源。

下面举2个例子。

1、图书馆中的元数据

图书馆都会用一个叫作“图书目录”的文件夹来管理藏书,图书目录包含图书名称、编号、作者、主题、简介、摆放位置等信息,用来帮助图书管理员管理和快速查找图书。元数据就如同图书馆的图书目录一样,能够帮助数据管理员管理数据

2、元数据好比字典

字典包含一个字的注音、含义、组词、举例等基本信息及其字体结构、相关引用、出处等。另外,我们可以通过拼音或偏旁部首查到这个字。所有这些信息都是对这个字的详细描述,它们就是描述这个字的元数据。

从前面的数据元的定义可以知道,数据元是数据的基本单元,它是先于元数据存在的,但一个组织的数据元必须具备元数据,数据元的相关信息也是元数据的一部分,这些元数据将便于用户理解和共享该组织中的数据

但元数据不可能涵盖理解数据元所要表示的数据所必需的所有信息

例如,一个收集调查资料的组织将会有许多关于如何收集数据的信息,这些诸如样本和问卷设计等常常是理解数据所必要的,但是,样本和问卷设计并不是用来表示和描述数据元的元数据的一部分。

三、数据模型

数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三部分,分别是数据结构、数据操作、数据约束

数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型

1、概念数据模型:确定好领域内的基础和关键的业务实体,统一各种业务术语和命名规范,同时也要给出实体间关系的描述,如下示例:

在这里插入图片描述

2、逻辑数据模型:逻辑模型所有实体属性均需添加,实体间关系要清晰描述,需要使用术语,遵循命名规范,逻辑模型不受底层实际存储数据库的约束,但我们需要定义好实体属性以及实体间的关系(这里主要是主外键关系、一对一或一对多或者多对多关系)、实体和属性的备注说明、属性的数据类型以及约束(空值、非空、主外键键约束),如下示例:

在这里插入图片描述

3、物理数据模型:是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS 有关,而且还与操作系统和硬件有关,需要考虑查询性能要求和未来一段时间内的存储空间占用情况,一般根据逻辑模型,使用模型设计工具自动生成的,如下示例:

在这里插入图片描述

根据前面的数据元结构分析可以知道,数据模型从结构上看,跟数据元有映射关系,区别仅在于数据元是基本数据单元,是对现实世界更原子化的抽象,将若干具有相关性的数据元按一定的次序组成一个整体结构即为数据模型

四、数据字典

数据字典是用户可以访问的一种信息集合的目录,记录了有关数据库以及应用程序源数据的信息,

Oracle数据库认为:数据字典是存放有关数据信息的地方,且具有描述数据的用途。数据字典不包含数据库实际数据的信息。数据字典的详细分类见下文,集成化数据字典具体部分见下:

在这里插入图片描述

  1. 数据项:数据项是不可再分的数据单位,数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}

  2. 数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}

  3. 数据流:数据流是数据结构在系统内传输的路径。数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}

  4. 数据存储:数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}

  5. 处理过程:数据字典中只需要描述处理过程的说明性信息。处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}

数据字典是一个广泛概念,狭义上指用来存储信息的数据库本身,也可以是非技术的业务领域内数据元素的定义的集合。常见分类如下:

在这里插入图片描述

1、按存储介质

  • 数据库介质:有Oracle、hive自带的元数据库,也有企业将自己公司的数据字典存储在数据库中,如MySQL、Oracle、Postgre等。
  • 非数据库介质:主要是以excel文档为主:对于一个项目中的数据字典,项目组出于使用便捷、成本低以及数据量可控制等原因,使用excel存储相对应的数据元素,方便数据记录、查询、维护和再开发。

2、自动和手动

  • 自动数据字典:一般是数据库管理软件自动管理或者大公司自研的大数据产品,与数据库的当前结构和定义一致。当数据库管理系统对数据库进行任何更改时,数据字典也会更新。
  • 手动数据字典:一般与业务数据库分开维护,需要我们手动更新。被动数据字典可以作为单独的数据库进行维护,也可以是在独立的excel进行维护。
  • 半自动特殊情况:在实施项目过程中,经常会出现脚本结合excel情况。主要有俩种模型,一种是在修改影响数据字典内容前,本着设计及开发原则,先修改数据字典,之后通过脚本或者人工方式再去修改对应数据库的内容;另一种情况是,每次修改完数据库内容后,通过脚本方式重新迭代生成新的数据字典。

3、使用用途

  • 业务数据字典:记录数据在业务流转过程中的关键节点和背后业务意义,保存一个数据元在数据产生、流转、融合、销毁等全生命周期的业务信息规则,帮助数据稽查和商业分析等活动。
  • 技术数据字典:记录一个数据元在物理数据库中信息,方便开发人员对某一数据元或数据表建设数据模型等加工处理操作。
  • 其他用途数据字典:在某些项目中,由于特殊需求,针对数据操作和管理可能会有单独的数据字典来维护,项目中每多增加一个非自动化数据字典,提高了维护的人工成本和数据不一致的风险,因此需要项目团队谨慎对待。

可以看到,元数据有助于填充数据字典,将元数据存储于一个库中并使之条理化就可以形成一个数据字典。

数据字典一般供技术团队使用,是引用不同数据属性的主要场所,包括约束、数据类型、默认值、长度、转换规则和业务定义。通过建立整个公司都能理解的连贯定义,所有团队都可以在同一层面上。这有助于保持数据的有效性并实现组织内的一致性。

五、元模型

元模型定义了描述某一模型的规范,具体来说就是组成模型的元素和元素之间的关系。元模型是相对于模型的概念,离开了模型元模型就没有了意义。

下面来看一个类模型与其元模型的例子:

在这里插入图片描述
可以将元模型想象成为某种形式语言,这样模型就是一篇用该语言描述的文章,其中元模型中的元素就是该语言的词汇,元素之间的关系就是该语言的语法,如下图:

在这里插入图片描述
每个模型都有一种元模型来解释它,虽然这种元模型可能不是显而易见的,而模型与元模型也是相对的,对于元元模型来说元模型就是它的模型。模型与元模型构成了一个无限循环,而越往上抽象层次越高

举一个例子,随着抽象层次的提升,动物、植物在某个抽象层次有一致的元模型(都是有细胞构成的),再往上提升在某一抽象层次,动物植物矿物都是一致了(都是由分子构成)。

在这里插入图片描述

ERWIn,Powerdesign都是建模工具,这些工具中的实体、关系、属性等构件就是元模型,基于这些元模型的编排我们就可以构建出自己需要的数据模型,如下图所示:

在这里插入图片描述
大家可以看到,元模型让模型的定义和连接变得更加规范和标准化,这对于数据的集成是非常关键的,现在有很多数据库产品,它们对元数据都有自己的定义和格式,如果这些元数据没有统一的标准,意味着两个产品无法进行沟通,比如BI产品要从ORACLE数据库取到所需要的的表,双方必须对接口的定义保持一致,要解决这些问题,就必须得用标准的语言描述双方元数据的结构和语义,并提供标准的元数据交换机制。CWM(公共仓库元模型)就是满足这些条件的一个规范

OMG(对象管理组织)在2000年发布了CWM规范,旨在推动数据仓库、智能商务和知识管理方面元数据的共享和交换。CWM主要基于以下三个工业标准:

  1. UML:统一建模语言,是OMG的一个建模标准;
  2. MOF:元对象工具,是OMG关于元模型和元数据库的一个标准;
  3. XMI:XML元数据交换,是OMG关于元数据交换的标准;

这三个标准是OMG元数据库体系结构的核心,UML定义了表示模型和元模型的语法和语义。MOF为构建模型和元模型提供了可扩展的框架,并提供了存取元数据的程序接口。而利用XMI则可以将元数据转换为标准的XML数据流或文件的格式,以便进行交换,这大大增强了CWM的通用性。

传统的元数据有四个层次,除了最底层外,每一层都对它的下一层进行描述。

  1. 最底层是用户对象层(M0),包括用户要描述的信息,这些信息统称为数据。

  2. 向上一层是模型层(M1),由描述信息的元数据组成,在这一层,元数据一般都组合成模型的形式。

  3. 再向上一层是元模型层(M2),由定义M1层元数据格式和语义的描述信息组成,也就是元元数据,一般组合成元模型的形式。

  4. 最高层是元元模型层(M3),它定义了元模型的结构和语义。

下面举个例子对这种四层结构进行说明。

四层的内容解释如下:

  1. 数据层是学生记录(Record)的实例,即具体的某个学生;

  2. 模型层描述学生这个记录类型的内容,它有一个名字(“Student”)和两个字段(Field),每个字段都有一个名字和类型,比如第一个字段的名字是“name“,字段类型是String;

  3. 元模型层对Record这种类型进行定义,在这一层, Record是元类metaClass的一个实例,一个Record拥有两个元属性metaAttribute,第一个name定义它的名字,是String类型,第二个fields定义它包含的字段集,字段集中的成员是Field类型。类似的,元类field应该也包含两个元属性:名字name和类型type;

  4. 元模型层的结构是基本固定的,它将所有概念抽象为以下这些组件:元类meta-Class元属性meta-Attribute元关联meta-Association,并定义了元类之间的关系,主要包括:包含(Contains)继承(Generalizes)类型引用(IsOfType)依赖(DependsOn)

综上所述,可以用下面这张表来描述OMG的上述规范和元数据四层结构的对应关系:

在这里插入图片描述

可以想像一下,如果A系统想访问B数据库的学生记录(Record),双方必需对实体、属性等的定义和格式要保持一致,这样A系统才能准确的告诉B我首先要查找实体学生记录,然后从这个实体获得属性 ,如果大家的模型不是基于同样定义的实体和属性构建出来的,那么肯定是无法进行连接的,这种抽象就叫CWM元模型,在MOF里叫作元元数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/394689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数仓治理之数据梳理

目录 1.定义 2.用途作用 3.实施方法 3.1自上而下 3.1.1数据域梳理 3.1.2数据主题梳理 3.1.3 数据实体梳理 3.1.4设计数据模型 3.1.5优点 3.1.5缺点 3.2自下而上 3.2.1需求分析 3.2.2展现 3.2.3分析逻辑 3.2.4数据建模 3.2.5优点 3.2.6缺点 1.定义 “数据梳理”即对…

SpringBoot 如何保证接口安全?

为什么要保证接口安全对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。 如果你的接口在外网裸奔,只要让黑客知道接口的地址和参数就可以调用,那简直就是灾难。举个例子:你的网站用户注册的时候&am…

【云原生kubernetes】k8s数据存储之Volume使用详解

目录 一、什么是Volume 二、k8s中的Volume 三、k8s中常见的Volume类型 四、Volume 之 EmptyDir 4.1 EmptyDir 特点 4.2 EmptyDir 实现文件共享 4.2.1 关于busybox 4.3 操作步骤 4.3.1 创建配置模板文件yaml 4.3.2 创建Pod 4.3.3 访问nginx使其产生访问日志 4.3.4 …

I.MX6ULL_Linux_系统篇(27) 系统烧录工具

前面我们已经移植好了 uboot 和 linux kernle,制作好了根文件系统。但是我们移植都是通过网络来测试的,在实际的产品开发中肯定不可能通过网络来运行,因此我们需要将 uboot、 linux kernel、 .dtb(设备树)和 rootfs 这四个文件烧写到板子上的…

Nginx学习 (2) —— 虚拟主机配置

文章目录虚拟主机原理域名解析与泛域名解析(实践)配置文件中ServerName的匹配规则技术架构多用户二级域名短网址虚拟主机原理 为什么需要虚拟主机: 当一台主机充当服务器给用户提供资源的时候,并不是一直都有很大的用户量&#…

数据库面试题总结——DBA面试battle指南

目录 前言 数据库复制 oracle和pg的同步原理 mysql的同步原理 mysql的GTID 主从架构如何保证数据不丢失 oracle的保护模式 pg的日志传输模​​​​​​​式 mysql同步模式 从库只读 oracle的只读 pg的只读 mysql的只读 索引结构和寻迹 B树索引 索引寻迹 绑定执…

nacos源码入门

nacos官方文档地址:nacos官方文档 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 简单来说,nacos就是一个注册中心、配置中心&#xff0…

灯具照明行业MES系统,助力企业实现数字化转型

灯具照明行业在制造领域,是典型的高科技离散生产制造模式,大部分企业都设置:电源组件、光源组件、或光电一体组件 ,工艺以SMT、DIP等。 灯罩主要采用吸塑工艺及模具加工;其它金属的面盖、灯体、灯盒基本都是采用压铸、…

传送点遍历分析

由于《天涯明月刀》的地图较大,所以每个地图中会分布很多的传送点,而这些传送点都可以在访问过地图之后以“御风神行”这类技能进行传送。为了能够很好的利用这类技能,提高外挂的效率,传送点的遍历是必不可少的。 首先找一个可以…

代码随想录算法训练营第七天|454.四数相加II 、 383. 赎金信 、 15. 三数之和 、18. 四数之和

454.四数相加II 454.四数相加II介绍给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:思路因为是存放在数组里不同位置的元素,因此不需要考虑去重的操作,而…

深度学习算法简要总结系列

今天突发奇想,准备一个总结系列,以备面试只需,嘿嘿,忘了就回来看看,以框架流程为主,不涉及细节、 点云 pointnet 代码仓库 https://github.com/yanx27/Pointnet_Pointnet2_pytorch 参考博客 论文阅读笔记 …

java单元测试批处理数据模板【亿点点日志配合分页以及多线程处理】

文章目录引入相关资料环境准备分页查询处理,减少单次批量处理的数据量级补充亿点点日志,更易观察多线程优化查询_切数据版多线程_每个线程都分页处理引入 都说后端开发能顶半个运维,我们经常需要对大量输出进行需求调整,很多时候…

Umi + React + Ant Design Pro 项目实践(一)—— 项目搭建

学习一下 Umi、 Ant Design 和 Ant Design Pro 从 0 开始创建一个简单应用。 首先,新建项目目录: 在项目目录 D:\react\demo 中,安装 Umi 脚手架: yarn create umi # npm create umi安装成功: 接下来,…

《OpenGL宝典》--纹理

文章目录创建并初始化纹理创建纹理更新纹理数据纹理目标和类型从着色器中读取纹理数据采样器类型使用texelFetch内置函数从着色器读取纹理使用texture()函数从着色器读取纹理获取更多信息控制纹理数据的读取方式使用采样器对象存储采样器包装和过滤模式的…

AVL树的介绍和实现

我们知道,二叉搜索树是会出现单向的。单向在查找时效率是非常低的,时间复杂度会退化成O(N),而AVL树就是解决这个问题。 文章目录1. AVL 树1.1 AVL树的概念1.2 AVL树节点的定义1.3 插入后的平衡因子1.4 AVL树的旋转1.4.1 右右:左单…

JavaScript 循环实例集合

文章目录JavaScript 循环实例集合For 循环循环输出 HTML 标题While 循环Do while 循环break 语句continue 语句使用 For...In 声明来遍历数组内的元素JavaScript 循环实例集合 For 循环 源码 <!DOCTYPE html> <html> <head> <meta charset"utf-8&q…

PG数据库入门知识

前言 Linux和windows的路劲分隔符是不同的&#xff0c;Linux下是斜杠/,而windows是反斜杠&#xff08;\&#xff09;。但在PG里window下也要使用linux的/作为路劲分隔符。 基础知识 为什么选择PG PostgreSQL是一款企业级关系型数据库管理系统。PostgreSQL之所以如此特别&am…

如何成为程序员中的牛人/高手?

目录 一、牛人是怎么成为牛人的&#xff1f; 二、关于牛人的一点看法 三、让程序员与业务接壤&#xff0c;在开发团队中“升级” 四、使用低代码平台 目标效果 五、最后 祝伟大的程序员们梦想成真、码到成功&#xff01; 一、牛人是怎么成为牛人的&#xff1f; 最近在某…

Android开发学习—手机开机启动的AMS流程

前言 AMS是Android中最核心的服务&#xff0c;主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作&#xff0c;其职责与操作系统中的进程管理和调度模块相类似&#xff0c;因此它在Android中非常重要。 客户端使用ActivityManager类。由于AMS是系统核心服…

浅谈ChatGPT 和 对AI 的思考

新世纪以来&#xff0c;人工智能作为一个非常热门话题&#xff0c;一直收到大众的广泛的关注。从一开始的图像的分类&#xff0c;检测&#xff0c;到人脸的识别&#xff0c;到视频分析分类&#xff0c;到事件的监测&#xff0c;到基于图片的文本生成&#xff0c;到AI自动写小说…