天天加油 - 助您成才
结构化数据是什么?
什么是结构化数据,结构化数据是什么意思?

存储在数据库里,可以用二维表结构来逻辑表达实现的数据叫结构化数据;

不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等;

半结构化数据模型是一种基于图的自描述的对象实例模型,其中数据包括原子数据和复杂数据。半结构化数据通常以标记文本的格式存放。

结构化数据类型

结构化数据类型是一种用户定义的数据类型,它包含一些非原子的元素,更确切地说,这些数据类型是可以分割的,它们既可以单独使用,又可以在适当情况下作为一个独立的单元使用。本文将向您介绍结构化数据类型的概念,并通过使用一些示例,向您展示如何建立并运用结构化类型、类型层次结构和类型化表。

IBM? DB2? Universal Database? (DB2 UDB) for Linux?、UNIX? 和 Windows? 都支持结构化数据类型。结构化数据类型 是一种用户定义的数据类型,它包含了一系列的属性,每一个属性都有一个数据类型。属性 是专门用来帮助描述类型实例的特性。例如,如果我们定义了一个称为 address_t 的结构化类型,那么 city 可能就是这个结构化类型的一个属性。结构化类型可以很轻松就将地址这样的数据用作一个独立单元或单独的数据项,无需将每个项(或属性)存储到单独的列中。

最常见的情况是,结构化类型被存储到数据库中:

对于一个或多个列中的值,可以使用结构化类型作为数据类型对它们进行定义。(参见 清单 1 和 清单 2。)

对于表(类型化表)中的行,其中的列是根据结构化类型的属性定义的。在这种情况下,表是用结构化类型创建的,并且您不必在表定义中指定单独的列。(参见 清单 3。)

结构化数据类型

结构化数据类型可以用作普通表中某一列的类型(清单 1 和清单 2),也可以用作整个表(或视图)的类型,或者用作另一个结构化类型的属性(清单 3)。当用作表的类型时,该表就被认为是一个类型化表(清单 3)。

您可以用同样方式使用结构化类型列创建表,也可以只使用 DB2 内置数据类型创建一个表。在两种情况下,都必须为表中的每一列分配一个数据类型。如果列是结构化类型列,则需要将结构化类型的名称指定为其数据类型(清单 1)。

结构化数据类型展示了一个称为继承 的行为。结构化类型可以包含 子类型,以及重用其所有属性并包含自己的特定属性的其他结构化类型。子类型所继承的属性来自哪个类型,该类型就被认为是这个子类型的 超类型。类型层次结构 是基于同一超类型的一组子类型;层次结构中最顶端的超类型被认为是该层次结构的 根类型。

可以使用 CREATE TYPE 语句创建一个结构化类型,并使用 DROP 语句删除结构化类型。

当您创建结构化类型时,DB2 为类型自动创建一个构造函数,并为类型的属性创建 mutator 方法和 observer 方法。您可以使用构造函数和 mutator 方法来创建结构化类型的实例,然后将这些实例插入表的列中。

构造函数 和它关联的结构化类型有相同的名称。构造函数没有参数,并且返回的类型实例中的所有属性都为空。

mutator 方法 是为某个结构化类型(structured type)的每个属性而存在的。当您在结构化类型的实例上调用一个 mutator 方法并为其相关的属性指定一个新值时,该方法将返回一个新的实例,这个实例的属性已经更新为新值。

observer 方法 是为某个结构化类型的每个属性而存在的。当您在结构化类型的实例上调用 observer 方法并为其相关联的属性指定一个新值时,该方法将返回这个实例的一个属性值。

为了在结构化类型的实例上调用 mutator 或 observer 方法,请使用双点(..)运算符(清单 1、清单 2 和清单 3)。

  • 上一篇知识:
  • 下一篇知识:
  • 排行

    最近更新

  • 推荐阅读
  • 电脑通讯《结构化数据》结构化数据