复杂数据类型

复杂数据类型可以存储一个或多个其他内置或扩展数据类型的值。

图 1 显示了 GBase 8s 支持的复杂数据类型。

图: GBase 8s 的复杂数据类型


标注的矩形描绘复杂数据类型的逻辑层次结构。COLLECTION 类型包括 LIST、MULTISET 和 SET 数据类型。ROW 类型包括命名 ROW 和未命名 ROW 数据类型。结束图片描述

下表总结了复杂数据类型的结构。
表 1. 集合类型是由元素组成的复杂数据类型,每个元素都具有相同的数据类型。
集合类型 描述
LIST 一组有序元素,每个元素在组中不必是唯一的。
MULTISET 一组元素,每个元素不必是唯一的。忽略元素的顺序。
SET 一组元素,每个元素都是唯一的。忽略元素的顺序。
表 2. ROW 类型是由字段组成的复杂数据类型。
ROW 类型 描述
命名 ROW 类型 用其名称标识的行类型。
未命名 ROW 类型 用其结构标识的行类型。

可以嵌套复杂数据类型。例如,可以构造其字段包括一个或多个 set、multiset、ROW 类型和列表的 ROW 类型。同样,集合类型也可以具有数据类型为 ROW 类型或集合类型的元素。

包括不透明类型的复杂类型继承以下支持函数。

接下来的各个主题对复杂数据类型进行了概述。有关更多信息,请参阅《GBase 8s 数据库设计和实现指南》。