何时使用命名行类型

命名行类型是一种在 GBase 8s 中创建新数据类型的方法。创建命名行类型时,您是在定义数据库服务器已知的数据类型的字段模板。因此,行类型的字段定义与表的列定义类似:它们都是根据数据库服务器已知的数据类型构造的。

如果需要一个类型来充当用户必须访问的组件值的容器,可以创建命名行类型。例如,由于用户需要直接访问地址的个别组件值(如街道、城市、省/自治区/直辖市和邮政编码),因此可以创建命名行类型来支持地址值。在将地址类型作为命名行类型创建后,用户总是可以直接访问每个字段。

相反,如果创建不透明数据类型来处理地址值,那么使用 C 语言数据结构来存储所有的地址信息。由于不透明类型的组件值是封装的,所以必须定义函数来抽取街道、城市、州和邮政编码的组件值。因此,不透明数据类型是定义和使用都更为复杂的类型。

在定义数据类型之前,确定该类型是否仅仅是用户可以直接访问的一组值的容器。如果该类型符合此描述,那么使用命名行类型。