Классика баз данных - статьи

       

Использование для описания данных


Одной из особенностей XML, привлекающей внимание промышленности, является возможность описания структур данных и хранимых данных. Предыдущий пример показывает, что с использованием XML можно определить новые теги специально для описания эквивалента таблиц и столбцов (или сущностей и атрибутов) в структуре реляционной базы данных. Еще более существенно то, что теги для набора столбцов или атрибутов могут связываться с тегами для их родительской таблицы или сущности. Хотя теговая структура кажется хорошим механизмом для описания и понимания структуры базы данных, способ организации данных требует как никогда ранее строгой дисциплины. XML не запрещает иметь повторяющиеся группы, чудовищные структуры данных и т.д. При желании использовать XML для выражения структуры данных нужно проделать настолько хорошую работу, нсколько это позволяет используемый инструмент.

Следуя традиции химиков и астрономов OMG сформировала набор тегов, названный XML Metadata Interchange (XMI), с целью предоставления возможности описания в стандартных терминах структуры данных о данных ("метаданных"). Этот стандарт будет полезен для обмена метаданными между CASE-средствами и для описания "репозитория метаданных" в проектах хранилищ данных. Двигаясь в том же направлении, группа компаний (включающая, в частности, IBM и Oracle) находится в процессе определения Common Warehouse Metadata Interchange (CWMI), подмножества XMI для поддержки хранилищ данных.

Это означает, что имеются два подхода к описанию структуры базы данных на XML:

  • Во-первых, прикладную базу данных может описывать DTD XML-документа. В этом случае операционные данные базы данных могут быть размещены между наборами описанных тегов. Такое DTD может, например, генерироваться одним CASE-средством, а читаться другим, обеспечивая способ передачи структуры данных.
  • Во-вторых, можно разместить сами определения таблицы и столбцов между тегами XMI, определенными на более высоком уровне абстракции. Этот подход немного более хитрый, поскольку метамодель XMI очень абстрактна, но использование метамодели XMI позволяет описывать намного больше, чем таблицы и столбцы.


    Однако заметим, что проблема определения репозитория метаданных или обмена метаданными между CASE-средствами не связана с использованием XML или какого-либо другого языка. Проблемой является структура и семантика базы данных. Важный вопрос состоит не в том, как будет представляться универсальный репозиторий метаданных. (Можно легко представить репозиторий в виде набора реляционных таблиц или диаграмм сущность/связь.) Вопросы состоят в том, что находится в репозитории и что это означает? Какие объекты являются существенными и должны быть описаны? Это гораздо более сложная тема, и она все еще находится в стадии обсуждения. Наличие нового языка не вносит существенный вклад в это обсуждение.

    На самом деле при наличии понимания, что XML является хорошим средством для описания структуры базы данных, наиболее очевидным выводом является то, что испоьзование этого языка накладывает большую ответственность на администраторов данных по поводу корректности определения данных. XML не обеспечивает такую корректность; XML всего лишь регистрирует любой проект данных, поступающий от разработчика.

    Как говорит Клайв Финкельштейн (Clive Finkelstein), появление XML повышает важность моделирования и проектирования данных: "После 15 лет безвестности люди, занимающиеся моделированием данных, могут в конце концов добиться мгновенного успеха".

    Автор статьи приносит благодарность Клайву Финкельштейну, познакомившему его с XML и потратившему много времени на чтение и исправление этой статьи.



    Содержание раздела