cs.karelia.ru Кафедра Информатики и Математического Обеспечения
Начало
Введение
XML и реляционные базы данных
Постановка задачи
Структуры для хранения данных
Реализация алгоритма
Примеры тестирования программы
Заключение
Материалы

Структуры для хранения данных

Визуальное представление.

visual

Для того, чтобы извлечь данные в формате SQL, выбраны запросы типа Insert с полной вставкой параметров.

--
-- Дамп данных таблицы `table1`
--
INSERT INTO `ttt.table1` (`param1`, `param2`, `param3`, `param4`, `param5`) VALUES ('a', 'a', 1, 1, 'a');
INSERT INTO `ttt.table1` (`param1`, `param2`, `param3`, `param4`, `param5`) VALUES ('b', 'b', 2, 2, 'b');
INSERT INTO `ttt.table1` (`param1`, `param2`, `param3`, `param4`, `param5`) VALUES ('c', 'c', 3, 3, 'c');
INSERT INTO `ttt.table1` (`param1`, `param2`, `param3`, `param4`, `param5`) VALUES ('d', 'd', 3, 3, 'd');

Далее приводится формат XML в который экспортируются записи базы данных, так как был написан xml-парсер, не составляет особого труда привести формат результирующего файла для описания метаданных.
Показана общая структура для XML-документа, выбранного при разработки:

<xml>
  <ttt>
  <!-- table table1 -->
    <table1>
      <param1>a</param1>
      <param2>a</param2>
      <param3>1</param3>
      <param4>1</param4>
      <param5>a</param5>
    </table1>
  </ttt>
</xml>

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

Array
(
    [0] => xml2sql Object
        (
            [tag] => xml
            [value] =>
            [attributes] =>
            [next] => Array
                (
                    [0] => xml2sql Object
                        (
                            [tag] => ttt
                            [value] =>
                            [attributes] =>
                            [next] => Array
                                (
                                    [0] => xml2sql Object
                                        (
                                            [tag] => table1
                                            [value] =>
                                            [attributes] =>
                                            [next] => Array
                                                (
                                                    [0] => xml2sql Object
                                                        (
                                                            [tag] => param1
                                                            [value] => a
                                                            [attributes] =>
                                                            [next] =>
                                                        )
                                                    [1] => xml2sql Object
                                                        (
                                                            [tag] => param2
                                                            [value] => a
                                                            [attributes] =>
                                                            [next] =>
                                                        )
                                                    [2] => xml2sql Object
                                                        (
                                                            [tag] => param3
                                                            [value] => 1
                                                            [attributes] =>
                                                            [next] =>
                                                        )
                                                )
                                        )
                                )
                        )
                )
        )
)
Петрозаводск – 2006
Valid HTML 4.01! Valid CSS! Yellow Pages HotLog