Существует четыре типа представлений, которые могут использоваться в многопользовательской базе геоданных:
- Представления базы данных
- Представления, зарегистрированные с базой геоданных
- Версионные представления
- Архивные представления
Представления базы данных
Представления базы данных представляют собой сохраненные запросы, которые отбирают данные из указанных неверсионных, непространственных таблиц. Вы можете определить представления таблиц базы данных или многопользовательской базы геоданных, которые не зарегистрированных как версионные. При использовании многопользовательской базы геоданных представления баз данных могут быть определены для одной неверсионной таблицы или между двумя неверсионными таблицами. Кроме того, существует возможность создания более сложных представлений, которые содержат подзапросы.
Представления, которые используются ArcGIS, могут содержать только один пространственный столбец. Если пространственный столбец есть, то эти представления можно использовать как пространственные. Обратите внимание, что при создании пространственного представления вы должны включить столбец ObjectID из той же таблицы, что и пространственный столбец. Если вы не включаете столбец ObjectID класса пространственных объектов, уникальная связь между столбцом ObjectID и пространственным столбцом может быть нарушена, что приведет к ошибочным результатам при запросе или отображении данных в ArcGIS
Вы не можете редактировать представления баз данных через клиенты или сервисы ArcGIS.
Ниже приведены некоторые причины, почему следует использовать представления баз данных:
- Представления могут использовать поднаборы строк или столбцов предварительно определенным способом. Это снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Представления позволяют закодировать распространенные запросы в базе данных и сделать их доступными нескольким пользователям. Это снижает потребность пользователей в создании собственных сложных запросов.
- Представления могут объединять данные из различных таблиц или других представлений.
- Можно использовать функции агрегирования для сведения данных в представлениях. Это также снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Можно предоставлять пользователям право доступа select к представлениям точно так же, как и к таблицам. Поэтому можно использовать представления для управления доступом к столбцам или строкам в таблицах.
- Вы можете объединить класс объектов и непространственную таблицу при определении пространственного представления, используя таким образом столбцы обоих источников.
- ArcGIS может работать только с таблицами, которые содержат один пространственный столбец. Для работы с пространственными таблицами, которые содержат несколько пространственных столбцов, можно создавать пространственные представления, которые будут содержать только один пространственный столбец из заданной таблицы.
- ArcGIS может работать только с таблицами, которые используют одну пространственную привязку. Если ваша таблица содержит несколько привязок, можно создать представление только с теми записями, которые используют ту же пространственную привязку.
Вы можете использовать инструмент Создать представление базы данных или контекстное меню базы данных в ArcGIS Desktop для создания представления базы данных, или использовать собственный SQL вашей системы управления базой данных (СУБД).
Для того чтобы пользователь мог создать представление, ему требуются определенные права доступа create view в базах данных Oracle или Microsoft SQL Server. В некоторых системах управления базами данных пользователь, создающий представление класса объектов или таблицы, владельцем которых он не является, не может предоставить другим пользователям права использовать представление до тех пор, пока владелец этих таблиц не даст ему разрешения предоставлять права доступа другим пользователям.
На что следует обратить внимание при работе с представлениями базы данных:
- Представления существуют как объекты в базе данных и не зарегистрированы с базой геоданных, даже если вы определите их в таблицах базы геоданных с помощью Создать представление базы данных Инструмент.
- Изменения, внесенные в схему базовой таблицы или таблиц, не отражаются в представлении. Чтобы включить дополнительные столбцы в представлении, необходимо повторно определить представление для включения этих столбцов.
- Вы не можете редактировать данные через представление баз данных в ArcGIS Desktop или в сервисе объектов ArcGIS.
- При создании представления таблицы или класса объектов версионной базы геоданных, данные можно будет увидеть только в базовой таблице, но не изменения в дельта-таблицах. Чтобы посмотреть правки через клиентов ArcGIS, необходимо согласовать и отправить правки в версию Default и выполнить сжатие базы геоданных. Если вы хотите просмотреть правки через другие клиенты SQL, либо пользовательские клиенты, используйте версионное представление, которое создается автоматически при регистрации таблицы или класса объектов базы геоданных в качестве версионной.
- При добавлении пространственного столбца в определение представления необходимо, чтобы его тип данных был SQL geometry, а класс объектов, из которого получен пространственный столбец, не может быть зарегистрирован как версионный, поэтому необходимо также добавить ObjectID класса объектов, который содержит пространственный столбец в определении представления.
Представления, зарегистрированные с базой геоданных
Если база данных содержит базу геоданных, можно использовать инструмент Создать представление базы данных или SQL для создания представления и его регистрации с базой геоданных с помощью инструмента геообработки Зарегистрировать с базой геоданных.
Вот несколько причин, по которым стоит зарегистрировать представление с базой геоданных:
- При регистрации представления с базой геоданных информация о нем хранится в системных таблицах базы геоданных. Это особенно ценно, когда вы регистрируете пространственное представление с базой геоданных, так как вы определяете тип геометрии, пространственную привязку и экстент при этом, то результат повысит производительность при добавлении пространственного представления на карту.
- Можно заполнить метаданные для представлений, которые зарегистрированы с базой геоданных, если вы являетесь владельцем этих представлений.
- Можно опубликовать зарегистрированное представление в сервис объектов, который поддерживает только запросы.
Можно включить один пространственный столбец в создаваемое представление, если класс объектов использует тип геометрии SQL и если класс объектов не зарегистрирован как версионный. Для создания пространственного представления, включите пространственный столбец и ObjectID класса объектов в определение представления, а затем зарегистрируйте его.
Представления, зарегистрированные с базой геоданных, нельзя отредактировать с помощью клиентов ArcGIS или сервисов.
Версионные представления
Версионные представления включают представления базы данных, сохраненные процедуры, триггеры и функции, которые позволяют использовать SQL для доступа или редактирования указанной версии традиционной таблицы или класса объектов базы геоданных.
Основания для использования версионных представлений включают следующие:
- Версионные представления позволяют вам увидеть изменения, в текущий момент сохраненные в дельта-таблицах таблиц.
- Версионные представления позволяют редактировать традиционные версионные таблицы и классы объектов с помощью SQL или сторонних приложений.
Клиенты ArcGIS автоматически создают версионные представления для таблиц и классов объектов при их регистрации с традиционными версиями. Версионные представления поддерживаются только традиционными версиями.
Версионные представления могут работать со всеми данными в отдельных версионных таблицах или классах объектов. Недопустимо использования выражения "WHERE" для объединения нескольких таблиц или ввода ограничений на то, какие строки или столбцы будут включены в версионное представление.
Основная цель использования версионных представлений заключается в редактировании традиционных версионных данных при помощи SQL. Вы не должны изменять основную таблицу или класс объектов при помощи версионного представления и клиентского приложения ArcGIS. Таблица или класс объектов, на которых основано версионное представление, должны соответствовать требованиям ArcGIS для редактирования базы геоданных с помощью SQL.
Архивные представления
Архивное представление это представление базы данных, заданное для неверсионной, с возможностью архивации таблицы или класса пространственных объектов. Архивные представления также включают триггеры, которые поддерживают архивные таблицы современными, когда редактирование осуществляется через архивное представление. Архивное представление создается, когда вы включаете архивирование набора данных или SQL-доступ к неверсионным наборам данных с включенным архивированием.
Основания для использования архивных представлений включают следующие:
- Архивные представления позволяют вам увидеть данные в исторической таблице таблицы с включенным архивированием.
- Архивные представления позволяют вам использовать SQL для редактирования таблиц и классов объектов с включенным архивированием.
Архивные представления могут работать со всеми данными в индивидуальных таблицах или классах объектов. Недопустимо использования выражения "WHERE" для объединения нескольких таблиц или ввода ограничений на то, какие строки или столбцы будут включены в архивное представление.