a type which is defined by a programmer in a class, struct, union, enum, or typedef definition or as an instantiation of a class template
A data type that users create to specify a base data type, and optionally a default value, check condition, and nullability. User-defined data types, also called user-defined domains, can be applied to columns to enforce consistency throughout the database. See also: data type.