Столбцы XML в базе геоданных в Informix

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

Чтобы использовать столбцы ArcSDE XML, необходимо установить в базе данных модули Basic Text Search или Excalibur Text Search DataBlade.

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

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

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

В ArcSDE XML, для управления столбцами XML используются три системные таблицы базы геоданных: sde_xml_columns, sde_xml_index_tags и sde_xml_index. Эти таблицы принадлежат администратору ArcSDE. ArcSDE создает также для каждого столбца 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

серийный

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

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

NOT NULL

registration_id

integer

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

NOT NULL

column_name

varchar(32)

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

NOT NULL

index_id

integer

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

minimum_id

integer

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

config_keyword

varchar(32)

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

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

xflags

integer

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

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

sde_xml_indexes

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

Имя поля

Тип поля

Описание

Null?

index_id

серийный

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

NOT NULL

index_name

varchar(32)

Имя индекса XPath

NOT NULL

владелец

varchar(32)

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

NOT NULL

index_type

integer

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

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

NOT NULL

description

varchar(64)

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

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

sde_xml_index_tags

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

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

Имя поля

Тип поля

Описание

Null?

index_id

integer

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

NOT NULL

tag_id

серийный

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

NOT NULL

tag_name

nvarchar(255)

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

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

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

NOT NULL

Тип данных (data_type)

integer

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

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

NOT NULL

tag_alias

integer

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

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

description

varchar(64)

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

is_excluded

integer

Значение, указывающее на то, включен ли 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

integer

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

NOT NULL

doc_property

integer

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

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

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

xml_doc

BLOB

XML-документ

NOT NULL

xml_doc_val

CLOB

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

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

sde_xml_idx<column_id>

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

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

Имя поля

Тип поля

Описание

Null?

xml_key_column

серийный

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

NOT NULL

sde_xml_id

integer

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

NOT NULL

tag_id

integer

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

NOT NULL

double_tag

double precision

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

string_tag

nvarchar(255)

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

text_tag

CLOB

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

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

Системные таблицы столбцов ArcSDE XML в Informix

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

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

5/10/2014