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

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

导读

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

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

在这里插入图片描述

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里叫作元元数据。

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: CWM(Common Warehouse Metamodel)是一种元数据模型,它为数据仓库和商业智能系统的元数据提供了一种标准化的、综合性的描述方式。CWM包含了一系列的规范和模型,其中核心内容主要包括以下几个方面。 首先,CWM定义了一套通用的模型,用于描述与数据仓库和商业智能系统相关的元数据。这些模型包括了数据仓库中的各种对象,例如维度、事实表、数据库表等,以及它们之间的关系和属性。通过这些通用的模型,CWM提供了一种统一的、标准化的元数据描述方法,使得不同数据仓库和商业智能系统之间的元数据可以互相理解和交换。 其次,CWM定义了一组通用的模型操作,用于对元数据进行管理和操作。这些操作包括元数据的创建、修改、查询、删除等,以及元数据之间的关联和依赖关系的管理。通过这些操作,CWM提供了对元数据的全生命周期管理,使得元数据可以在不同的环境中被有效地管理和利用。 另外,CWM还定义了一套元数据交换格式,用于在不同的数据仓库和商业智能系统之间进行元数据的交换和共享。这个交换格式基于XML技术,以一种结构化的方式描述了元数据的各个方面,包括对象的定义、属性的定义、关系和依赖关系等。通过这个元数据交换格式,CWM使得不同系统之间的元数据可以方便地进行交换和共享,从而实现了元数据的互操作性和可移植性。 总之,CWM是一种元数据模型,它提供了一套通用的、标准化的方法和规范,用于描述和管理数据仓库和商业智能系统的元数据。CWM的核心内容包括模型模型操作和元数据交换格式,通过这些内容,CWM实现了对元数据的一致性管理和跨系统的元数据交换与共享。 ### 回答2: CWM(Common Warehouse Metamodel)即通用仓库模型,是一种用于描述数据仓库和商业智能系统元数据模型。CWM的核心内容包括以下几个方面: 1. 对象模型(MOF):CWM使用统一的对象模型来描述元数据,并定义了一系列对象类型和关联关系。这样可以确保不同数据仓库和商业智能系统之间的元数据互操作性,提供了一个标准的元数据描述和交换方式。 2. 元数据仓库:CWM提供了一种标准的元数据仓库模型,用于存储和管理数据仓库和商业智能系统中的元数据元数据仓库可以为用户和应用程序提供统一的元数据访问接口,便于元数据的查询、更新和管理。 3. 共享元数据:CWM通过定义元数据模型元数据交换格式和元数据接口等标准,可以实现不同数据仓库和商业智能系统之间的元数据共享。这样可以提高元数据的一致性和可重用性,减少系统集成和维护的成本。 4. 元数据管理:CWM提供了一套元数据管理的方法和工具,包括元数据的采集、存储、更新和删除等操作。元数据管理可以帮助用户和管理员对元数据进行有效的管理和控制,保证数据仓库和商业智能系统的正常运行。 总之,CWM是一种用于描述数据仓库和商业智能系统中元数据模型,包括对象模型元数据仓库、共享元数据元数据管理等核心内容。它提供了一套标准的元数据描述和交换方式,可以提高元数据的一致性和可重用性,简化系统集成和维护的工作。 ### 回答3: CWM(Common Warehouse Metamodel)是一种用于数据仓库和商业智能系统的元数据模型。它为数据仓库提供了一个统一的元数据定义和管理框架,以支持数据的集成、转换和利用。 CWM的核心内容包括以下几个方面: 1. 模型(Metamodel):CWM定义了一系列的模型,用于描述数据仓库中的各种数据元数据和它们之间的关系。这些模型包括了范围从数据项、数据集合、元数据容器到模式、模型和对象的抽象层次。通过模型,CWM提供了一种可扩展和可移植的元数据管理架构。 2. 对象(Metaclass):CWM定义了多种对象,用于表示元数据中的各种对象和概念,如数据表、列、索引、视图、数据仓库数据源等。每个对象都有一组属性和关系来描述它们的特性和关联。 3. 属性(Metaproperty):CWM定义了一系列属性,用于描述对象的属性,如数据类型、长度、精度等。通过属性,CWM可以对对象的特性进行描述和约束。 4. 关联(Metaassociation):CWM定义了关联,用于描述对象之间的关系和联接。关联可以用于建立数据仓库数据项、数据集合之间的关联关系,以支持数据的集成和查询。 CWM的核心内容还包括了用于数据转换、集成、查询、分析和数据挖掘的相关模型技术,如ETL(Extract, Transform, Load)、OLAP(Online Analytical Processing)、数据挖掘、模型驱动开发等。 总的来说,CWM作为一个元数据模型,提供了一种标准化的元数据管理方式,用于描述和管理数据仓库中的各种数据元数据。它为数据仓库的设计、开发、维护和利用提供了一种统一的框架和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值