Вы можете использовать SQL для доступа к существующим наборам данных и их свойствам и редактирования как версионных (традиционных), так и неверсионных наборов данных в многопользовательских базах геоданных.
Вы можете также использовать SQL для создания таблиц, которые могут быть зарегистрированы в базе геоданных. Эти таблицы могут содержать непространственные атрибуты и пространственные или растровые типы SQL.
Когда вы обращаетесь к базе геоданных с помощью SQL, вы обращаетесь к ней на уровне системы управления базой данных. Это означает, что поведение и функциональность, применяемые в ArcGIS, не используются, когда вы работаете в SQL. Поэтому когда вы выполняете команды SQL для данных в базе геоданных, вы можете просматривать данные и информацию о них, но не должны изменять никакие данные, участвующие в поведении базы геоданных. См. Какие типы данных можно редактировать, используя SQL? для получения более подробной информации.
Доступ к свойствам набора данных
С помощью выражений SQL select вы можете получить свойства существующих наборов данных в многопользовательской базе геоданных.
Свойства набора данных хранятся в системных таблицах базы геоданных. Чтобы получить эту информацию, вы выполняете запросы к определенным столбцам в системных таблицах. В некоторых случаях эти столбцы содержат документы XML, к которым вы выполняете запросы с использованием выражений XPath, чтобы получить информацию о свойствах. Это верно для баз геоданных, хранящихся в базах IBM Db2, PostgreSQL и Microsoft SQL Server. Для баз геоданных в Oracle, вы можете получить доступ к системным представлениям, чтобы прочитать простой текст в столбце CLOB.
Доступ к данным в базе геоданных
Вы можете использовать выражения SQL select, чтобы вернуть данные из существующих наборов данных в базах геоданных. Если вы выполняете запросы к версионным наборам данных в многопользовательских базах геоданных, вы должны использовать версионные представления.
Версионные виды включают в себя представления базы данных и встроенные процедуры, триггеры и функции, позволяющие просматривать и редактировать версионные данные в таблице базы геоданных или классе объектов с помощью языка запросов SQL. Когда к версионному набору данных осуществляется доступ с помощью версионного представления, все записи в бизнес-таблице выбираются и сливаются с записями из дельта-таблиц, в результате чего выполняется построение представления, в котором представлены все изменения в бизнес-таблице в контексте выбранной версии.
Чтобы получить доступ и проанализировать простые пространственные данные с помощью SQL, используйте пространственные функции SQL, которые устанавливаются с пространственным типом. Для каждого пространственного типа определен свой собственный набор функций. Esri определил функции для своего типа ST_Geometry в Oracle, PostgreSQL и SQLite, а каждый поставщик базы данных определил функции для своих типов SQL. Эти функции оценивают пространственные отношения, выполняют пространственные операции и возвращают и устанавливают пространственные свойства.
Редактирование данных в базе геоданных
Вы можете использовать собственный SQL вашей СУБД для редактирования простых, непространственных атрибутивных данных в базе геоданных. Чтобы изменять простые пространственные данные с помощью SQL, вы также можете использовать пространственные функции SQL, которые устанавливаются с пространственными типами.
Вы можете использовать SQL для редактирования как версионных, так и неверсионных наборов данных в многопользовательских базах геоданных. Однако, как упоминалось ранее, вы не должны использовать SQL для редактирования тех данных, которые принимают участие в функциональности базы геоданных.
Когда вы редактируете неверсионные данные, вы должны добавлять уникальные значения в поля Object ID, GUID и global ID с помощью функций Esri и SQL.
Вы должны использовать версионные представления для редактирования версионных данных. Триггеры, используемые версионными представлениями, обновляют дельта-таблицы в процессе редактирования с помощью версионного представления. Это гарантирует, что добавления будут сделаны в дельта-таблицах при редактировании. Версионные представления также добавляют уникальные значения в поле Object ID автоматически.
Создание таблиц для использования в ArcGIS
Можно использовать собственный SQL вашей СУБД для создания и заполнения таблиц. Как пространственные, так и не пространственные таблицы, созданные с помощью SQL, могут быть использованы в ArcMap и ArcGIS Pro. Можно просматривать атрибуты пространственных и непространственных таблиц непосредственно в ArcGIS. Как слои запросов, так и возможность непосредственного доступа к таблицам являются полезными, если у вас есть таблицы, работающие с другой системой на сайте, к которым вы хотите получать доступ с помощью ArcGIS или присоединять их к таблицам в вашей базе геоданных.
Если вы хотите, чтобы ваши таблицы использовали функциональность базы геоданных, зарегистрируйте таблицу в базе геоданных. Помните, однако, что если таблицы используют функциональность базы геоданных, вы не можете редактировать их с помощью SQL.
См. Рабочий процесс: Создание таблицы с помощью SQL и регистрация ее в базе геоданных для получения дополнительной информации.