Представления в многопользовательской базе геоданных

Вы можете создать представления баз данных в многопользовательских базах геоданных. Вы можете зарегистрировать эти представления баз данных в базе геоданных или сохранить их только как объекты базы данных.

Представления базы данных

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

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

Вы не можете редактировать данные в представлениях баз данных через клиенты или сервисы ArcGIS.

Ниже приведены некоторые причины, почему следует использовать представления баз данных:

  • Представления могут использовать поднаборы строк или столбцов предварительно определенным способом. Это снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
  • Представления позволяют закодировать распространенные запросы в базе данных и сделать их доступными нескольким пользователям. Это снижает потребность пользователей в создании собственных сложных запросов.
  • Представления могут объединять данные из различных таблиц или других представлений.
  • Можно использовать функции агрегирования для сведения данных в представлениях. Это также снижает объем данных, передаваемый от базы данных клиенту, что может повысить производительность.
  • Можно предоставлять пользователям право доступа select к представлениям точно так же, как и к таблицам. Поэтому можно использовать представления для управления доступом к столбцам или строкам в таблицах.
  • Вы можете объединить класс объектов и непространственную таблицу при определении пространственного представления, используя таким образом столбцы обоих источников.
  • ArcGIS может работать только с таблицами, которые содержат один пространственный столбец. Для работы с пространственными таблицами, которые содержат несколько пространственных столбцов, можно создавать пространственные представления, которые будут содержать только один пространственный столбец из заданной таблицы.
  • ArcGIS может работать только с таблицами, которые используют одну пространственную привязку. Если ваша таблица содержит несколько привязок, можно создать представление только с теми записями, которые используют ту же пространственную привязку.

Вы можете использовать инструмент Создать представление базы данных или контекстное меню базы данных в для создания представления базы данных, или использовать собственный SQL вашей системы управления базами данных.

Для того чтобы пользователь мог создать представление, ему требуются определенные права доступа create view в базах данных Oracle или Microsoft SQL Server. В некоторых системах управления базами данных пользователь, создающий представление класса объектов или таблицы, владельцем которых он не является, не может предоставить другим пользователям права использовать представление до тех пор, пока владелец этих таблиц не даст ему разрешения предоставлять права доступа другим пользователям.

На что следует обратить внимание при работе с представлениями базы данных:

  • Представления существуют как объекты в базе данных и не зарегистрированы с базой геоданных, даже если вы определите их в таблицах базы геоданных с помощью Создать представление базы данных Инструмент.
  • Изменения, внесенные в схему базовой таблицы или таблиц, не отражаются в представлении. Чтобы включить дополнительные столбцы в представлении, необходимо повторно определить представление для включения этих столбцов.
    Внимание:

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

  • Вы не можете редактировать данные в представлении базы данных в ArcGIS Desktop.
  • Представления не поддерживаются в сервисах объектов ArcGIS Server.
  • При создании вида таблицы базы геоданных или класса объектов, который используется в традиционной версии, можно видеть только данные в базовой таблице, но не изменения в дельта-таблицах. Чтобы увидеть изменения через клиентов ArcGIS, необходимо согласовать и закрепить редактирование в версии Default и выполнить сжатие базы .
  • При добавлении пространственного столбца в определение вида необходимо, чтобы его тип данных был SQL geometry, а класс объектов, из которого получен пространственный столбец, не может быть зарегистрирован как версионный, поэтому необходимо также добавить Object ID класса объектов, который содержит пространственный столбец в определении вида.

Представления, зарегистрированные в базе геоданных

Если ваша база данных содержит базу геоданных, вы можете зарегистрировать представления баз данных в базе геоданных, используя инструмент геообработки Регистрация в базе геоданных.

Вот несколько причин, по которым стоит зарегистрировать представление с базой геоданных:

  • При регистрации представления с базой геоданных информация о нем хранится в системных таблицах базы геоданных. Эта информация, в частности тип геометрии, пространственная привязка и экстент влияют на увеличение производительности при добавлении представления с пространственным компонентом на карту.
  • Можно заполнить метаданные для представлений, которые зарегистрированы с базой геоданных, если вы являетесь владельцем этих представлений.

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

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