При подключении вами к многопользовательской базе геоданных из клиента ArcGIS или через веб-сервис ArcGIS Server вы взаимодействуете с наборами данных, которые были вами или другими пользователями баз данных добавлены в базу геоданных. Для отслеживания этих данных и имплементации возможностей базы геоданных многопользовательские базы геоданных используют системные таблицы.
Системные таблицы и их содержание не следует изменять другими средствами, кроме программного обеспечения ArcGIS или SDK. Однако вы можете просматривать содержание системных таблиц через SQL.
Основные системные таблицы
Системные таблицы и их содержание не следует изменять другими средствами, кроме программного обеспечения ArcGIS или SDK. Однако вы можете просматривать содержание системных таблиц через SQL.
При выполнении вами запросов к базе данных Oracle с многопользовательской базой геоданных вы увидите следующие основные системные таблицы в схеме пользователя sde:
- BRANCH_TABLES_MODIFIED
- BRANCHES
- COLUMN_REGISTRY
- COMPRESS_LOG – создается при первом сжатии базы геоданных.
- DBTUNE
- GDB_CONFLICTS
- GDB_ITEMRELATIONSHIPS
- GDB_ITEMRELATIONSHIPTYPES
- GDB_ITEMS
- GDB_ITEMTYPES
- GDB_LOCKS
- GDB_REPLICALOG
- GDB_TABLES_LAST_MODIFIED
- GEOMETRY_COLUMNS
- INSTANCES
- LAYER_LOCKS
- LAYERS
- LINEAGES_MODIFIED
- MULTIBRANCH_TABLES
- MVTABLES_MODIFIED
- OBJECT_LOCKS
- PROCESS_INFORMATION
- RASTER_COLUMNS
- SDE_ARCHIVES
- SDE_LOGFILE_POOL
- SDE_TABLES_MODIFIED
- SDE_XML_COLUMNS
- SDE_XML_INDEX_TAGS
- SERVER_CONFIG
- SPATIAL_REFERENCES
- STATE_LINEAGES
- STATE_LOCKS
- STATES
- ST_COORDINATE_SYSTEMS
- ST_GEOMETRY_COLUMNS
- ST_GEOMETRY_INDEX
- ST_SPATIAL_REFERENCES
- TABLE_LOCKS
- TABLE_REGISTRY
- TABLES_LAST_EDIT_TIME
- VERSION
- VERSIONS
*Эти таблицы версии ветви не представлены в базах геоданных, которые хранятся в базах данных Oracle 11.x или 12.1.0.1, поскольку версии ветви доступны с версии не ниже Oracle 12.1.0.2.
В базе данных есть следующие больше не использующиеся таблицы. Они будут убраны в следующих версиях.
- LOCATORS
- METADATA
- SDE_LAYER_STATS
- SDE_XML_INDEXES
Таблицы, реализующие функциональность многопользовательской базы геоданных
Информация о некоторых функциях базы геоданных хранится только в основных системных таблицах. Например, в основных системных таблицах хранится информация о следующих функциях, причем при включении этих функций для данных пользователя никаких дополнительных таблиц в базе данных не создается:
- Домены - хранятся в системной таблице GDB_ITEMS. Поле в системной таблице GDB_ITEMTYPES определяет объект в качестве домена.
- Реплики базы геоданных отслеживаются в базе данных в системных таблицах базы геоданных GDB_ITEMS, GDB_ITEMRELATIONSHIPS, GDB_ITEMTYPES и GDB_REPLICALOG
- Классы отношений - хранятся в системных таблицах GDB_ITEMS и GDB_ITEMRELATIONSHIPS.
Однако функциональность базы геоданных, описанная в следующих разделах, создает дополнительные внутренние таблицы при включении или использовании этого функционала.
Архивы базы геоданных
С помощью архивации базы геоданных можно вести историю операций с данными. Время транзакции представляет собой момент времени, когда объект был добавлен, удален или обновлен в базе данных.
Когда для таблицы включено архивирование, создается класс архива. Архивный класс - это копия бизнес-таблицы, которая содержит все те же поля, а также три новых поля: GDB_FROM_DATE, GDB_TO_DATE и GDB_ARCHIVE_OID. При включении вами для таблицы и класса объектов, участвующих в традиционной версии, запись также добавляется в системную таблицу SDE_ARCHIVES. В этой записи сохраняются регистрационные ID таблицы, для которой было включено архивирование и связанная с ней таблица класса архива.
Имя таблицы класса архива совпадает с оригинальным именем рабочей таблицы; к нему добавляются символ подчеркивания и буква H. Например, если для класса объектов buildings включено архивирование, создается класс архива buildings_H. Эта таблица архивного класса сохраняется в той же схеме, что и бизнес-таблица.
Традиционные версии
При регистрации класса объектов или таблицы для их включения в традиционные версии будут созданы две таблицы, в которых будут отслеживаться изменения данных: таблица добавлений и таблица удалений.Все вместе они называются дельта-таблицами.
Таблица добавлений (A_<registration_id>) содержит информацию о каждой добавленной или обновленной записи (объекте) в версионной бизнес-таблице. Для определения добавленных или измененных записей в данном состоянии базы данных к ней выполняется запрос.
Таблица удалений (D_<registration_id>) поддерживает информацию о каждой удаленной или обновленной строки в версионной таблице. К этой таблице выполняется запрос определения удаленных или измененных в определенном состоянии базы данных строках. При удалении строки запись не удаляется из базы данных; она помечается как удаленная и никогда не возвращается при последующих запросах к базе данных.
Значение registration_id в именах таблицы добавлений и таблицы удалений - значение версионной таблицы в системной таблице TABLE_REGISTRY.
Эти таблицы создаются в той же пользовательской схеме, что и зарегистрированные в качестве версионных таблица или класс объектов.
Помимо дельта-таблиц, основные системные таблицы, отслеживающие версионные таблицы и изменения, - STATES, STATE_LINEAGES, MVTABLES_MODIFIED VERSIONS.
Таблицы ключей
Таблицы ключей используются клиентами ArcGIS для улучшения производительности запросов. Таблицы ключей используются для сохранения списка выбранных строк в случае, когда клиент ArcGIS выполняет запрос связи в базе геоданных, объединяющий таблицы с помощью атрибутов, которые относятся к типам Целое, Число, Дата или Строка. Они размещают объединения, используя атрибуты, отличные от поля Object ID.
Таблицы ключей в базе геоданных отсутствуют до тех пор, пока не будет выполняться одна из следующих операций:
- Выбор более 99 записей класса объектов на карте в ArcGIS Pro или ArcMap, и класс объектов включен в класс отношений.
- В ArcGIS Pro или ArcMap открыта таблица атрибутов класса объектов, участвующего в классе отношений и выбрана связанная таблица.
- Начат сеанс редактирования в ArcMap.
Одна таблица ключей создается, как глобальная временная таблица, на одну сессию одного соединения. Поскольку эта таблица временная, она удаляется, когда пользователь отключается от базы геоданных.
Формат имен таблицы ключей:
<user_schema>.keyset_<process_id>, где <schema_name> - эта схема пользователя, создавшего таблицу, а <process_id> - идентификационный номер процесса пользовательской сессии, во время которой была создана таблица.
Таблицы файлов журнала
Таблицы файлов журнала используются клиентами ArcGIS для увеличения производительности запросов и хранят списки выбранных строк. Таблицы файлов журнала используют соединения по атрибутам Object ID.
Базы геоданных Oracle используют глобальные временные таблицы в схеме пользователя. В этом типе конфигурации файлов журнала создается две таблицы - SDE_LOGFILES и SDE_LOGFILE_DATA - в схеме пользователя, выполняющего действие, которое требует таблиц файла журнала. После создания эти таблицы остаются в базе геоданных; однако все записи файлов журнала удаляются при удалении приложением всех его файлов журнала.