Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dbbook(2010.04.15).pdf
Скачиваний:
51
Добавлен:
09.06.2015
Размер:
2.14 Mб
Скачать

3.1.2. Типы данных, определяемые пользователем

Далеко не все современные СУБД в полной мере поддерживают типы данных, определяемые пользователем. СУБД Ingres включает такой механизм. Эта система предоставляет программисту возможность определять собственные типы данных и операции над ними и использовать их в операторах SQL. Для определения нового типа данных необходимо написать и откомпилировать функции на языке СИ, после чего собрать редактором связей некоторые модули Ingres. Введение новых типов данных является, по сути, изменением ядра СУБД. Важно и то, что в Ingres типы данных, определяемые пользователем, могут быть параметризованными.

Определение нового типа данных сводится к указанию его имени, размера и идентификатора в глобальной структуре, описывающей типы данных. Чтобы с новым типом данных можно было использовать функции, которые реализуют стандартные операции (сравнение, преобразование в различные форматы, и т.д.), программист должен разработать их самостоятельно (интерфейс функций предопределен). Указатели на эти функции являются элементами глобальной структуры. Как только новый тип данных определен, то все операции выполняются над ним, как над данными стандартного типа. Разрешение пользователю создавать собственные типы данных – один из шагов развития реляционных СУБД в направлении объектно-реляционных систем.

Многие СУБД позволяют пользователю создавать пользовательские подтипы базовых типов (подтипы данных, определяемые пользователем). В записи на псевдокоде пользовательский подтип создается с помощью оператора

create subtype имя_подтипа type имя_базового_типа as ограничение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]