Краткий обзор таблиц в базах геоданных

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

Внутренняя структура этих таблиц была изменена, начиная с релиза ArcGIS 10. Информация, которая относится к схеме базы геоданных, которая до версии ArcGIS 10 хранилась в около 35 системных таблицах базы геоданных теперь была консолидирована в четырех основных таблицах:

В таблицах GDB_Items и GDB_ItemRelationships представлена схема, определяемая пользователем в конкретной базе геоданных. Содержимое системных таблиц изменяется при каждом изменении базы геоданных. Таблицы GDB_ItemTypes и GDB_ItemRelationshipTypes не изменяются. На приведенной ниже диаграмме показаны типы отношений между этими четырьмя таблицами.

Четыре основные таблицы базы геоданных

Таблица GDB_Items

В базе геоданных содержатся элементы географических и негеографических данных. К таким элементам относятся табличные наборы данных (классы объектов и таблицы), контейнеры наборов данных (наборы данных объектов, топологии и геометрические сети), наборы данных для управления более сложными настройками баз геоданных; а также другие элементы — домены, наборы инструментов и расширения рабочих областей. Начиная с версии ArcGIS 10 все эти элементы хранятся в таблице GDB_Items базы геоданных, и каждый элемент занимает отдельную строку.

Элементы имеют следующие атрибуты:

Эти семь атрибутов скорее всего будут задействованы при работе с SQL.

Следующие атрибуты хранят сведения из определений элемента (например, тип геометрии класса пространственных объектов), которые дублируются за пределами определения XML в целях обеспечения более эффективного обзора базы геоданных. В качестве примера можно привести свойства Подтип набора данных (Dataset Subtype) и Сведения о наборе данных (Dataset Info), чьи кода не зависят от типа элемента.

Таблица GDB_ItemTypes

Таблица GDB_ItemTypes содержит предварительно настроенный набор распознаваемых типов элементов, таких как база геоданных Типы элементов определяют иерархию типов, а также используются для нормирования таблицы GDB_Items (тип элемента в таблице GDB_Items определяется по UUID) в целях предоставления оптимальной поддержки для дальнейшего расширения функциональности базы геоданных. Все родительские элементы являются абстрактными, следовательно их нельзя будет найти в таблице элементов БГД.

Содержимое таблицы GDB_ItemTypes не изменяется даже при создании или удалении элементов.

Тип элемента имеет следующие атрибуты:

Таблица GDB_ItemRelationships

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

Отношения элемента имеют следующие атрибуты:

Первые пять атрибутов скорее всего будут задействованы при работе с SQL.

ПодсказкаПодсказка:

Важно понимать, что элемент отношений и класс отношений это не одно и то же. Каждый класс отношений содержит элементы, имеющие отношения с двумя классами объектов (начальным и конечным), а также отдельный элемент, имеющий отношение с контейнером (корневая папка базы геоданных или набор данных пространственного объекта).

Таблица GDB_ItemRelationshipTypes

Аналогичным образом статичная коллекция типов элементов используется для классификации элементов, а статичная типов отношений элемента используется для классификации отношений элемента. Например, DatasetInFeatureDataset (указывающая, что класс пространственных объектов, класс отношений или набор классов объектов уже существует в наборе пространственных объектов) и DomainInDataset (указывающая, что набор данных использует домен для проверки на уровне класса или подтипа) представляют собой два разных типа отношений между элементами. В отличие от типов элементов, типы отношений не имеют иерархии и не делятся на родительские и дочерние.

Тип отношений элемента имеет следующие атрибуты:

ПодсказкаПодсказка:

Идентификаторы типов начального и конечного элементов как правило являются идентификаторами абстрактных типов. Например, идентификатором типа начального элемента в отношениях типа DomainInDataset является домен (Domain), который является абстрактным типом с двумя подтипами: Интервальный домен (Range Domain) и Домен кодированных значений (Coded Value Domain).

XML в системных таблицах базы геоданных

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

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

Для просмотра содержимого в столбцах XML системных таблиц баз геоданных под управлением Oracle предусмотрены два системных вида, в которых содержимое столбцов XML-таблиц базы геоданных хранится в виде объектов с типом данных CLOB. Вид GDB_Items_vw отображает содержимое столбцов Определение (Definition), Документация (Documentation) и Информация об элементе (ItemInfo) из таблицы GDB_Items в столбцах типа CLOB. Вид GDB_ItemRelationships_vw отображает содержимое столбцов Атрибуты (Attributes) из таблицы GDB_ItemRelationships в столбце типа CLOB. Содержимое столбца CLOB можно просмотреть в виде текста.

При формировании запросов к этим видам строка извлекается из столбца CLOB, преобразуется в тип XML, после чего к ней выполняется запрос XPath. Учтите, что при попытке создать тип XML для столбца с пустой строкой, произойдет ошибка "Не удалось выполнить анализ XML", так как Oracle не поддерживает это действие.

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

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

12/10/2012