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

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

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

Когда вы обращаетесь к базе геоданных с помощью SQL, вы обращаетесь к ней на уровне СУБД (системы управления базой данных). Это означает, что поведение и функциональность, применяемые в ArcGIS, не используются, когда вы работаете в SQL. Это также означает, что вам необходимо установить и настроить клиент СУБД на каждом из компьютеров, которые вы будете подключать непосредственно к базе данных.

Там, где используется SQL, вы получаете доступ к таблицам в базе данных. Поэтому когда вы выполняете команды SQL для данных в базе геоданных, вы можете просматривать данные и информацию о них, но не должны изменять никакие данные, участвующие в поведении базы геоданных. Дополнительные сведения см. в разделе Какие типы данных могут редактироваться с помощью SQL?.

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

С помощью выражений SELECT в SQL вы можете получить свойства существующих наборов данных в базе геоданных ArcSDE.

Свойства набора данных хранятся в системных таблицах базы геоданных. Чтобы получить эту информацию, вы выполняете запросы к определенным столбцам в системных таблицах. В некоторых случаях эти столбцы содержат документы XML, к которым вы выполняете запросы с использованием выражений XPath, чтобы получить информацию о свойствах. Это правило действует для баз геоданных, хранящихся в базах данных IBM DB2, PostgreSQL и Microsoft SQL Server. Для баз геоданных в Oracle, вы можете получить доступ к системным представлениям, чтобы прочитать простой текст в столбце CLOB.

Использование SQL для доступа к данным базы геоданных

Вы можете использовать выражения SELECT в SQL, чтобы вернуть данные из существующих наборов данных в базах геоданных. Если вы выполняете запросы к версионным наборам данных в многопользовательских базах геоданных, вы должны использовать версионные представления.

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

Чтобы получить доступ и проанализировать простые пространственные данные с помощью SQL, используйте пространственные функции SQL, которые устанавливаются с пространственным типом. Для каждого пространственного типа определен свой собственный набор функций. Esri определил функции для своего типа ST_Geometry в Oracle и PostgreSQL, и каждый поставщик СУБД определил функции для своих типов SQL. Эти функции оценивают пространственные отношения, выполняют пространственные операции и возвращают и устанавливают пространственные свойства. См. разделы Пространственные отношения, Пространственные операции и Свойства геометрии для обзора этой функциональности.

Редактирование базы геоданных с помощью SQL

Вы можете использовать собственный SQL вашей СУБД (DBMS) для редактирования простых, непространственных атрибутивных данных в базе геоданных. Чтобы изменять простые пространственные данные с помощью SQL, вы также можете использовать пространственные функции SQL, которые устанавливаются с пространственными типами.

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

Когда вы редактируете неверсионные данные, вы должны добавлять уникальные значения в поля ID объекта, GUID и global ID с помощью SQL.

Вы должны использовать версионные представления для редактирования версионных данных. Триггеры, используемые версионными представлениями, обновляют дельта-таблицы в процессе редактирования с помощью версионного представления. Это гарантирует, что добавления будут сделаны в дельта-таблицах при редактировании. Версионные представления также добавляют уникальные значения в поле ID объекта автоматически.

Создание таблиц с помощью SQL для использования в ArcGIS

Можно использовать собственный SQL вашей СУБД для создания и заполнения таблиц. Как пространственные, так и не пространственные таблицы, созданные с помощью SQL, могут быть использованы в ArcMap. Вы можете отображать пространственные таблицы в ArcMap, создавая слои запросов. Можно просматривать атрибуты пространственных и непространственных таблиц непосредственно в ArcGIS. Как слои запросов, так и возможность непосредственного доступа к таблицам являются полезными, если у вас есть таблицы, работающие с другой системой на сайте, к которым вы хотите получать доступ с помощью ArcGIS или присоединять их к таблицам в вашей базе геоданных.

Если вы хотите, чтобы ваши таблицы использовали функциональность базы геоданных, зарегистрируйте таблицу в базе геоданных. Помните, однако, что если таблицы используют функциональность базы геоданных, вы не можете редактировать их с помощью SQL.

См. Рабочий процесс: Создание таблицы с помощью SQL и регистрация ее в базе геоданных для получения дополнительной информации.

Связанные темы

12/10/2012