Типы данных, определяемые пользователем
Эта версия DB2 дает пользователю возможность определять новые типы данных. Новый тип
данных должен соответствовать одному из базовых типов, предоставляемых системой, но для них
может быть определена своя семантика. При этом DB2 способна манипулировать такими данными
в соответствии с определенной для них логикой. Можно задать набор операций, допустимых для
некоторого типа данных, изменив его по сравнению с относящимся к базовому типу.
В DB2 реализован механизм строгой типизации. К данным новоопределенного типа применимы
при этом только те операции, которые определены для него самого, а не для базового класса. Для
СУБД такой подход предоставляет мощный механизм контроля целостности данных.
Так, можно определить тип "почтовый индекс" как производный от целого, но при этом запретить
операции умножения и деления для данных этого типа, как не имеющие смысла, в то время как для
базового класса эти операции справедливы.
Два пользовательских типа данных, производные от одного и того же базового, различаются
системой, что можно использовать для предотвращения некорректных операций с разнородными
данными. Например, определим наряду с упомянутым выше типом "почтовый индекс" другой
производный от целого тип "номер телефона". Попытка сравнить "номер телефона" и "почтовый
индекс" будет восприниматься системой как ошибка, даже если для каждого из этих типов
операция сравнения определена.