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

Реализация алгоритма

Было разработано приложение в виде класса на языке PHP версии 5, реализующее данные функции.

Приложение реализует такие функции как:

Конвертирование базы данных в XML

convert_db_to_xml($host, $username, $password, $database)

Параметры: хост (строка), имя пользователя базы данных(строка), пароль(строка), база данных(строка).
Результат: xml-данные.

Конвертирование таблицы из базы данных в XML

convert_table_to_xml($host, $username, $password, $database, $table)

Параметры: хост (строка), имя пользователя базы данных(строка), пароль(строка), база данных(строка), таблица из базы данных(строка).
Результат: xml-данные.

Конвертирование базы данных в SQL

convert_db_to_sql($host, $username, $password, $database)

Параметры: хост (строка), имя пользователя базы данных(строка), пароль(строка), база данных(строка).
Результат: sql-запросы.

Конвертирование таблицы из базы данных в SQL

convert_table_to_sql($host, $username, $password, $database, $table)

Параметры: хост (строка), имя пользователя базы данных(строка), пароль(строка), база данных(строка), таблица из базы данных(строка).
Результат: sql-запросы.

XML-парсер. Конвертирование xml-данных в структуру, которая используется в переводах между xml и базой данных:

convert_xml_to_array($string)

Параметр: содержимое 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] =>
                                                        )
                                                )
                                        )
                                )
                        )
                )
        )
)

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

Конвертирование структуры в SQL

convert_array_to_sql($array)

Параметр: структура.
Результат: sql-запросы.

Перевод XML в SQL

convert_xml_to_sql($string)

Параметр: содержимое xml-файла.
Результат: sql-запросы.

Исходный текст реализации можно посмотреть тут.

Петрозаводск – 2006
Valid HTML 4.01! Valid CSS! Yellow Pages HotLog