Автор: Пользователь скрыл имя, 01 Мая 2012 в 17:05, курсовая работа
Цель данной работы – исследовать способы хранения XML в базах данных, выявить их достоинства, недостатки, область применения. Для достижения данной цели необходимо решить следующие задачи:
а) выявить особенности языка XML;
б) определить и проанализировать существующие способы хранения XML;
в) определить область применения способов хранения;
г) определить существующие на практике критерии выбора способа хранения;
д) реализовать один из способов хранения XML в базе данных.
Введение
1 ОБЩЕСИСТЕМНЫЙ РАЗДЕЛ
1.1 Языки разметки
1.2 Язык разметки XML
1.2.1 Особенности XML
1.2.2 Синтаксис XML
1.2.3 Структура XML
1.3 Базы данных и системы управления базами данных
1.3.1 Общие понятия о базах данных и системах управления базами данных
1.3.2 Реляционные системы управления базами данных
1.4 Хранение XML
1.4.1 Задача хранения
1.4.2 Документы и данные
1.4.3 Способы хранения XML-документов
1.4.3.1 Хранение в файловой системе
1.4.3.2 Хранение в реляционной базе данных
1.4.3.3 Хранение в БД поддерживающей XML
1.4.3.4 Хранение в специализированных xml-серверах (истинных БД)
1.4.4 Критерии выбора способа хранения
1.5 Обзор готовых продуктов
2 СПЕЦИАЛЬНЫЙ РАЗДЕЛ
2.1 Постановка задачи
2.2 Выбор способа представления XML в РСУБД
2.3 Разработка схемы базы данных
2.4 Выбор средств реализации
2.4.1 Выбор системы управления базами данных
2.4.2 Выбор языка программирования
2.5 Разработка интерфейсного ПО
2.6 Инструкция по применению
ЗАКЛЮЧЕНИЕ
Список использованных источников
Приложение
Приложение А
Приложение Б
$mysqli->query("start transaction");
$left = $row['nodeLeft_id'] + 1;
$right = $row['nodeLeft_id'] + 2;
$mysqli->query("update nodesXML set nodeRight_id=nodeRight_id+'2' where nodeRight_id > '{$row['nodeLeft_id']}'");
$mysqli->query("update nodesXML set nodeLeft_id=nodeLeft_id+'2' where nodeLeft_id > '{$row['nodeLeft_id']}'");
$mysqli->query("insert into nodesXML values ('0','{$_POST['doc_id']}','
$mysqli->query("commit");
}
}
if (!isset($_POST['getFromDB']))
{
return;
}
if ( $_POST['doc_id'] != "##")
{
$doc_id = $_POST['doc_id'];
}
$result = "";
$resultLeft = "";
$resultRight = "";
if ( !$result = $mysqli->query("select concat('<',nodeName,' ',attrList,'> ', nodeValue) as cont, nodeLeft_id from nodesXML where doc_id='$doc_id' union select concat('</',nodeName,'>'), nodeRIght_id as nr from nodesXML where doc_id='$doc_id' order by 2"))
{
printf("Error: %s<br>",$mysqli->error);
exit();
}
while ( $row = $result->fetch_array() ){
$xmlstr = $xmlstr.$row['cont'];
}
$fmt = new XML_Beautifier();
$result = $fmt->formatString($xmlstr);
echo '<pre>';
echo htmlentities($result);
echo '</pre>';
exit();
?>
</html>
Конфигурационный файл для подключения к БД
CONFIG.CONF
<?php
# [db info]
$cfg['user'] = 'root';
$cfg['password'] = '';
$cfg['db'] = 'offerXML';
$cfg['host'] = 'localhost';
# [/b info]
?>
4
Информация о работе Методы хранения XML в реляционных базах данных