Краткий обзор видов в базе геоданных

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

Виды базы данных

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

При создании вида версионного набора данных появляется только рабочая (базовая) таблица, в которой не отображаются изменения в дельта-таблицах. Чтобы увидеть изменения в дельта-таблицах, примените версионный вид к рабочей таблице.

Для создания вида базы данных можно использовать ArcGIS for Desktop или встроенный SQL системы управления базами данных (СУБД).

Для того, чтобы пользователь мог создать вид, ему требуются определенные права доступа, например, разрешение на использование функции СОЗДАТЬ ВИД (CREATE VIEW) в базах данных Oracle или SQL Server. В некоторых системах управления базами данных пользователь, создающий вид класса объектов или таблицы, владельцем которых он не является, не может предоставить другим пользователям права использовать вид до тех пор, пока владелец этих таблиц не даст ему разрешения предоставлять права доступа другим пользователям.

Пространственные виды

Пространственные виды – это виды базы данных, которые содержат один пространственный столбец. Они могут быть созданы только на основе пространственных таблиц, которые не были зарегистрированы в базе геоданных. Если же таблицы были зарегистрированы в базе геоданных, то такие виды можно создавать на основе безверсионных классов объектов.

Помимо оснований для использования видов базы данных, перечисленных в разделе Что такое вид?, существуют и некоторые другие причины для создания пространственных видов.

Пространственные виды можно создавать с помощью ArcGIS или SQL. Строки ID или столбцы ObjectID и пространственные столбцы должны принадлежать одной и той же таблице. Если это условие не выполняется, то уникальная связь между строкой ID или столбцом ObjectID и определяющим столбцом может быть нарушена, что приведет к ошибочные результатам при запросе или отображении данных в ArcGIS. Для создания пространственного вида с помощью SQL необходимо включить в этот вид пространственный столбец и подходящие строку ID или столбец ObjectID из класса объектов или пространственной таблицы.

ПримечаниеПримечание:

При создании вида с помощью SQL или других инструментов СУБД необходимо рассмотреть целесообразность его создания. Например, необходимо определить, действительно ли определенные столбцы находятся в определенных таблицах, и существуют ли индексы столбцов для быстрого выполнения запроса. Если впоследствии вы решите заменить виды, созданные с помощью ArcGIS, на измененные, то на вас ляжет ответственность не только за корректность и эффективность выполнения запросов, но и за их актуальность и возможность использования с клиентами ArcGIS. Например, построение видов "один ко многим" с использованием классов объектов приводит к дублированию столбцов ObjectID. Это приводит к непредсказуемому поведению таких приложений, как ArcMap и ArcCatalog, так как столбец ObjectID должен содержать уникальные значения.

Версионные виды

Версионные виды включают в себя виды базы данных, сохраненные процедуры, триггеры и функции, необходимые для получения доступа или возможности редактирования определенной версии таблицы или класса объектов в базе геоданных, использующей SQL.

Начиная с версии ArcGIS 10.1, версионные виды автоматически создаются для таблиц и классов объектов, регистрируемых как версионные. Если вы располагаете данными, которые уже зарегистрированы как версионные, вы можете создать версионный вид, щелкнув правой кнопкой мыши на версионной таблице, классе объектов или наборе данных в дереве каталога (Catalog tree) в ArcGIS for Desktop и выбрав пункт Создать версионный вид (Create Versioned View).

Версионные виды могут работать только с отдельными версионными таблицами или классами объектов. Недопустимо использования выражения "where" для объединения нескольких таблиц или ввода ограничений на то, какие строки или столбцы будут включены в версионный вид.

Основная цель использования версионных видов заключается в редактировании версионных данных при помощи SQL. Вы не должны изменять основную таблицу или класс объектов при помощи версионного вида и клиентского приложения ArcGIS. Таблица или класс объектов, на которых основан версионный вид, должны соответствовать требованиям ArcGIS для редактирования базы геоданных с помощью SQL. Дополнительные сведения см. в разделе Какие типы данных могут редактироваться с помощью SQL?.

Связанные темы

5/10/2014