Существует четыре типа представлений, которые могут использоваться в многопользовательской базе геоданных:
- Представления базы данных (Database views) (или непространственные представления)
- Пространственные представления
- Версионные представления
- Архивные представления
Представления базы данных
Представления базы данных представляют собой сохраненные запросы, которые отбирают данные из указанных неверсионных, непространственных таблиц. Вы можете определить представления по таблицам базы данных или многопользовательской базы геоданных. При использовании многопользовательской базы геоданных представления базы данных могут быть определены для одной неверсионной таблицы или между двумя неверсионными таблицами. Кроме того, существует возможность создания более сложных представлений, которые содержат подзапросы или охватывают несколько баз данных.
Ниже приведены некоторые причины, почему следует использовать представления баз данных:
- Представления могут предоставлять поднаборы строк или столбцов предварительно определенным способом. Это снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Представления позволяют закодировать распространенные запросы в базе данных и сделать их доступными нескольким пользователям. Это снижает потребность пользователей в создании собственных сложных запросов.
- Представления могут объединять данные из различных бизнес-таблиц или других представлений.
- Можно использовать функции агрегирования для сведения данных в представлениях. Это также снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Можно предоставлять пользователям право доступа SELECT к представлениям точно так же, как и к таблицам. Поэтому можно использовать представления для управления доступом к столбцам или строкам в бизнес-таблицах.
Вы можете использовать инструмент Создать представление базы данных (Create Database View) или контекстное меню базы данных в ArcGIS for Desktop для создания представления базы данных, или использовать собственный SQL вашей системы управления базой данных (СУБД).
Представления существуют как объекты в базе данных и не зарегистрированы в базе геоданных. Изменения, внесенные в схему базовой таблицы или таблиц, не отражаются в представлении. Чтобы включить дополнительные столбцы в представление, необходимо повторно определить представление для включения этих столбцов.
Для того, чтобы пользователь мог создать представление, ему требуются определенные права доступа, например, разрешение на использование функции СОЗДАТЬ ПРЕДСТАВЛЕНИЕ (CREATE VIEW) в базах данных Oracle или SQL Server. В некоторых системах управления базами данных пользователь, создающий представление класса объектов или таблицы, владельцем которых он не является, не может предоставить другим пользователям права использовать представление до тех пор, пока владелец этих таблиц не даст ему разрешения предоставлять права доступа другим пользователям.
При создании представления версионного набора данных появляется только бизнес- (базовая) таблица, в которой не отображаются изменения в дельта-таблицах. Чтобы увидеть изменения в дельта-таблицах, используйте версионное представление бизнес-таблицы.
Помните, что вы не можете редактировать данные через представление баз данных в ArcMap или в сервисе объектов ArcGIS.
Пространственные представления
Пространственные представления – это представления базы данных, которые содержат один пространственный столбец.
Помимо перечисленных выше оснований для использования представлений базы данных, другие причины для создания пространственных представлений включают:
- Вы можете объединить класс объектов и непространственную таблицу при определении пространственного представления, используя таким образом столбцы обоих источников.
- Клиенты ArcGIS могут работать только с таблицами, которые содержат один пространственный столбец. Для работы с пространственными таблицами, которые содержат несколько пространственных столбцов, можно создавать пространственные представления, которые будут содержать только один пространственный столбец из заданной таблицы.
- Клиенты ArcGIS могут работать только с таблицами, которые используют одну пространственную привязку. Если ваша таблица содержит несколько привязок, можно создать представление только с теми записями, которые используют ту же пространственную привязку.
Если ваш класс объектов использует тип геометрии SQL и класс объектов не зарегистрирован как версионный, то вы можете использовать инструмент Создать представление базы данных (Create Database View) или SQL для создания пространственного представления. Для создания пространственного представления, включите пространственный столбец и ObjectID класса объектов в определение представления.
При создании пространственного представления вы должны включить столбец ObjectID из той же таблицы, что и пространственный столбец. Если ObjectID из класса объектов не включен, то уникальная связь между строкой ID или столбцом ObjectID и определяющим столбцом может быть нарушена, что приведет к ошибочным результатам при запросе или отображении данных в ArcGIS.
Как и другие представления базы данных, пространственные представления не зарегистрированы в базе геоданных.
Версионные представления
Версионные представления (Versioned views) включают в себя представления базы данных, сохраненные процедуры, триггеры и функции, необходимые для получения доступа или возможности редактирования определенной версии таблицы или класса объектов в базе геоданных, использующей SQL.
Основания для использования версионных представлений включают следующие:
- Версионные представления позволяют вам увидеть изменения, в текущий момент сохраненные в дельта-таблицах таблиц.
- Версионные представления позволяют вам редактировать версионные таблицы и классы объектов с помощью SQL.
Начиная с версии ArcGIS 10.1, версионные представления автоматически создаются для таблиц и классов объектов, регистрируемых как версионные. Если вы имеете версионные данные, то вы можете создать версионное представление щелкнув правой кнопкой мыши на версионной таблице, классе объектов или наборе классов объектов в дереве Каталога (Catalog) ArcGIS for Desktop, перейдя к Управление (Manage)и выбрав Включить SQL-доступ (Enable SQL Access).
Версионные представления могут работать только с отдельными версионными таблицами или классами объектов. Недопустимо использования выражения "where" для объединения нескольких таблиц или ввода ограничений на то, какие строки или столбцы будут включены в версионный представление.
Основная цель использования версионных представлений заключается в редактировании версионных данных при помощи SQL. Вы не должны изменять основную таблицу или класс объектов при помощи версионного представления и клиентского приложения ArcGIS. Таблица или класс объектов, на которых основан версионный представление, должны соответствовать требованиям ArcGIS для редактирования базы геоданных с помощью SQL. Дополнительные сведения см. в разделе Какие типы данных могут редактироваться с помощью SQL?.
Архивные представления
Архивное представление – это представление базы данных, определенное для неверсионных баз, с включенным архивированием таблицы или класса объектов. Архивные представления также включают триггеры, которые поддерживают архивные таблицы современными, когда редактирование осуществляется через архивное представление. Архивное представление создается, когда вы включаете архивирование набора данных или SQL-доступ к неверсионным наборам данных с включенным архивированием.
Основания для использования архивных представлений включают следующие:
- Архивные представления позволяют вам увидеть данные в исторической таблице таблицы с включенным архивированием.
- Архивные позволяют вам использовать SQL для редактирования таблиц и классов объектов с включенным архивированием.
Архивные представления могут работать только с индивидуальными таблицами или классами объектов. Недопустимо использования выражения "where" для объединения нескольких таблиц или ввода ограничений на то, какие строки или столбцы будут включены в архивное представление.