Виды в Informix
Создание видов может улучшить время ответов на запросы путем ограничения количество таблиц и столбцов, в которых выполняется поиск при запросе данных. Можно создать представления, которые отображаются в клиентских приложениях в качестве классов объектов или непространственных таблиц. Вид ArcSDE может ссылаться на отдельную таблицу или класс объектов, а также можно создать виды для объединения данных из нескольких таблиц.
Любой пользователь, имеющий необходимые разрешения, может создать представления с помощью SQL или команды sdetable. Кроме того, виды можно использовать для редактирования данных, если соблюдаются определенные требования. Сведения о правах доступа, необходимых для создания или изменения видов, можно получить в Информационном центре IBM Informix Dynamic Server для вашей версии.
В базах данных Informix определения видов сохраняются в таблице каталога sysviews.
Таблица системного каталога sysviews хранит информацию о виде
При создании видов в базе данных Informix с использованием SQL или команды sdetable, виды определяются в таблице системного каталога sysviews. Поэтому можно выполнить запрос к таблице системного каталога sysviews для поиска определения каждого вида в базе данных.
Таблица системного каталога sysviews содержат следующие столбцы:
Имя (Name) |
Тип |
Описание |
---|---|---|
tabid |
Целое |
ID вида |
seqno |
Smallint |
Номер строки выражения SELECT, которое используется для создания вида |
viewtext |
char(64) |
Выражение, используемое для создания вида |
Можно сначала выполнить запрос к таблице системного каталога systables для поиска идентификатора tabid нужного вида. Таблица системного каталога systables хранит запись для каждого объекта базы данных, однако можно выполнить запрос к ней таким образом, чтобы получить только виды, как показано в приведенном ниже примере:
SELECT *
FROM informix.systables
WHERE tabtype = 'V';
После нахождения вида, для которого следует просмотреть определение, выполните запрос к таблице sysviews.
SELECT *
FROM informix.sysviews
WHERE tabid = <view_id>;