Столбцы XML в базе геоданных, хранящейся в Oracle

XML - это открытый стандарт определения элементов данных в документах. Для хранения данных XML в базе данных Oracle, вы можете использовать собственные столбцы XML в Oracle, или столбцы ArcSDE XML.

XML-столбцы в ArcGIS for Desktop

В базы геоданных XML-столбцы поддерживаются не полностью. Поэтому верно следующее:

Столбцы XML в СУБД Oracle

Существует два различных типа столбцов XML, которые вы можете использовать: ArcSDE XML или Oracle XML. Какой тип вы будете использовать в наборе данных, создаваемом в базе геоданных, задается параметром XML_COLUMN_STORAGE в таблице DBTUNE. По умолчанию, значением параметра является SDE_XML.

Обратитесь к документации по Oracle для получения более подробной информации об Oracle XML.

Столбцы ArcSDE XML

Документы ArcSDE XML хранятся в базе данных виде объектов Oracle Large Object (LOB). Параметры хранения и кэширования LOB, размеры блоков табличного пространства и конфигурация кэша буфера влияют на скорость получения данных LOB, что в свою очередь влияет на производительность при поиске.

Для ArcSDE XML существует три системные таблицы базы геоданных ArcSDE, используемые для управления XML-столбцами: SDE_XML_COLUMNS, SDE_XML_INDEX_TAGS и SDE_XML_INDEXES. Данные таблицы принадлежат администратору базы геоданных. Существует еще две дополнительные таблицы для каждого XML-столбца, используемые для хранения и индексирования XML-документов: SDE_XML_DOC<COLUMN_ID> и SDE_XML_IDX_<COLUMN_ID>. Данные таблицы принадлежат пользователю, который является владельцем бизнес-таблицы, содержащей XML-столбец.

Следующие таблицы создаются при использовании ArcSDE XML. Эти таблицы используются для хранения и индексирования XML-документа.

ВниманиеВнимание:

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

SDE_XML_COLUMNS

При добавлении XML-столбца ArcSDE в бизнес-таблицу в таблицу SDE_XML_COLUMNS добавляется строка. Данная таблица используется один раз для каждой базы данных ArcSDE.

Имя поля

Тип поля

Описание

Null?

COLUMN_ID

NUMBER

Идентификатор XML-столбца и первичного ключа для таблицы

Данное значение присваивается ArcSDE при каждом создании XML-столбца ArcSDE.

NOT NULL

REGISTRATION_ID

NUMBER

Идентификатор бизнес-таблицы, содержащий XML-столбец ArcSDE и внешний ключ для системной таблицы TABLE_REGISTRY.

NOT NULL

COLUMN_NAME

NVARCHAR2(32)

Имя XML-столбца ArcSDE в бизнес-таблице.

NOT NULL

INDEX_ID

NUMBER

Идентификатор индекса XPath, связанный с XML-столбцом ArcSDE (если имеется), и внешний ключ для таблицы SDE_XML_INDEXES.

MINIMUM_ID

NUMBER

Значение исходного номера, используемое в XML-столбце ArcSDE бизнес-таблицы, для идентификации отдельных XML-документов.

CONFIG_KEYWORD

NVARCHAR2(32)

Ключевое слово конфигурации DBTUNE, для которого параметры определяет способ создания XML-документа, таблиц индекса XML XPath, а также текстовых индексов таблиц в базе данных

Для дополнительной информации о ключевых словах DBTUNE и их параметрах см. Что представляют собой ключевые слова конфигурации DBTUNE и их параметры? (What are DBTUNE configuration keywords and parameters?) и Параметры конфигурации DBTUNE в Oracle (DBTUNE configuration parameters in Oracle).

XFLAGS

NUMBER

Значение, указывающее на то, как сохранены исходные документы в таблице XML-документе: в сжатом или несжатом виде

По умолчанию документы сжимаются; сжатые документы обеспечивают лучшую производительность.

SDE_XML_INDEXES

Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XML-столбца ArcSDE, имеющего индекс XPath.

Имя поля

Тип поля

Описание

Null?

INDEX_ID

NUMBER

Идентификатор индекса XPath и первичного ключа для таблицы

NOT NULL

INDEX_NAME

NVARCHAR2(32)

Имя индекса XPath

NOT NULL

OWNER

NVARCHAR2(32)

Пользователь базы данных, владеющий XML-столбцом ArcSDE

NOT NULL

INDEX_TYPE

NUMBER

Значение, указывающее на тип индекса XPath

Для ArcSDE версии 9.1 и позднее значение равно 2 для типа индекса SE_XML_INDEX_DEFINITION и 1 для типа индекса SE_XML_INDEX_TEMPLATE.

NOT NULL

DESCRIPTION

NVARCHAR2(64)

Текст, идентифицирующий индекс XPath

Если для создания индекса использовался файл определения индекса, то описание индекса может быть указано в верхней части файла.

SDE_XML_INDEX_TAGS

XML-столбец ArcSDE может иметь дополнительный индекс XPath, который позволяет вам выполнять поиск содержимого отдельно XML-элемента или атрибута в каждом документе. Определение элементов и атрибутов, которые включены в каждый индекс XPath или исключены из него приведены в данной таблице.

Данная таблица используется один раз для каждой базы геоданных. Она содержит одну строку для каждого XPath, связанного с индексом XPath XML-столбца ArcSDE.

Имя поля

Тип поля

Описание

Null?

INDEX_ID

NUMBER

Идентификатор индекса XPath, связанный с XML-столбцом ArcSDE (если имеется), и внешний ключ для таблицы SDE_XML_INDEXES.

NOT NULL

TAG_ID

NUMBER

Идентификатор XPath или тега

NOT NULL

TAG_NAME

NVARCHAR2(1024)

Абсолютное значение XPath, определяющее XML-элемент или атрибут, содержащийся в XML-документе

Например, /metadata/mdDateSt определяют XML-элемент, а /metadata/dataIdInfo/tpCat/TopicCatCd/@value определяют XML-атрибут.

Данные XPath не должны содержать символа звездочка (*) для ссылки на группу XML-элементов или атрибутов — каждый элемент определяется точно с использованием XPath, указанных в данной таблице. Элементы не могут иметь имя * в корректном XML-документе.

NOT NULL

DATA_TYPE

NUMBER

Значение, указывающее на то, имеет ли XML-элемент или атрибут индекс числа, varchar или текста

Значение 1 указывает на то, что содержимое тега проиндексировано как тест; значение 2 указывает на то, что содержимое тега проиндексировано как число; значение 3 указывает на то, что содержимое тега проиндексировано как varchar.

NOT NULL

TAG_ALIAS

NUMBER

Число, которое может быть использовано для идентификации XPath

Например, протокол связи Z39.50 использует числовые коды для ссылки на содержимое, по которому может выполнятся поиск.

DESCRIPTION

NVARCHAR2(64)

Текст, определяющий содержимое, которое должно содержаться в XML-элементе или атрибуте

IS_EXCLUDED

NUMBER

Значение, указывающее на то, включен ли XML-элемент в индекс XPath или исключен из него

  • 0 = XPath включен.
  • 1 = XPath исключен.

NOT NULL

SDE_XML_DOC<COLUMN_ID>

В таблице SDE_XML_DOC<COLUMN_ID> хранится XML-документ и поддерживается полнотекстовый индекс содержимого XML-документа. База геоданных содержит одну из этих таблиц для каждого XML-столбца ArcSDE. Число в имени таблицы является идентификатором XML-столбца ArcSDE. Данная таблица содержит одну строку для каждого XML-документа, сохраненного в XML-столбце ArcSDE.

Имя поля

Тип поля

Описание

Null?

SDE_XML_ID

NUMBER

Идентификатор XML-документа, хранящегося в XML-столбце ArcSDE и первичного ключа для таблицы

NOT NULL

DOC_PROPERTY

NUMBER

Значение, указывающее на наличие конфликтов при добавлении содержимого XML-документа в индекс XPath

1 = найден конфликт, например, когда предполагалось, что элемент имеет цифровое индексирование, а документ содержит строку в данном элементе.

Значение NULL = при индексации документа проблемы не обнаружены.

XML_DOC

BLOB

XML-документ

NOT NULL

XML_DOC_VAL

BLOB

Содержимое полного XML-документа со всеми XML-тегами и другие пометки удалены

По умолчанию на данном столбце построен текстовый индекс; данный индекс используется для ответа на полнотекстовые запросы.

SDE_XML_IDX<COLUMN_ID>

Таблица SDE_XML_IDX<COLUMN_ID> создается для XML-столбцов ArcSDE и имеет текстовый индекс XPath. В данной таблице хранится текстовое или числовое содержимое для каждого индексированного XPath.

ID в имени таблицы является внутренним регистрационным номером XML-столбца ArcSDE.

Имя поля

Тип поля

Описание

Null?

XML_KEY_COLUMN

NUMBER

Идентификатор для индексированного значения и первичного ключа для таблицы

NOT NULL

SDE_XML_ID

NUMBER

Идентификатор XML-документа, содержащего индексированное значение

NOT NULL

TAG_ID

NUMBER

Идентификатор для тега, связанного с индексом XPath XML-столбца ArcSDE, который определяет место хранения значения в документе.

NOT NULL

DOUBLE_TAG

FLOAT(126)

Индексированное значение, когда тег определяется как DOUBLE в определении индекса XPath

STRING_TAG

NVARCHAR2(256)

Индексированное значение, когда тег определяется как VARCHAR в определении индекса XPath

TEXT_TAG

CLOB

Индексированное значение, когда тег определяется как STRING в определении индекса XPath

Далее приведена схема таблицы с XML-столбцом ArcSDE и системные таблицы, используемые для слежения за ней. Пунктирные линии указывают на неявные отношения; сплошные линии указывают на явные отношения между таблицами.

Назначает бизнес-таблицу и системные таблицы для поддержки столбцов ArcSDE XML в Oracle

XML-столбцы в XML-документе

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

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

5/10/2014