Представления в Informix

Создание представлений может улучшить время ответов на запросы путем ограничения количество таблиц и столбцов, в которых выполняется поиск при запросе данных. Можно создать представления, которые отображаются в клиентских приложениях в качестве классов объектов или непространственных таблиц. Представление может ссылаться на отдельную таблицу или класс объектов, а также можно создать представления для объединения данных из нескольких таблиц.

Любой пользователь, имеющий необходимые разрешения, может создать представления с помощью SQL или команды sdetable. Кроме того, представления можно использовать для редактирования данных, если соблюдаются определенные требования. Сведения о правах доступа, необходимых для создания или изменения видов, можно получить в Информационном центре IBM Informix Dynamic Server для вашей версии.

В базах данных Informix определения представлений сохраняются в таблице каталога sysviews.

Таблица системного каталога sysviews хранит информацию о представлении

При создании представлений в базе данных Informix с использованием SQL или команды sdetableя представления определяются в таблице системного каталога sysviews. Поэтому можно выполнить запрос к таблице системного каталога sysviews для поиска определения каждого представления в базе данных.

Таблица системного каталога sysviews содержат следующие столбцы:

Имя (Name)

Тип

Описание

tabid

целое

ID представления

seqno

Smallint

Номер строки выражения SELECT, которое используется для создания вида

viewtext

char(64)

Выражение, используемое для создания представления

Таблица каталога представлений Informix

Можно сначала выполнить запрос к таблице системного каталога systables для поиска идентификатора tabid нужного представления. Таблица системного каталога systables хранит запись для каждого объекта базы данных, однако можно выполнить запрос к ней таким образом, чтобы получить только представления, как показано в приведенном ниже примере:

SELECT * 
FROM informix.systables 
WHERE tabtype = 'V';

После нахождения представления, для которого следует просмотреть определение, выполните запрос к таблице sysviews.

SELECT * 
FROM informix.sysviews 
WHERE tabid = <view_id>;
5/10/2014