图象、视频、音频对象在数据库以 BLOB 形式表示。用户定义类型 (UDT),也称为单值类型, 提供了区分不同 BLOB 的方法。例如,可对图象对象创建 UDT,并对音频对象创建另一个 UDT。尽管图象和音频对象都是作为 BLOB 来存储的,但是它们仍被作为不同于 BLOB 并且互不相同的类型来对待。
用 SQL CREATE DISTINCT TYPE 语句创建 UDT。例如,假设您正在开发处理地图上的地理特性的应用程序。为地图对象创建名为 map 的单值类型,如下所示:
CREATE DISTINCT TYPE map AS BLOB (1M)
在内部,地图类型图象表示成长度为 1M 字节的 BLOB,但视为单值对象类型。
可象 SQL 内置类型那样使用 UDT 来描述存储在表的列中的数据。在下例中,创建表时,将列设计成存放地图类型的数据:
CREATE TABLE places (locid INTEGER NOT NULL, location CHAR (50), grid map)
每个 DB2 Extender 创建其类型的 UDT,即,图象、音频和视频。