集合数据类型

本章节的下列部分凭借几个不同的示例来展示您可如何在 SPL 程序中操纵集合。

在 SPL 程序中处理集合的基本内容是使用 numbers 表来说明的,如下图所示。

图: 在 SPL 程序中处理集合。

CREATE TABLE numbers
            (
            id INTEGER PRIMARY KEY,
            primes       SET( INTEGER NOT NULL ),
            evens        LIST( INTEGER NOT NULL ),
            twin_primes  LIST( SET( INTEGER NOT NULL )
            NOT NULL )

primesevens 列保存简单的集合。twin_primes 列保存嵌套的集合,SET 的 LIST。(双素数是一对相差 2 的连续素数,诸如 5 和 7,或 11 和 13。)设计 twin_primes 列以允许您输入这样的值对。

本章节中的一些示例使用下图中的 polygons 表,来说明如何操纵集合。polygons 表包含集合来表示两维图形数据。例如,假设您定义名为 point 的 opaque 数据类型,其有表示两维点的 xy 坐标的两个双精度值,其坐标可能表示为 '1.0, 3.0'。使用 point 数据类型,您可创建包含一系列定义多边形的点的表。

图: 操纵集合。

CREATE OPAQUE TYPE point ( INTERNALLENGTH = 8);
            
            CREATE TABLE polygons
            (
            id          INTEGER PRIMARY KEY,
            definition  SET( point NOT NULL )
            );

polygons 表中的 definition 列包含简单的集合,point 值的 SET。