Таблицы ключей в базе геоданных в PostgreSQL

Таблица набора ключей используется для сохранения списка выбранных строк в случае, когда клиент ArcGIS for Desktop выполняет запрос связи в базе геоданных, объединяющий таблицы с помощью атрибутов, которые относятся к типам Целое, Число, Дата или Строка.

В соответствии со сведениями раздела Настройки конфигурации таблицы файлов журнала ArcSDE для PostgreSQL таблицы файлов журнала сохраняют атрибуты objectid выбранных объектов. Таблицы наборов ключей используются для сохранения соединений с помощью атрибутов, отличных от objectid.

Когда исходный набор выбранных элементов запроса к базе данных содержит более 99 строк, создается одна таблица набора ключей из расчета на подключение в каждом сеансе.

Таблицы ключей в ArcGIS for Desktop

В приложении ArcGIS for Desktop таблицы наборов ключей не отображаются. Однако если в классе объектов, который относится к классу отношений в ArcMap, выбрать более 99 записей, затем открыть таблицу атрибутов и использовать список Связанные таблицы (Related Tables), доступный в меню Опции (Options), чтобы получить связанную таблицу, будет создана и заполнена таблица набора ключей. Таблица набора ключей будет также создана при запуске сеанса редактирования.

Таблицы ключей в базе данных PostgreSQL

Таблицы наборов ключей в базе геоданных отсутствуют до тех пор, пока не будет выполняться одно из двух условий.

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

Имя таблицы ключей содержит идентификационный номер процесса сеанса, который вызвал создание этой таблицы. Формат имени выглядит так:

keyset_<process_id>

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

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

Далее представлена таблица набора ключей для выборки, созданной между связанными таблицами LATERALS и CONTRACTORS. В этом случае поле LONG_VAL заполняется и будет содержать значения поля CONTRACTOR_ID, на основе которого между таблицами LATERALS и CONTRACTORS создается класс отношений.

Таблица ключей и связанная бизнес-таблица в PostgreSQL

keyset_<process_id>

Ниже указано определение таблицы набора ключей в PostgreSQL.

Имя поля

Тип поля

Описание

Null?

keyset_id

integer

Идентификатор для выборки набора ключей

NOT NULL

long_val

integer

Значение поля, на основе которого создается класс отношений, если это поле предназначено для ввода чисел

str_val

varchar(256)

Значение поля, на основе которого создается класс отношений, если это поле предназначено для ввода строк

dbl_val

double

Значение поля, на основе которого создается класс отношений, если это поле предназначено для ввода чисел двойной точности

date_val

timestamp without time zone

Значение поля, на основе которого создается класс отношений, если это поле предназначено для ввода даты

Таблицы ключей в XML-документе рабочей области

Таблицы наборов ключей не сохраняются в XML-документе, потому что они являются временными таблицами.

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

5/10/2014