Представления базы данных представляют собой сохраненные запросы, содержащие выбранные данные из таблиц, которые вы указали в определении представления. Представления могут включать отдельные таблицы, множественные таблицы и вспомогательные запросы.
Представления существуют как объекты в базе данных, и требуют определенные права доступа базы данных для пользователя, который хочет создавать представления. Изучите документацию для системы управления базами данных, чтобы понять, поддерживаются или нет представления в базе данных этого типа.
Вы можете использовать инструмент геообработки Создать представление базы данных или опцию Новый > Представление базы данных в контекстном меню подключения базы данных для создания представления базы данных, или использовать SQL вашей системы управления базами данных.
Примечание:
Представления автоматически не регистрируются в базе геоданных, даже если представление задано для таблиц или классов объектов, и даже если оно создано с использованием инструмента геообработки Создать представление базы данных. Представление не будет зарегистрировано в базе геоданных, пока вы его принудительно не зарегистрируете.
Зачем использовать представления?
Ниже приведены некоторые причины, почему следует использовать представления баз геоданных:
- Представления могут предоставлять поднаборы строк или столбцов предварительно определенным способом. Это снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Ограничение видимых строк или столбцов в представлении также дает вам возможность определять, что именно будут видеть пользователи данных. Например, сотрудникам, занимающимся оценкой запасов и заказом товаров, нет необходимости видеть имена людей, которые сделали заказ, или цену товаров. Вместо того чтобы предоставлять сотрудникам доступ ко всей таблице с информацией, вы можете создать представление, не включающее эти столбцы, и предоставить сотрудникам, которые занимаются оценкой право доступа select для этого представления.
- Ограничение строк и столбцов также позволит соответствовать требованиям ArcGIS к данным. Например, ArcGIS может работать только с таблицами, которые содержат один пространственный столбец. Для работы с пространственными таблицами, которые содержат несколько пространственных столбцов, можно создавать представления. Каждое представление может содержать один пространственный столбец. ArcGIS может работать только с таблицами, которые используют одну пространственную привязку. Если таблица содержит данные, которые хранятся в нескольких разных пространственных привязках, вы можете создать представление, включающее только строки (объекты) с одинаковой пространственной привязкой.
- Представления позволяют закодировать распространенные запросы в базе данных и сделать их доступными нескольким пользователям. Это снижает потребность пользователей в создании собственных сложных запросов.
- Представления могут объединять данные из различных таблиц или других представлений.
- Можно использовать функции агрегирования для сведения данных в представлениях. Это также снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
- Вы можете объединить класс объектов и не пространственную таблицу при определении пространственного представления, используя таким образом столбцы обоих источников.
Рекомендации по использованию представлений
На что следует обратить внимание при работе с представлениями в ArcGIS:
- Вы не можете редактировать данные в представлениях через клиенты или сервисы ArcGIS, даже если вы зарегистрировали представления в базе геоданных.
- Изменения, внесенные в схему базовой таблицы или таблиц, не отражаются в представлении. Чтобы включить дополнительные столбцы в представлении, необходимо повторно определить представление для включения этих столбцов.
Внимание:
Если вы заменяете представления, созданные с помощью ArcGIS, изменяя существующие представления с помощью SQL или других инструментов базы данных, вы отвечаете не только за корректность и эффективность запросов, но и за их актуальность и возможность использования с клиентами ArcGIS. Например, построение представлений "один ко многим" с использованием классов объектов приводит к дублированию столбцов ObjectID. Это приводит к непредсказуемому поведению таких приложений, как ArcGIS AllSource, и веб-сервисов, так как для них необходимо, чтобы столбец ObjectID содержал уникальные значения.
- В большинстве случаев таблицы и классы объектов баз геоданных, которые вы включаете в представление, не регистрируются как традиционные версионные или доступные для архивирования. При создании представления таблицы базы геоданных или класса объектов, который используется в традиционной версии, можно видеть только данные в базовой таблице, но не изменения в дельта-таблицах. Чтобы посмотреть изменения через клиентов ArcGIS, необходимо согласовать и отправить правки в версию Default и выполнить сжатие базы геоданных.
- Если вы включаете пространственный столбец в определение представления, используемого в ArcGIS, необходимо учесть следующие требования.
- В представлении должен быть представлен один пространственный столбец.
- Определение представления должно включать столбец Object ID, принадлежащий к тому же классу объектов, что и пространственный столбец. Если ObjectID из класса объектов не включен, то уникальная связь между строкой ID или столбцом ObjectID и определяющим столбцом может быть нарушена, что приведет к ошибочным результатам при запросе или отображении данных в ArcGIS.
Представления, зарегистрированные с базой геоданных
После создания представления в базе геоданных, вы можете запустить инструмент геообработки Зарегистрировать в базе геоданных, чтобы создать объект базы геоданных для представления.
Вот несколько причин, по которым стоит зарегистрировать представление с базой геоданных:
- При регистрации представления с базой геоданных информация о представлении хранится в системных таблицах базы геоданных. Эта информация, в частности тип геометрии, пространственная привязка и экстент влияют на увеличение производительности при добавлении представления с пространственным компонентом на карту.
- Можно заполнить метаданные для представлений, которые зарегистрированы с базой геоданных, если вы являетесь владельцем этих представлений.