ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

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

  • Таблица GDB_Items
  • Таблица GDB_ItemTypes
  • Таблица GDB_ItemRelationships
  • Таблица GDB_ItemRelationshipTypes
  • XML в системных таблицах базы геоданных
  • Как связаны таблицы БГД
  • Типичные запросы к таблицам GDB_

Многопользовательская база данных состоит из системных таблиц, правил и функций, которые хранятся в системе управления базой данных. Системные таблицы с префиксом GDB_ описывают схему базы геоданных, которая задает определения, правила и отношения наборов данных. Эти системные таблицы содержат и управляют метаданными, требующимися для реализации свойств базы геоданных, правил проверки данных и поведения. Это следующие таблицы:

  • GDB_Items содержит список всех элементов, которые содержатся в базе геоданных, таких как классы объектов, топологии и домены
  • GDB_ItemTypes содержит предварительно настроенный список распознаваемых типов элементов, таких как Table (таблица)
  • GDB_ItemRelationships содержит схему отношений между элементами, такими как классы объектов, содержащиеся в наборе классов
  • GDB_ItemRelationshipTypes содержит предварительно настроенный список распознаваемых типов отношений, например DatasetInFeatureDataset (Данные в наборе классов)

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

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

Подсказка:

Определения XML описываются в документе XML-схема базы геоданных.

Таблица GDB_Items

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

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

  • UUID – уникальный идентификатор элемента
  • Имя: имя элемента

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

  • Тип: идентификатор UUID, определяющий тип элемента в записи; соответствует уникальному идентификатору.
  • Определение: документ XML, определяющий свойства элемента. У разных типов элементов свойства и схема XML могут отличаться. Например, определение класса объектов содержит такие сведения, как подтип, определение домена кодированных значений содержит пары кода и значений, а определение класса отношений содержит правила отношений и другие сущности.
  • Документация: документ XML, в котором хранятся метаданные элемента
  • Свойства: целочисленное значение, которое можно использовать в битовых масках значений для извлечения нескольких логических свойств элемента. В настоящий момент этот атрибут используется только для указания видимости элемента ArcGIS Desktop.
  • Форма (Shape). Экстент набора данных как полигона, если применимо (тип данных зависит от базовой СУБД).

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

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

  • Физическое имя: полное имя элемента
  • DatasetSubtype1. Для классов пространственных объектов и каталогов растров атрибут DatasetSubtype1 хранит тип объекта таблицы. Для топологий этот атрибут хранит идентификатор топологии.
  • DatasetSubtype2. Для классов пространственных объектов и каталогов растров атрибут DatasetSubtype2 хранит тип геометрии. Для классов отношений этот атрибут хранит значение, определяющее, является ли отношение атрибутивным или неатрибутивным.
  • DatasetInfo1. Хранит имя поля формы для элементов класса пространственных объектов
  • DatasetInfo2. Хранит сведения для классов пространственных объектов, которые участвуют в топологии
  • Путь: уникальный относительный путь к элементу
  • URL. Связанный с элементом URL, используемый сервисами каталогов
  • Значения по умолчанию: метаданные элемента. Не используются напрямую базами геоданных, но используются другими клиентами, такими как сервисы метаданных ArcIMS
  • ItemInfo. Хранит для элемента такую информацию, как символы, не связанные с базовым набором данных

Таблица GDB_ItemTypes

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

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

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

  • UUID. Уникальный идентификатор типа элемента и внешний ключ к столбцу Тип таблицы GDB_Item
  • ParentTypeID. Родительский тип типа элемента

    Если элемент является абстрактным (у него нет родителя), UUID имеет значение NULL.

  • Имя: имя типа элемента, такого как класс пространственных объектов или интервальный домен
  • ObjectID. Уникальный идентификатор таблицы GDB_ItemTypes

Таблица GDB_ItemRelationships

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

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

  • UUID. Уникальный идентификатор отношений элемента
  • Тип: идентификатор UUID, определяющий тип взаимоотношения; соответствует уникальному идентификатору этого типа.
  • OriginID. Уникальный идентификатор начального элемента отношений.
  • DestinationID. Уникальный идентификатор конечного элемента отношений.
  • Атрибуты. Документ XML, содержащий подробные сведения об отношениях элемента

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

  • ObjectID. Уникальный идентификатор
  • Свойства: целочисленное значение, которое можно использовать в битовых масках значений для извлечения нескольких логических свойств элемента. В настоящий момент этот атрибут используется только для указания видимости элемента, участвующего в отношении, в ArcGIS Desktop.

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

Подсказка:

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

Таблица GDB_ItemRelationshipTypes

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

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

  • UUID. Уникальный идентификатор типа отношений элемента и основной ключ к столбцу Тип таблицы отношений элементов
  • Имя: имя типа отношений элемента, такого как DatasetInFolder
  • Прямая надпись: описание отношения "с точки зрения" начального элемента.
  • Обратная надпись: описание отношения "с точки зрения" конечного элемента.
  • Идентификатор типа начального элемента: UUID типа элемента, который может использоваться как начальный элемент в отношениях данного типа
  • Идентификатор типа конечного элемента: UUID типа элемента, который может использоваться как конечный элемент в отношениях данного типа
  • Удержание: указывает, может ли конечный элемент храниться после удаления начального элемента.
Подсказка:

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

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

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

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

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

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

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

Как связаны таблицы БГД

Для наилучшего понимания того, как работают вместе системные таблицы, описывающие функциональность базы геоданных, рекомендуется изучить их с помощью SQL. Если выбрать все строки и столбцы из таблицы элементов GDB_Items появится набор результатов, выглядящий примерно следующим образом (вместе со многими другими полями):

Значения, возвращаемые при опросе таблицы GDB_Items

Обратите внимание, что значения в столбце "Тип" хранятся в качестве идентификаторов UUID. Эти UUID могут решены с помощью таблицы GDB_ItemTypes, как это показано в запросе ниже:

SELECT gdb_items.UUID, gdb_itemtypes.name AS "Type", gdb_items.name
   FROM gdb_items INNER JOIN gdb_itemtypes
   ON gdb_items.type = gdb_itemtypes.UUID;

Возвращает результат, похожий на результат запуска простого выражения SELECT в таблице GDB_Items, но при этом использует UUID в столбце Type (Тип), замененный читаемыми строками.

Текстовые значения в столбце "Тип"

Аналогичным образом, таблица GDB_ItemRelationships также содержит идентификаторы UUID, которые являются значениями ключей из других таблиц. Каждое отношение содержит два значения UUID из таблицы GDB_Items выше: одно для элемента назначения отношений, а другое – для исходного элемента. Для их разрешения в читаемые строки необходимо присоединить таблицу GDB_ItemRelationships к таблице GDB_Items дважды, как это показано ниже:

--SQL Server and PostgreSQL query SELECT relationships.type,   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM gdb_items AS origin_items,   gdb_itemrelationships AS relationships,   gdb_items AS dest_items WHERE   origin_items.UUID = relationships.originid AND   dest_items.UUID = relationships.destid;
--Oracle query SELECT relationships.type,   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM sde.gdb_items origin_items,   sde.gdb_itemrelationships relationships,   sde.gdb_items dest_items WHERE   origin_items.UUID = relationships.originid AND
   dest_items.UUID = relationships.destid;

На рисунке ниже показан пример набора результатов, который может быть выведен после предыдущего запроса:

Текстовые значения имен элементов источника и назначения

Хотя здесь показаны отношения между элементами базы геоданных, требуется также тип отношений. Вы можете выполнить разрешение идентификатора UUID "Тип" посредством расширения предыдущего запроса с добавлением объединения с таблицей GDB_ItemRelationshipTypes:

--SQL Server and PostgreSQL query SELECT reltypes.name AS type,   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM gdb_items AS origin_items,   gdb_itemrelationships AS relationships,   gdb_items AS dest_items,   gdb_itemrelationshiptypes AS reltypes WHERE   origin_items.UUID = relationships.originid AND   dest_items.UUID = relationships.destid AND   relationships.type = reltypes.UUID;
--Oracle query SELECT reltypes.name AS type,   origin_items.name AS "Origin Name", dest_items.name AS "Dest Name"
FROM sde.gdb_items origin_items,   sde.gdb_itemrelationships relationships,   sde.gdb_items dest_items,   sde.gdb_itemrelationshiptypes reltypes WHERE   origin_items.UUID = relationships.originid AND   dest_items.UUID = relationships.destid AND
   relationships.type = reltypes.UUID;

При этом выводится следующее:

Текстовые значения в столбце "Тип" из таблицы GDB_ItemRelationshipTypes

Типичные запросы к таблицам GDB_

Информацию о наиболее употребляемых типах запросов SQL к таблицам GDB_ см. в следующих разделах:

  • Запросы отношений
  • Запросы к XML-столбцам
  • Пространственные запросы

Связанные разделы

  • Системные таблицы в базе геоданных в DB2
  • Системные таблицы в базе геоданных в Informix,
  • Системные таблицы в базе геоданных, хранящейся в Oracle
  • Системные таблицы в базе геоданных в PostgreSQL,
  • Системные таблицы в базе геоданных в SQL Server

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2018 Esri. | Конфиденциальность | Правовая информация